Динамический DNS#
Описание#
ПО Факел умеет обновлять удаленную DNS запись, когда интерфейс получает новый IP адрес. Для этого в состав ПО Факел входит клиент ddclient.
Клиент ddclient использует два метода обновления DNS записей. Первый из них, в соответствии с RFC 2136, посылает обновления непосредственно демону DNS. Во втором случае используется сторонний сервис, например DynDNS.com или любой другой подобный сайт. Этот метод использует HTTP запросы для передачи нового IP адреса. В ПО Факел можно настроить оба способа.
Настройка#
Пример настройки#
Пример настройки динамической смены DNS записи.
Для настройки динамической смены DNS будут выполните следующие настройки:
Зарегистрируйте DNS запись
example.fakel.ioна DNS сервереns1.fakel.io.Используйте файл ключей аутентификации по адресу
/config/auth/my.key.Установить TTL равным 300 секундам
Register DNS record
example.fakel.ioon DNS serverns1.fakel.ioUse auth key file at
/config/auth/my.keySet TTL to 300 seconds
admin@fakel# show service dns dynamic
interface eth0.7 {
rfc2136 Fakel-DNS {
key /config/auth/my.key
record example.fakel.io
server ns1.fakel.io
ttl 300
zone fakel.io
}
}
В результате будет получена следующая запись конфигурации ddclient:
#
# ddclient configuration for interface "eth0.7":
#
use=if, if=eth0.7
# RFC2136 dynamic DNS configuration for example.fakel.io.ns1.fakel.io
server=ns1.fakel.io
protocol=nsupdate
password=/config/auth/my.key
ttl=300
zone=fakel.io
example.fakel.io
Примечание
Можно также поддерживать в актуальном состоянии различные зоны DNS. Для этого достаточно создать новый узел конфигурации: set service dns dynamic interface <interface> rfc2136 <other-service-name>.
Список команд#
Основные настройки#
- • set service dns dynamic interface <interface> rfc2136 <service-name>#
Создает новую конфигурацию обновления DNS для RFC 2136, которая будет обновлять IP-адрес, назначенный
<interface>на сервисе, настроенном в разделе<service-name>.
- • set service dns dynamic interface <interface> rfc2136 <service-name> key <keyfile>#
Определяет файл
<keyfile>, содержащий секретный ключ RNDC, совместно используемый с удаленным DNS сервером. Это опция является обязательной.
- • set service dns dynamic interface <interface> rfc2136 <service-name> server <server>#
Задает интерфейс, имя сервиса и адрес DNS сервера, используемые при обновлении данного динамического назначения.
- • set service dns dynamic interface <interface> rfc2136 <service-name> zone <zone>#
Задает обновляемую DNS
<zone>. Это опция является обязательной.
- • set service dns dynamic interface <interface> rfc2136 <service-name> record <record>#
Задает DNS запись
<record>, которая должна обновляться. Этот параметр может быть задан несколько раз. Это опция является обязательной.
- • set service dns dynamic interface <interface> rfc2136 <service-name> ttl <ttl>#
Задает значение TTL
<ttl>для записи ресурса. Значение по умолчанию равно 600 секундам.
Настройка сервисов на основе HTTP#
- • set service dns dynamic interface <interface> service <service> host-name <hostname>#
Определяет динамическое имя хоста
<hostname>, идентифицированным по определенному сервису<service>, при изменении IP адреса на интерфейсе<interface>.
- • set service dns dynamic interface <interface> service <service> login <username>#
Задает имя пользователя``<username>``, используемое при аутентификации запроса на обновление для службы определенной в поле
<service>.
- • set service dns dynamic interface <interface> service <service> password <password>#
Задает пароль
<password>, используемый при аутентификации запроса на обновление для службы определенной в поле<service>.
- • set service dns dynamic interface <interface> service <service> protocol <protocol>#
Определяет протокол
<protocol>, используемый при аутентификации запроса на обновление для службы определенной в поле<service>.
- • set service dns dynamic interface <interface> service <service> server <server>#
Определяет сервер
<server>, используемый при аутентификации запроса на обновление для службы определенной в поле<service>.
- • set service dns dynamic interface <interface> service <service> zone <zone>#
Задает зону DNS
<zone>для обновления. Это параметр доступен только для CloudFlare.
Настройка для работы с NAT#
По умолчанию ddclient обновляет динамическую dns-запись, используя IP-адрес, непосредственно подключенный к интерфейсу. Если ваше устройство находится за NAT, то запись будет обновлена и будет указывать на ваш внутренний IP адрес.
Чтобы ddclient определял внешние IP адреса необходимо выполнить следующие настройки:
- • set service dns dynamic interface <interface> use-web url <url>#
Задает значение параметра
<url>для определения вашего IP адреса. ddclient загрузит<url>и попытается извлечь ваш IP адрес из ответа.
- • set service dns dynamic interface <interface> use-web skip <pattern>#
Задает значение параметра
<pattern>. Клиент ddclient будет пропускать все адреса, расположенные до строки, заданной в поле<pattern>.