Налаштування клієнта DDNS

Дивіться також: Документація клієнта DDNS

  • Через функціональні розширення не всі параметри підтримуються в усіх версіях OpenWrt.
  • У описах до опцій вказується, які версії підтримуються, якщо опція доступна не у всіх версіях.
  • Майте на увазі, що ddns-scripts призначені для підтримки ОДНОГО хоста або однієї версії IP-протоколу в межах одного розділу конфігурації.
  • Починаючи з BB 14.07, ddns-scripts підтримує лише оновлення IPv4-адрес.
  • Починаючи з версії ddns-scripts 2.7.6 (trunk), назви параметрів змінено для кращої функціональної групації.
  • При оновленні ddns-scripts до новіших версій, назви параметрів будуть автоматично змінені у вже наявних конфігураційних файлах.
  • Додатково деякі опції також доступні глобально, тому їх не потрібно вказувати для кожного розділу сервісу.
  • Опції, визначені всередині розділу сервісу, перекривають глобальні налаштування.

Файл /etc/config/ddns містить конфігурацію для пакету ddns-scripts.

Останню версію повністю документованого файлу ddns.sample_config можна знайти на GitHub.
За замовчуванням мінімальні налаштування виглядають так:

config service "myddns_ipv4"
  option service_name "example.org"
  option domain       "yourhost.example.org"
  option username     "your_username"
  option password     "your_password"
  option interface    "wan"
  option ip_source    "network"
  option ip_network   "wan"

:!: Підтримується починаючи з версії CC 15.05

config service "myddns_ipv6"
  option use_ipv6     "1"
  option service_name "example.org"
  option domain       "yourhost.example.org"
  option username     "your_username"
  option password     "your_password"
  option interface    "wan6"
  option ip_source    "network"
  option ip_network   "wan6"

\

\

:!: Ви повинні створити розділ “service” для кожного провайдера DDNS і хоста, який ви хочете обслуговувати.
:!: Так само — окремо для IPv4- та IPv6-адрес. (Починаючи з CC 15.05)

Назва (стара) Назва (нова) Тип Обов'язково За замовчуванням Опис
enabled boolean так '0' Вимикає (0) / вмикає (1) цю секцію DDNS.
interface network name так (немає) Вказує мережевий інтерфейс (наприклад, WAN), з якого буде визначатися зовнішня IP-адреса. Сценарій запускається при появі інтерфейсу через hotplug.
use\_ipv6 boolean ні '0' До BB 14.07IPv6 не підтримується. З CC 15.05 — вказує, яку IP-адресу оновлювати: IPv4 (0) або IPv6 (1).
service\_name string так(*) (немає) Назва DDNS-сервісу. Вибрати зі списку /usr/lib/ddns/services або services\_ipv6 (для IPv6). Якщо сервісу немає — використовуйте update\_url або update\_script.
update\_url string так(*) (немає) URL для оновлення IP, згідно з документацією провайдера. Не використовувати разом з service\_name.
update\_script string ні (немає) Шлях до кастомного скрипта для оновлення IP. Альтернатива service\_name та update\_url.
domain string так (немає) DNS-ім'я, яке оновлюється. Навіть якщо провайдер не вимагає — обов'язково для локальної перевірки.
username string так(*) (немає) Логін облікового запису DDNS. Якщо не потрібен — вказати “X”.
password string так(*) (немає) Пароль або токен DDNS. Якщо не потрібен — вказати “X”.
use\_https boolean ні '0' Вмикає HTTPS. Потрібні пакети Wget або cURL.
cacert string ні(*) (немає) Сертифікат або директорія сертифікатів. Для HTTPS. Значення IGNORE — не перевіряти сертифікат.
ip\_source string так 'network' Джерело для визначення IP: network, web, interface або script.
ip\_network string ні(*) 'wan' Назва мережі з /etc/config/network (наприклад, wan). Потрібна для ip\_source = 'network'.
ip\_url string ні(*) (немає) URL для визначення IP через веб. Приклад: [http://checkip.dyndns.org/](http://checkip.dyndns.org/). Потрібна для ip\_source = 'web'.
ip\_interface string ні(*) (немає) Локальний інтерфейс (наприклад, eth1) для визначення IP. Для ip\_source = 'interface'.
ip\_script string ні(\*) (немає) Скрипт для визначення IP. Має бути виконуваним. Для ip\_source = 'script'.
check\_interval number ні '10' Період перевірки зміни IP. Одиниці: seconds, minutes, hours. Не менше 5 хв.
check\_unit string ні 'minutes' Одиниця часу для check\_interval.
force\_interval number ні '72' Форсоване оновлення, навіть якщо IP не змінився.
force\_unit string ні 'hours' Одиниця часу для force\_interval.
retry\_interval number ні '60' Затримка перед повторною спробою після помилки.
retry\_unit string ні 'seconds' Одиниця часу для retry\_interval.
retry\_max\_count number ні '0' Кількість повторів при помилці. '0' — нескінченно.
use\_syslog boolean ні '0' Логування в syslog. Рівні 1-4 = різні рівні повідомлень.
use\_logfile boolean ні '1' Логування у файл /var/log/ddns/\[sectionname].log
dns\_server string ні (немає) DNS-сервер для порівняння зареєстрованої IP.
force\_dnstcp boolean ні '0' Використовувати TCP для DNS. Для деяких провайдерів це необхідно.
proxy string ні (немає) Проксі-сервер для HTTP/HTTPS. Не рекомендується з ip\_source = 'web'.
force\_ipversion boolean ні '0' Форсувати IP-версію (IPv4 або IPv6). Потребує Wget або cURL та BIND host.
bind\_network string ні (немає) Мережа для комунікації при оновленнях.
lookup\_host string так (немає) Хост для перевірки зареєстрованої IP.
rec\_id string ні (немає) Для CloudFlare — вказує конкретний DNS-запис.
is\_glue boolean ні '0' Якщо запис є glue-записом — порівняння проти glue. Потрібно вказати dns\_server.

\*\* Підтримується з CC 15.05 \*\* :!: Не рекомендується змінювати ці параметри без досвіду. :!: Підтримується лише ім’я розділу “global” :!: Використовується сценаріями ddns-scripts і luci-app-ddns.

Назва (стара) Назва (нова) Значення Обов'язково За замовчуванням Опис
allow\_local\_ip upd\_privateip boolean ні '0' Дозвіл надсилати приватні IP (10.0.0.0/8 тощо)
date\_format ddns\_dateformat string ні '%F %R' Формат дати для журналу та LuCI. \[\Див](http://www.cplusplus.com/reference/ctime/strftime/|Див). список кодів
run\_dir ddns\_rundir string ні '/var/run/ddns' Каталог для файлів \*.pid і \*.update
log\_dir ddns\_logdir string ні '/var/log/ddns' Каталог журналів для кожної секції
log\_lines ddns\_loglines number ні '250' Кількість рядків журналу перед обрізанням
use\_curl boolean ні '0' Якщо встановлено wget і curl — використовується wget. Встановіть '1' для використання curl.

:!: Wget 1.x не працює коректно з кількома WAN-інтерфейсами (наприклад, з mwan). \[\ Issue 8277

Причина: wget 1.x не може прив’язатися до інтерфейсу, лише до IP.

Рішення: використовуйте curl через опцію use\_curl.

або wget2. Він має підтримку bind-interface

:!: З червня 2021 року \[\ OpenDNS повертає помилку “badauth” при використанні Wget 1.x або uclient-fetch (стандарт у OpenWrt 21.02.0).

Причина: Wget 1.x потребує параметр командного рядка --auth-no-challenge для роботи з OpenDNS.

Рішення: Встановіть та використовуйте curl через опцію use\_curl = 1 у глобальній секції.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/30 08:40
  • by vazaz