Как сделать, чтобы система быстро переходила к следующему DNS-серверу в /etc/resolv.conf если предыдущий долго не отвечает?

Аватар пользователя admin

Если DNS-серверы, указанные в /etc/resolv.conf первыми, долго не отвечают, возможны большие задержки в работе служб, которые производят так называемое разрешение имён (резолвинг), т.е. поиск имени по IP адресу или наоборот, поиск IP адреса по имени. Чтобы такого не произошло, в современных дистрибутивах Linux в /etc/resolv.conf можно задать опцию, которая будет устанавливать таймаут ожидания ответа от указанных в этом файле DNS-серверов. Если по прошествии таймаута ответ от очередного DNS-сервера не получен, запрос направляется на следующий и так до тех пор пока не будут пройдены все заданные в /etc/resolv.conf DNS-серверы или пока не будет получен ответ. Эта опция имеет следующий формат:

options timeout:N

где N - количество секунд, которое отводится на таймаут. Таким образом, например ваш /etc/resolv.conf может выглядеть таким образом:

search yourdomain.com
nameserver xxx.xxx.xxx.xxx
nameserver 8.8.8.8
nameserver 8.8.4.4
options timeout:2

где yourdomain.com - домен, который участвует в поиске при задании имени хоста без домена, xxx.xxx.xxx.xxx - IP адрес вашего DNS-сервера, а 8.8.8.8 и 8.8.4.4 - это IP адреса публичных и открытых DNS-серверов компании Google. В случае если ваш DNS-сервер не ответит в течение 2 секунд, запрос на разрешение  имён (резолвинг) будет перенаправлен на 8.8.8.8, а если и тот не ответит на 8.8.4.4.

0
Ваш рейтинг: Нет