Як я можу додати додаткові пошукові домени до резолюції.conf, створеного dhclient у CentOS


35

Коли моя віртуальна машина CentOS завантажується, вона використовує DHCP для отримання IP-адреси. Він також перезаписує резолюцію.conf з налаштуваннями DNS, наданими сервером DHCP. Сервер DHCP не забезпечує жодних пошукових доменів, тому я хотів би отримати dhclient, щоб внести список пошукових доменів, коли він пише це. Як я можу налаштувати dhclient для цього?

Відповіді:


32

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

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

і змінився

DOMAIN=domain.com

до

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

і все спрацювало.


3
Ви повинні мати можливість використовувати DOMAINі SEARCH github.com/mcr/isc-dhcp/blob/master/common/resolv.c#L68
Радек Сімко

Ця методика встановлення DOMAIN також працювала для мене на CentOS 6.5, навіть якщо моя резолюція.conf генерується NetworkManager, а не dhclient. Згенерований файл resolution.conf поєднав мої записи з записами на сервері DHCP.
PolyTekPatrick

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";

4

Це здебільшого примітка для 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/який читається, ви побачите, що його вставлено у верхній частині файлу, а кілька додаткових опцій додано нижче.


AWS Linux (RHEL) DOMAIN="your.domain"не працював для мене, скидання після перезавантаження
radtek

2

/etc/dhclient-eth0.confВідповідь вище не працює для мене. У мене немає /etc/dhcp3каталогу, так що я не думав, що це, ймовірно, також спрацює.

Вивчивши /sbin/dhclient-scriptфайл (який створюється /etc/resolv.confв моїй системі Centos 5.6), я додав рядок SEARCH нижче до/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

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


2
Додавання SEARCH до ifcfg-eth0 / etc / sysconfig / network-script / ifcfg-eth0 також працює в Amazon версії Fedora. У старих версіях Red Hat, мабуть, це було ДОМЕЙН. Я б рекомендував це описати вище.
Доктор Девід Крук

2

У CentOS 6 я використовую такий файл, щоб додати бажаний домен пошуку DNS:

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

Цей файл є першим, що зареєстровано у /etc/sysconfig/network-scripts/ifup-eth:

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

Дивіться також: redhat - Налаштування DHCP на RHEL 6 - Помилка сервера


Ще одна примітка - якщо ви використовуєте для пошуку dhclient кілька доменів пошуку (option|supersede|*) domain-search ..., переконайтеся, що ви дотримуєтесь dhcp-options(5)специфікації чоловічої сторінки для цитування окремих доменів. option domain-search "example.com", "sales.example.com", "eng.example.com";Багато старих дистрибуцій dhclient дозволяли формат, "example.com sales.example.com eng.example.com";але ця сумісність була видалена за останні кілька років через виправлення помилок bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/777785
Патрік,

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


не працює для aws linux (rhel)
radtek

0

Додати до конфіденційного сервера dchp (isc dhcpd):

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

Там, де domain1.com і т. Д. - суфікси домену, які потрібно додати до файлу resoluv.conf для кожного клієнта.


0

Оскільки я не бачу цієї відповіді, і вона працювала на мене (в той час як інші не зробили), ось так: редагуйте /etc/resolvconf/resolv.conf.d/baseтак само, як і ви /etc/resolv.conf. Вам буде потрібно resolvconfвстановити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.