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.