Динамический 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.io
on DNS serverns1.fakel.io
Use auth key file at
/config/auth/my.key
Set 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>
.