Как переопределить предоставленный DHCP сервер имен?

Я (думаю), что я настроил статический IP-адрес в /etc/network/interfaces:

# The primary network interface 
auto eth0 
iface eth0 inet static
    address 10.1.1.2
    netmask 255.255.255.0
    network 10.1.1.0
    broadcast 10.1.1.255
    gateway 10.1.1.1

И я меняю файл /etc/resolv.conf включить желаемые серверы имен.

Затем я перезагружаю сеть sudo /etc/init.d/networking restart

Но через несколько часов resolv.conf всегда возвращается к серверу имен DHCP.


Я должен также сказать, что это Ubuntu Server только с l0 а также eth0 интерфейсы.

4 ответа

Решение

Если вы хотите переопределить или добавить серверы имен, предложенные сервером DHCP, вы можете настроить это в /etc/dhcp/dhclient.confНапример:

interface "eth0" {
    prepend domain-name-servers 10.0.0.2;
}

Вы также можете сделать это с помощью элемента управления "Редактировать соединения" в индикаторе сети в Unity или GNOME.

Решение, которое решит вашу проблему - это настроить resolvconf пакет. Это даст приоритет предпочитаемым вами серверам имен, а также любым другим желаемым параметрам настройки resolv.conf, таким как настройки поиска и домена.

Отредактируйте файл: /etc/resolvconf/resolv.conf.d/head

Поместите желаемые серверы имен и любые другие конфигурации, которые вы хотите использовать, когда произойдет изменение сети. Когда происходят какие-либо изменения в сети, конфигурация всегда будет иметь приоритет.

Примером /etc/resolvconf/resolv.conf.d/head файл:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 8.8.8.8
search mydomain.com

Посмотрите на ответ на похожий вопрос:
переопределить DNS-сервер имен

Замечания:
Обязательно иметь перевод строки после последней записи. Большинство редакторов автоматически предоставляют перевод строки при сохранении файла.

Я нашел ссылку на удаление клиента dhcp, я думаю, что это был главный виновник. Я сделал это и еще не видел проблемы. Будет ждать до утра, чтобы подтвердить, но похоже, что клиент dhcp все еще работал и должен был быть остановлен и удален.

apt-get remove isc-dhcp-client dhcp3-client dhcpcd

Как правило, всегда следует удалять все сетевые службы, используя apt-get --purge remove <package-name>, Таким образом, все файлы конфигурации также будут удалены.

В этом случае команда будет:

apt-get --purge remove isc-dhcp-client isc-dhcp-common

Эта команда полностью удалит isc-dhcp-client,

Другие вопросы по тегам