Назад | Перейти на главную страницу

Можно ли настроить DHCPD ISC для настройки параметров resolv.conf, таких как время ожидания и попытки?

Resolv.conf поддерживает строку с именем options, которая позволяет выполнить некоторую точную настройку поведения распознавателя. В моей среде мы используем DHCPD от ISC для предоставления услуг DHCP нашим службам. В настоящее время я могу установить поля поиска и сервера имен в файле resolv.conf через DHCP, но я также хочу иметь возможность создать следующую строку:

options timeout:2 attempts:4

Кто-нибудь знает возможно ли это?

В настоящее время у меня установлены следующие параметры DHCPD, связанные с преобразователем:

  option domain-search            "example.com";
  option domain-name-servers      192.168.1.1, 192.168.1.2, 192.168.1.3, 192.168.1.4;

В данном конкретном случае все системы работают под управлением CentOS 5/6.

Для этого нет существующей опции DHCP, поэтому вам нужно добавить настраиваемая конфигурация как для сервера, так и для клиентов чтобы поддержать это.

На сервере (/etc/dhcp/dhcpd.conf), определите новую опцию и установите значение:

option resolv-options code 224 = text;
option resolv-options "timeout:2 attempts:4";

На клиенте (/etc/dhcp/dhclient.conf), определите новую опцию и добавьте ее в список опций для запроса:

option resolv-options code 224 = text;
request ..., resolv-options;

Затем добавьте крючок (/etc/dhcp/dhclient-enter-hooks.d/resolvoptions) на клиенте, чтобы фактически использовать отправленное значение:

if [ "$new_resolv_options" ]; then
    echo "options $new_resolv_options" >> /etc/resolv.conf
fi

Если у вас нет доступа к DHCP-серверу или вы не хотите изменять конфигурацию сервера, вы можете установить параметры на клиенте с помощью сценария dh-client-exit-hooks. Если вы используете Ubuntu, вы можете поместить такой скрипт в /etc/dhcp3/dhclient-exit-hooks.d


cd /etc/dhcp3/dhclient-exit-hooks.d
sudo vim resolver-options

#
# Prepend resolver options to /etc/resolv.conf after dhclient`
# regenerates the file. See man (5) resolver for more details.
#
RESOLV_CONF=$(cat /etc/resolv.conf)
OPTIONS="options timeout:1"

echo -e "$OPTIONS\n$RESOLV_CONF" > /etc/resolv.conf

Просто добавьте нужные параметры в $ OPTIONS, разделив их символом новой строки (\ n), и скрипт запустится после выхода из dhclient и добавит параметры преобразователя в /etc/resolv.conf.