Gentoo: dhcp & dns
На русском форуме gentoo часто встречаю вопросы по тому, как сделать так, чтобы при рабочем dhcp-клиенте не затирались записи в файле /etc/resolv.conf?
Обычно вносят изменения в этот файл, вручную указывая какие dns-сервера необходимо использовать. Мало ли, может dns-сервер провайдера работает не корректно или хотим использовать другие сервера, причин может быть множество. Но проблема в том, что прописывание руками серверов в указанный файл не приносит результата, при очередном получении ip-адреса, все прописанное затирается информацией с dhcp-сервера.
Я покажу, как можно сделать так, чтобы сам клиент позволял сформировать нужный файл resolv.conf. Метода два, так как в Gentoo можно использовать два демона для получения ip-адреса (рассматриваю самые популярные).
- Демон dhcpcd. Тут все просто. Достаточно создать два файла:
/etc/resolv.conf.headи/etc/resolv.conf.tailПервый файл используется для указания серверов, которые будут использоваться ПЕРЕД адресами, выдаваемыми dhcp-сервером, а второй файл соответственно ПОСЛЕ, то есть являются по сути резервными. Добавляем в эти файлы строки, в формате обычного resolv.conf:nameserver 8.8.8.8
- Демон dhcp. Именно его я использую, он является более легковесным вариантом клиента, и на мой взгляд работает быстрее. По сути сама настройка так же не представляет сложности.
Достаточно создать или изменить существующий файл конфигурации /etc/dhcp/dhclient.conf:
prepend domain-name-servers 8.8.8.8; prepend domain-name-servers 127.0.0.1;
Обращаю внимание, что в записи используется обратный порядок, то есть сервер из первой строки будет обрабатываться только при неработоспособности сервера из второй. В примере последняя строка - локальный сервер dnsmasq...
После прописывания данных строк в файлы конфигурации мы получаем нужные нас dns-сервера в активной конфигурации сети.