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)创建和维护

关于项目

Installs and configures ddclient

安装
ansible-galaxy install maxhoesel.ddclient
许可证
Unknown
下载
71.9k
拥有者
Junior Automation and Infrastructure Engineer, Bachelor in CompSci. I write Ansible content and DevOps-related tools, mostly in Rust