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


12

Я (думаю), что я настроил статический 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интерфейсы.


Является ли resolvconfустановлен пакет?
Жиль "ТАК - перестань быть злым"

Вы пытаетесь использовать dhclient на другом сетевом интерфейсе (может быть, Wi-Fi или коммутируемый интерфейс), или dhclient неправильно работает на eth0, даже если он должен быть статическим?
пул

Есть только eth0 и lo0, IP-адрес, который я вручную установил, совпадает с IP-адресом DHCP, который я получу (DHCP-сервер всегда будет обслуживать один и тот же статический IP-адрес). Но я не хочу использовать сервер имен, заданный сервером DHCP, поэтому я решил, что сам установлю IP-адрес, и не будет никакого DHCP, но я не понимаю, почему resolv.conf постоянно обновляется.
Дэвид Паркс

Жиль - нет, я запустил: dpkg -L resolvconf и получил: Пакет `resolvconf 'не установлен.
Дэвид Паркс

Ответы:


34

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

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

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


4
Это было лучшее решение, я опубликовал другой вариант, но понял, что установка статического IP-адреса не является хорошей идеей в среде AWS EC2. :)
Дэвид Паркс

Что если вы хотите добавить несколько серверов доменных имен?
dangonfast


2
Замените prependна, supersedeчтобы полностью перезаписать значение DHCP.
Sqerstet

1

Решение, которое решит вашу проблему - это настроить 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-сервер имен

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


-2

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

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

Я немного сбит с толку, если решением была команда prepend или она фактически удаляла клиента DHCP.
Евгений ван дер Мерве

@EugenevanderMerwe Это команда prepend. На плакате говорилось: «Это было лучшее решение, я опубликовал другой вариант, но понял, что установка статического IP-
адреса

-3

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

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

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

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


4
Насколько это актуально и почему вы считаете это хорошим общим правилом? Он не хочет прекратить использовать DHCP?
пул
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.