maxhoesel.ddclient
maxhoesel.ddclient
一个非常简约的角色,用于从GitHub安装和配置ddclient。 同时设置一个systemd服务,以启用ddclient的守护进程模式。
要求
- 最近的Ansible版本。此角色支持最新的两个主要Ansible版本。 较旧的版本可能仍然能工作,但不支持。
- 主机运行:
- Ubuntu 18.04 LTS或更新版本
- Debian 10或更新版本
- 其他发行版可能可以使用,但不支持(欢迎提交PR增加支持!)
角色变量
安装
ddclient_version
- 要安装的ddclient版本
- 可以是分支、标签、提交或其他git支持的值。
- 默认:
develop
ddclient_executable_path
- ddclient可执行文件的存放位置
- 默认是
/usr/local/sbin/ddclient
,以免与任何发行版包冲突。
ddclient_configfile
- ddclient安装使用的配置文件
- 默认:
/etc/ddclient.conf
ddclient_pidfile
- 用于ddclient守护进程的PID文件
- 默认:
/var/run/ddclient.pid
ddclient_systemd_unit
- ddclient守护进程的单元文件名称
- 默认:
ddclient
配置
ddclient_interval
- DynDNS IP检查之间的秒数
- 默认:
300
ddclient_mail
- 将所有更新发送到该用户/邮件地址
- 默认:
root
ddclient_mail_failure
- 将所有失败发送到该用户/邮件地址
- 默认:
root
ddclient_entries
- ddclient配置条目列表
- 每个条目包含一个选项列表和一个域名列表
- 选项与ddclient参数一一映射
- 示例:
- options: protocol: cloudflare zone: domain.tld ttl: 60 login: your-login-email password: APIKey domains: - domain.tld - my.domain.tld
IP查找
配置选项用于确定ddclient如何获取需要通过DynDNS更新的IP地址。 默认情况下,所有这些参数都未设置,这意味着ddclient将使用其内置默认值。
注意:下面的大多数参数可以为IPv4或IPv6设置。
ddclient_strategy_usev[4/6]
- 设置用于DynDNS更新的IPv4/6 IP地址的策略
- 选项包括
webv[4/6], if[4/6], ip[4/6], fw, cmd
- 默认:未定义
ddclient_strategy_ipv[4/6]
- 使用
ip
策略时设置静态IP - 默认:未定义
ddclient_strategy_ifv[4/6]
- 使用
if
策略时从给定接口获取IP地址 - 默认:未定义
ddclient_strategy_webv[4/6]
- 从一个基于网络的IP发现服务获取IPv4地址,可以是已知服务或自定义URL
- 默认:未定义
ddclient_strategy_webv[4/6]_skip
- 查看ddclient文档
- 默认:未定义
ddclient_strategy_fwv[4/6]
- 从具有此IP地址或URL的设备获取IP地址
- 默认:未定义
ddclient_strategy_fwv[4/6]_skip
- 跳过设备返回文本中该模式之前的任何IP地址
- 默认:未定义
ddclient_strategy_fw_login
- 从设备获取IP时使用此登录信息
- 默认:未定义
ddclient_strategy_fw_password
- 从设备获取IP时使用此密码
- 默认:未定义
ddclient_strategy_cmdv[4/6]
- 从此命令的输出中获取IPv4地址
- 默认:未定义
示例剧本
- hosts: all
tasks:
- name: 安装 ddclient
include_role:
name: maxhoesel.ddclient
vars:
ddclient_entries:
- options:
protocol: cloudflare
zone: domain.tld
ttl: 1 # 自动
login: your-login-email
password: APIKey
domains:
- domain.tld
- my.domain.tld
# 通过dyndns确定IPv4地址
ddclient_strategy_usev4: webv4
ddclient_strategy_webv4: dyndns
# 从eth0获取IPv6地址
ddclient_strategy_usev6: ifv6
ddclient_strategy_ifv6: eth0
许可证
GPL 3或更高版本
作者信息
由Max Hösel(@maxhoesel)创建和维护