maxhoesel.ddclient

maxhoesel.ddclient

Очень минимальная роль для установки и настройки ddclient из GitHub. Также настраивает сервис systemd для включения режима демона для ddclient.

Требования

  • Недавняя версия Ansible. Эта роль поддерживает 2 последних крупные версии 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
  • PID-файл для демона ddclient
  • По умолчанию: /var/run/ddclient.pid
ddclient_systemd_unit
  • Имя юнит-файла для демона ddclient
  • По умолчанию: ddclient

Настройка

ddclient_interval
  • Количество секунд между проверками IP для DynDNS
  • По умолчанию: 300
ddclient_mail
  • Отправлять все обновления на этот адрес пользователя/почты
  • По умолчанию: root
ddclient_mail_failure
  • Отправлять все ошибки на этот адрес пользователя/почты
  • По умолчанию: root
ddclient_entries
  • Список конфигурационных записей ddclient
  • Каждая запись содержит список параметров и список доменов
    • Параметры соответствуют параметрам ddclient 1:1
  • Пример:
    - options:
        protocol: cloudflare
        zone: domain.tld
        ttl: 60
        login: ваш-логин-почта
        password: APIKey
      domains:
        - domain.tld
        - my.domain.tld
    

Поиск IP

Конфигурационные параметры для определения, как ddclient получает IP-адреса, которые необходимо обновить через DynDNS. По умолчанию все эти параметры не установлены, что означает, что ddclient будет использовать свои встроенные значения по умолчанию.

ПРИМЕЧАНИЕ: Большинство параметров ниже можно установить как для IPv4, так и для IPv6.

ddclient_strategy_usev[4/6]
  • Установить стратегию для определения IP-адреса IPv4/6 для обновлений DynDNS
  • Опции включают webv[4/6], if[4/6], ip[4/6], fw, cmd
  • По умолчанию: не определено
ddclient_strategy_ipv[4/6]
  • Установить статический IP при использовании стратегии ip
  • По умолчанию: не определено
ddclient_strategy_ifv[4/6]
  • Получить IP-адрес с заданного интерфейса при использовании стратегии if
  • По умолчанию: не определено
ddclient_strategy_webv[4/6]
  • Получить IPv4-адрес из веб-сервиса для обнаружения IP, либо из известного сервиса, либо по пользовательскому URL
  • По умолчанию: не определено
ddclient_strategy_webv[4/6]_skip
  • См. документацию ddclient
  • По умолчанию: не определено
ddclient_strategy_fwv[4/6]
  • Получить IP-адрес с устройства с этим IP-адресом или URL
  • По умолчанию: не определено
ddclient_strategy_fwv[4/6]_skip
  • Пропустить любые IP-адреса перед этим шаблоном в тексте, возвращаемом устройством
  • По умолчанию: не определено
ddclient_strategy_fw_login
  • Использовать этот логин при получении IP с устройства
  • По умолчанию: не определено
ddclient_strategy_fw_password
  • Использовать этот пароль при получении IP с устройства
  • По умолчанию: не определено
ddclient_strategy_cmdv[4/6]
  • Получить IPv4 адрес из вывода этой команды
  • По умолчанию: не определено

Пример Playbook

- hosts: all
  tasks:
    - name: Установить ddclient
      include_role:
        name: maxhoesel.ddclient
      vars:
        ddclient_entries:
        - options:
            protocol: cloudflare
            zone: domain.tld
            ttl: 1 # автоматическое
            login: ваш-логин-почта
            password: APIKey
          domains:
            - domain.tld
            - my.domain.tld
        # Определение IPv4-адреса с использованием dyndns
        ddclient_strategy_usev4: webv4
        ddclient_strategy_webv4: dyndns
        # Получение IPv6-адреса из eth0
        ddclient_strategy_usev6: ifv6
        ddclient_strategy_ifv6: eth0

Лицензия

GPL 3 или новее

Информация об авторе

Создано и поддерживается Максом Хёселем (@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