Итак, я работаю в среде веб-хостинга, и у меня есть несколько коробок 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 для обоих интерфейсов для настройки резервирования.