更新动态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 在包中分发。