Как автоматически генерировать resolv.conf на Centos 6.5

8

Я только что установил CentOS 6.5 и настроил следующие файлы:

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=aa:bb:dd:dd:ee:ff
TYPE=Ethernet
UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst

Когда я перезагружаю компьютер, ifconfig eth0показывает IP-адрес, но resolv.confфайл пуст. Все, что там написано, есть search IM. Там нет в nameserversсписке в файле.

Тем не менее, после загрузки, если я делаю, dhclient -rчтобы освободить IP-адрес, а затем введите, dhclient eth0чтобы получить IP-адрес, resolv.confправильно заполняется с моих серверов имен DNS.

Почему это не происходит автоматически из моих файлов конфигурации? Я думал, что dhcpвключен в мой ifcfg-eth0файл должен позаботиться об этом.

В документации CentOS говорится, что настройка NETWORKING=yesзапускает сеть во время загрузки: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html .

Любая помощь приветствуется.

user1527227
источник
Снимите .IMимя хоста и попробуйте что-нибудь, кроме localhost, или вообще опустите его.
SLM
Кстати скрипт отвечает за создание файла до вместе со всей eth0 устройства осуществляется отсюда: /etc/sysconfig/network-scripts/ifup-eth.
SLM

Ответы:

3

Установите NM_CONTROLLED=noи остановите демон Network Manager и предотвратите его перезапуск во время загрузки:

/sbin/service   NetworkManager stop
/sbin/chkconfig NetworkManager off

Теперь заполните ваш /etc/resolv.confфайл в соответствии с вашими потребностями.

В противном случае установите NM_CONTROLLED=yesи оставьте работающим демон NetworkManager. В этом случае добавьте в ifcfg-eth*файл до двух записей DNS , например:

DNS1=10.11.12.13
DNS2=10.11.12.14
DOMAIN=mydomain.net

Это заполнит /etc/resolv.confфайл для вас.

JRFerguson
источник
1
resolv.confФайл должен по- прежнему получать обновленные Независимо. У меня много безголовых систем без NetworkManager, которые получают свое содержимое с DHCP-сервера просто отлично. Так что здесь что-то еще.
СЛМ
1
Когда NetworkManager используется, он отвечает за обновление /etc/resolv.confс использованием данных из DHCP. Когда он не используется, networkзапускается служба, dhclientкоторая в свою очередь отвечает за написание /etc/resolv.conf.
Павел Шимерда
1
Независимо от того, используете ли вы «неважно», мне придется с вами не соглашаться; > PEERDNS - initscripts интерпретирует PEERDNS = нет, что означает «никогда не трогать resolv.conf». NetworkManager интерпретирует это как «никогда не добавляйте автоматические (DHCP, PPP, VPN и т. Д.) Серверы имен в resolv.conf». Укажите PEERDNS=yesстроку для конкретного /etc/sysconfig/network-scripts/ifcfg-файла, чтобы автоматически обновить /etc/resolv.confфайл.
ILMostro_7
0

С NM-SETTINGS-IFCFG-RH ()man-страницы:

PEERDNS - initscripts интерпретирует PEERDNS = нет, чтобы означать «никогда не трогать resolv.conf». NetworkManager интерпретирует это как «никогда не добавляйте автоматические (DHCP, PPP, VPN и т. Д.) Серверы имен в resolv.conf».

Укажите строку PEERDNS = yes для конкретного файла / etc / sysconfig / network-scripts / ifcfg-, чтобы автоматически обновить файл /etc/resolv.conf.

    PEERDNS=yes

Кроме того, если вы не хотите, чтобы интерфейс управлялся с помощью NetworkManager, добавьте следующую строку:

    NM_CONTROLLED=no

Однако первой строки должно быть достаточно независимо от того, управляется ли интерфейс NetworkManager или нет.

ILMostro_7
источник