Назад | Перейти на главную страницу

Инструмент обновления клиента DNS Linux

Итак, я работаю в среде веб-хостинга, и у меня есть несколько коробок Linux в нашей, в основном, Windows-сети. Все машины (как Windows, так и Linux) в сети имеют как минимум два сетевых интерфейса, каждый со своим собственным DNS-суффиксом, поэтому мы можем отделить трафик резервного копирования и управления от рабочего веб-трафика.

Проблема в том, что сетевая карта резервного копирования / управления на каждой машине использует DHCP для получения адреса и регистрации в DNS, в то время как производственная сетевая карта является статической, а DHCP не подходит.

Конфигурация Windows относительно проста: мы настроили одну сетевую карту с DHCP не регистрироваться в DNS и просто оставили регистрацию DNS на сервере DHCP. Затем мы настраиваем NIC со статическим IP-адресом для регистрации в DNS, и все работает нормально. Я хочу, чтобы мой Linux boxen делал то же самое, и у меня выяснена сетевая карта DHCP, но я не нахожу много информации о том, как Linux автоматически регистрирует статический адрес в DNS.

Кто-нибудь делал что-нибудь подобное раньше?

Я знаю, что вы сказали, что DHCP не подходит для статических производственных сетевых адаптеров, но искали ли вы сервер DHCP, который раздает фиксированные адреса? Во всех смыслах и целях они ничем не уступают статическим IP-адресам, но с дополнительным преимуществом централизованного администрирования.

Это относительно просто сделать в Linux (и, как мне кажется, и в Windows).

Может быть, вы могли бы объяснить, почему фиксированные адреса через DHCP не подходят, и тогда мы сможем посмотреть, что с этим можно сделать.

Убедитесь, что nsupdate установлен, затем используйте его для регистрации своих имен. Единственная проблема с nsupdate заключается в том, что вам нужно будет разрешить незащищенные динамические обновления. Если ваша платформа не поддерживает nsupdate-gss, и ваши Linux-машины настроены с использованием Kerberos, чтобы быть частью домена.

У меня есть сценарий, который выглядит примерно так, я использую в нескольких ситуациях, например, при динамической регистрации клиентов OpenVPN. В реальном сценарии IP и фактическое имя хоста поступают от сервера vpn. Если вы используете дистрибутив на основе Debian, было бы довольно легко настроить этот скрипт и поместить его в /etc/network/if-up.d/.

#/bin/bash

dnssrv="192.168.47.12"   # the dns server that will accept the ddns request.
zone="dyn.example.org"   # the name of the zone
ttl="7200"               # 
hostname=`hostname`      # the name of your local host
ip='192.168.47.193'      # IP of the host

(
 echo "server ${dnssrv}"
 echo "zone ${zone}"
 echo "update delete ${farm}"
 echo "update add ${hostname}.${zone} ${ttl} A ${ip}"
 echo "send"
) | /usr/bin/nsupdate

Другой альтернативой может быть просто использование DHCP для обоих интерфейсов для настройки резервирования.