# Gentoo: dhcp & dns

На русском форуме gentoo часто встречаю вопросы по тому, как сделать так, чтобы при рабочем dhcp-клиенте не затирались записи в файле <em>/etc/resolv.conf</em>?

Обычно вносят изменения в этот файл, вручную указывая какие dns-сервера необходимо использовать. Мало ли, может dns-сервер провайдера работает не корректно или хотим использовать другие сервера, причин может быть множество. Но проблема в том, что прописывание руками серверов в указанный файл не приносит результата, при очередном получении ip-адреса, все прописанное затирается информацией с dhcp-сервера.

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

