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)
Установить
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