Когда моя виртуальная машина CentOS загружается, она использует DHCP для получения IP-адреса. Он также перезаписывает resolv.conf настройками DNS, предоставленными сервером DHCP. DHCP-сервер не предоставляет никаких поисковых доменов, поэтому я хотел бы, чтобы dhclient включал список поисковых доменов при его записи. Как я могу настроить dhclient для этого?
10 ответов
Никто из них не работал, но последний был самым близким. Для Red Hat 6 используйте DOMAIN
вместо SEARCH
как в примере выше, и расположение файла другое.
Я изменил файл /etc/sysconfig/network-scripts/ifcfg-eth0
и изменил
DOMAIN=domain.com
в
DOMAIN="domain.com sub.domain.com"
и все это сработало.
Также вы можете добавить строку в /etc/dhcp3/dhclient.conf следующим образом
prepend domain-search "domain1.com", "domain2.com";
Обратите внимание, что этот метод работает также с Debian Lenny и Squeeze.
Мне удалось решить это в конце концов. Я добавил следующую строку в /etc/dhclient-eth0.conf
append domain-name "example.com";
Это в основном примечание для 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 /, который читается, вы увидите, что он вставлен в верхнюю часть файла, а несколько дополнительных опций добавлены ниже.
Для любого, кто просматривает довольно непрозрачную кучу сценариев Fedora / Red Hat, ответ, по крайней мере, на последний AMI Amazon, это /etc/dhclient-eth0.conf (а не пустая папка-ловушка в / etc / dhcp /). Файл отсутствует и должен быть создан
Ответ /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
В 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.
В 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
Добавьте на сервер dchp conf (isc dhcpd):
option domain-name "domain1.com domain2.net domain3.org";
Где domain1.com и т.д. - это суффиксы домена, которые вы хотите добавить в файл resolv.conf на каждом клиенте.
Так как я не вижу этот ответ, и он работал для меня (в то время как другие не видели), вот он: отредактируйте /etc/resolvconf/resolv.conf.d/base
же, как и /etc/resolv.conf
. Вам нужно установить resolvconf
.