30

Когда моя виртуальная машина CentOS загружается, она использует DHCP для получения IP-адреса. Он также перезаписывает resolv.conf настройками DNS, предоставленными сервером DHCP. DHCP-сервер не предоставляет никаких поисковых доменов, поэтому я хотел бы, чтобы dhclient включал список поисковых доменов при его записи. Как я могу настроить dhclient для этого?

10 ответов10

28

Никто из них не работал, но последний был самым близким. Для Red Hat 6 используйте DOMAIN вместо SEARCH как в примере выше, и расположение файла другое.

Я изменил файл /etc/sysconfig/network-scripts/ifcfg-eth0

и изменил

DOMAIN=domain.com

в

DOMAIN="domain.com sub.domain.com"

и все это сработало.

11

Также вы можете добавить строку в /etc/dhcp3/dhclient.conf следующим образом

prepend domain-search "domain1.com", "domain2.com";

Обратите внимание, что этот метод работает также с Debian Lenny и Squeeze.

7

Мне удалось решить это в конце концов. Я добавил следующую строку в /etc/dhclient-eth0.conf

append domain-name "example.com";
3

Это в основном примечание для RHEL7 по сокращению проб и ошибок. Ответ Дина об использовании DOMAIN = "domain1.exmaple.com domain2.example.com" в /etc/sysconfig/network-scripts/ifcfg-device.conf работает. Интересно отметить, что домен хоста, который соединение получает от DHCP, всегда добавляется к пути поиска, даже если вы оставите его вне DOMAIN = или добавите его позже в список для DOMAIN =. Похоже, что в /sbin /dhclient-script есть куча логики, связанной с этим.

В моем тестировании я обнаружил, что предложение Филиппа использовать /etc/dhcp/dhclient-device.conf также работает, хотя с этим и происходит странное поведение, скорее всего из-за той же логики в /sbin /dhclient-script, которая пытается переместить вещи вокруг. Например, ни превосходная, ни предварительная работа не ожидаются, домен хоста будет первым. В качестве примечания к этому методу /var/lib/NetworkManager/dhclient-device.conf - это сгенерированный файл NetworkManager, который используется клиентом. Если у вас есть файл в /etc /dhcp /, который читается, вы увидите, что он вставлен в верхнюю часть файла, а несколько дополнительных опций добавлены ниже.

2

Для любого, кто просматривает довольно непрозрачную кучу сценариев Fedora / Red Hat, ответ, по крайней мере, на последний AMI Amazon, это /etc/dhclient-eth0.conf (а не пустая папка-ловушка в / etc / dhcp /). Файл отсутствует и должен быть создан

2

Ответ /etc/dhclient-eth0.conf выше не работал для меня. У меня нет каталога /etc/dhcp3 поэтому я не думаю, что это тоже сработает.

Изучив файл /sbin/dhclient-script (который создает /etc/resolv.conf в моей системе Centos 5.6), я добавил строку поиска ниже в /etc/sysconfig/networking/devices/ifcfg-eth0:

DEVICE=eth0 
BOOTPROTO=dhcp
HWADDR=08:00:24:61:17:AC 
ONBOOT=yes
TYPE=Ethernet
SEARCH="example.com sub1.example.com sub2.example.com"

Затем:

# ifdown eth0
# ifup eth0
#  cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search example.com sub1.example.com sub2.example.com
nameserver 10.1.0.11
2

В CentOS 6 я использую следующий файл для добавления моего предпочтительного домена поиска DNS:

[root@beamish ~]# cat /etc/dhcp/dhclient-eth0.conf 
interface "eth0" {
    supersede domain-search "dns1.example.com";
}
[root@beamish ~]# getenforce 
Enforcing
[root@beamish ~]# ls -lZ /etc/dhcp/dhclient-eth0.conf 
-rw-r--r--. root root system_u:object_r:bin_t:s0   /etc/dhcp/dhclient-eth0.conf
[root@beamish ~]#

Этот файл является первым, который был проверен в /etc/sysconfig/network-scripts/ifup-eth:

if [ -s /etc/dhcp/dhclient-${DEVICE}.conf ]; then
   DHCLIENTCONF="-cf /etc/dhcp/dhclient-${DEVICE}.conf";

Смотрите также https://serverfault.com/questions/231076/configuring-dhcp-on-rhel-6.

1

В Fedora 19 добавьте следующие строки в /etc/dhcp/dhclient.conf

# /etc/dhcp/dhclient.conf

interface "p2p1"
{
    supersede domain-name-servers 8.8.8.8, 8.8.4.4;
    append domain-name " mydomain.net example.com";
}

Хорошо работает с NetworkManager. Подробности см .: # man dhclient.conf

0

Добавьте на сервер dchp conf (isc dhcpd):

option domain-name "domain1.com domain2.net domain3.org";

Где domain1.com и т.д. - это суффиксы домена, которые вы хотите добавить в файл resolv.conf на каждом клиенте.

0

Так как я не вижу этот ответ, и он работал для меня (в то время как другие не видели), вот он: отредактируйте /etc/resolvconf/resolv.conf.d/base же, как и /etc/resolv.conf . Вам нужно установить resolvconf .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .