更新动态IP地址的DNS数据

ddupdate的Python项目详细描述


一般

ddupdate是一个工具,用于使用 例如dhcp。它使访问这样一个系统成为可能 一个固定的DNS名称,如myhost.somewhere.net,即使IP地址是 改变。它是一个以linux为中心、用户友好且安全的替代方案 无处不在的ddclient。

与ddclient相比,ddupdate更易于为用户配置。是的 也更灵活,并为一些已知的主机提供支持。 使用ddclient有问题。

状态

贝塔。插件api将在1.0.0之前保持稳定,并且 没有不兼容的cli更改。

在编写时,支持16项免费服务。还有7个 地址插件。总之,这应该涵盖基于 提供服务。

不过,这是beta版,而且很可能有漏洞。

依赖关系

  • python3 (tested on 3.6 and 3.4)
  • The /usr/sbin/ip command is used in some plugins.
  • python3-setuptools (build)
  • pkg-config (build)
  • The systemd package i. e., the systemd.pc file (build).

安装

ddupdate可以作为普通用户直接从克隆的git运行 目录。要使从任何地方运行成为可能,请创建符号链接:

$ ln -s $PWD/ddupdate $HOME/bin/ddupdate

也可以使用以下命令将其安装为pypi包:

$ sudo pip3 install ddupdate --prefix=/usr/local

有关使用pypi包的更多信息,请参见contribute.md。

ddupdate打包在一些发行版中:

  • Fedora 27 and later.
  • EPEL7 addons for RHEL/CentOS
  • Debian unstable/sid

contribution.md描述如何为其他Debian创建包 分布

ubuntu用户可以使用ppa在 https://launchpad.net/~leamas-alec/+archive/ubuntu/ddupdate

mageia用户可以从 https://copr.fedorainfracloud.org/coprs/leamas/ddupdate/。这个网站也 包含Fedora和Epel的预发布更新。

总的来说,使用本机软件包是 支持这一点的平台。

配置

这是一个快速通道,假设您使用的是本机包,并且 主流地址选项。如果遇到故障,请参阅手册 configuration.md.中描述的步骤

从运行`ddupdate --list-services`开始。选择支持的 使用`ddupdate --help <service>`进行服务和检查。

此时您需要在相关网站注册。平常的 步骤是首先创建一个帐户,然后使用该帐户创建 主人。这个进程应该以一个主机名、一个用户和一个秘密结束 密码(有些网站只使用api密钥)。

然后启动配置脚本`ddupdate-config`。剧本 引导您完成配置并更新几个文件,特别是 ~/.config/ddupdate.conf~/.netrc

运行脚本之后,应该可以运行 `ddupdate -l debug`没有错误消息。

工作时,systemd应按如下所述进行配置。

配置系统d

systemd设置为作为用户服务运行。从测试开始:

$ systemctl --user daemon-reload
$ systemctl --user start ddupdate.service
$ journalctl --user -u ddupdate.service

如果一切正常,请确保DDUPDATE每小时运行一次,使用:

$ systemctl --user start ddupdate.timer
$ systemctl --user enable ddupdate.timer

如果您希望机器一启动服务,并且 即使注销,也要继续执行:

$ sudo loginctl enable-linger $USER

如果出现问题,或者您希望更频繁地运行ddupdate, 使用systemctl–用户编辑ddupdate.service`或'systemctl–用户编辑 ddupdate.timer

配置NetworkManager

可以将networkmanager配置为在接口运行时启动/停止ddupdate 向上或向下。放入/etc/networkmanager/dispatcher.d 在包中分发。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Jena获取类上的OWL限制   我需要用javadoc记录每一个方法还是java中的“main”方法?   ssl我的Java密钥库中需要什么?   java如何在安卓中实现视图寻呼机适配器?   java LibreOffice 4.4.3在不同服务器上使用jodconverter访问文档   Selenium Webdriver(Java)脚本之间的时间延迟   混合使用路径参数和请求参数的java Rest API   爪哇超级。基类中的toString()方法?   java IntelliJ Idea 2019.2与NPW崩溃   java replaceAll不适用于以下查询   java递归相关:两个数的乘积   java在屏幕/活动之间切换,无需按钮   java试图在GridBagLayout中对齐JcheckBox   java安全远程密码协议SRP和Spring安全