URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 6983
[ Назад ]

Исходное сообщение
"Резервный канал связи"

Отправлено sdi , 22-Апр-13 06:59 
Добрый день!
Имеется прокси сервер SQUID3, Ubuntu 12.04
Внешний интерфейс eth0 сервера смотрит в маршрутизатор, через который идет в инет. Так же на этом интерфейсе прописан dns_nameservers: 2 адреса основого провайдера и 2 адреса резервного провайдера (но в /etc/resolv.conf отображаются только 3 адреса)
Eth1 - смотрит в локалку.
В маршрутизатор заходят основной и резервный провайдер. Так же в случае пропадания основного провайдера, маршрутизатор автоматически переключается на резервный.

Пока работаем на основном канале - все норм. Squid выпускает пользователей в инет и т.п. В случае когда прошло переключение на резервный канал, то при попытке пользователя выйти в инет SQUID сообщает: Невозможно определить IP адрес по имени узла. Но при этом все пингуется как по IP так и по имени сайта. traceroute 8.8.8.8 например, показывает что все нормально проходит. При этом видно, что шаги идут через адреса и шлюзы резервного провайдера.
Как только основной канал поднялся - снова становится все ОК. Пользователи выходят в Инет, traceroute 8.8.8.8 идет через ip и шлюзы основного.
Если к примеру, когда работаем на резервном канале, я захожу на proxy сервер и в файле /etc/network/interfaces в параметре dns_nameservers убираю IP основного провайдера и оставляю 2 адреса резервного, пере запускаю сеть, то все ОК. Пользователи благополучно выходят в инет с резервного канала. Но когда происходит переключение обратно на основной канал, опять SQUID говорит, что не может определить IP по имени узла. При этом ping и tracert с рабочего места проходят и по имени и по IP. Я опять правлю файл /etc/network/interfaces ставлю DNS основного провайдера и пере запускаю сеть и все снова работает.

Помоги разобраться, как сделать так, чтобы мне не приходилось заходить на сервер и править /etc/network/interfaces.

PS: в squid.conf все что касается dns_ заремлено...


Содержание

Сообщения в этом обсуждении
"Резервный канал связи"
Отправлено Дядя_Федор , 22-Апр-13 08:35 
Ну а почему бы по событию (переход на другой канал) не перезаписывать /etc/resolv.conf разными ДНС-серверами?

"Резервный канал связи"
Отправлено sdi , 22-Апр-13 08:39 
> Ну а почему бы по событию (переход на другой канал) не перезаписывать
> /etc/resolv.conf разными ДНС-серверами?

Да, я думал об этом...
Думал сделать скрипт, который постоянно будет пинговать шлюз основного провайдера, в случае отсутствия пинга до 2 минут, перезаписывать /etc/resolv.conf.
Но этот вариант у меня оставлен напоследок, если не найду другого решения....


"Резервный канал связи"
Отправлено ipmanyak , 23-Апр-13 07:52 
>> Ну а почему бы по событию (переход на другой канал) не перезаписывать
>> /etc/resolv.conf разными ДНС-серверами?
> Да, я думал об этом...
> Думал сделать скрипт, который постоянно будет пинговать шлюз основного провайдера, в случае
> отсутствия пинга до 2 минут, перезаписывать /etc/resolv.conf.
> Но этот вариант у меня оставлен напоследок, если не найду другого решения....

Пропишите в /etc/resolv.conf не нэймсерверы провайдеров, а гуглевские 8.8.8.8 и  8.8.4.4
тогда перезаписывать /etc/resolv.conf не придется.



"Резервный канал связи"
Отправлено sdi , 23-Апр-13 07:59 
>>> Ну а почему бы по событию (переход на другой канал) не перезаписывать
>>> /etc/resolv.conf разными ДНС-серверами?
>> Да, я думал об этом...
>> Думал сделать скрипт, который постоянно будет пинговать шлюз основного провайдера, в случае
>> отсутствия пинга до 2 минут, перезаписывать /etc/resolv.conf.
>> Но этот вариант у меня оставлен напоследок, если не найду другого решения....
> Пропишите в /etc/resolv.conf не нэймсерверы провайдеров, а гуглевские 8.8.8.8 и  8.8.4.4
> тогда перезаписывать /etc/resolv.conf не придется.

Да, так работает...


"Резервный канал связи"
Отправлено ALex_hha , 24-Апр-13 11:38 
>>>> Ну а почему бы по событию (переход на другой канал) не перезаписывать
>>>> /etc/resolv.conf разными ДНС-серверами?
>>> Да, я думал об этом...
>>> Думал сделать скрипт, который постоянно будет пинговать шлюз основного провайдера, в случае
>>> отсутствия пинга до 2 минут, перезаписывать /etc/resolv.conf.
>>> Но этот вариант у меня оставлен напоследок, если не найду другого решения....
>> Пропишите в /etc/resolv.conf не нэймсерверы провайдеров, а гуглевские 8.8.8.8 и  8.8.4.4
>> тогда перезаписывать /etc/resolv.conf не придется.
> Да, так работает...

но только же маршруты к 8.8.8.8 и 8.8.4.4 должны быть через разных провайдеров



"Резервный канал связи"
Отправлено sdi , 25-Апр-13 03:44 
>[оверквотинг удален]
>>>>> /etc/resolv.conf разными ДНС-серверами?
>>>> Да, я думал об этом...
>>>> Думал сделать скрипт, который постоянно будет пинговать шлюз основного провайдера, в случае
>>>> отсутствия пинга до 2 минут, перезаписывать /etc/resolv.conf.
>>>> Но этот вариант у меня оставлен напоследок, если не найду другого решения....
>>> Пропишите в /etc/resolv.conf не нэймсерверы провайдеров, а гуглевские 8.8.8.8 и  8.8.4.4
>>> тогда перезаписывать /etc/resolv.conf не придется.
>> Да, так работает...
> но только же маршруты к 8.8.8.8 и 8.8.4.4 должны быть через разных
> провайдеров

Я прописал в dns-nameservers 8.8.8.8 и 8.8.4.4
А в dns-search прописал 4 адреса моих провайдеров.
Это правильное решение?


"Резервный канал связи"
Отправлено ALex_hha , 19-Май-13 01:16 
>[оверквотинг удален]
>>>>> отсутствия пинга до 2 минут, перезаписывать /etc/resolv.conf.
>>>>> Но этот вариант у меня оставлен напоследок, если не найду другого решения....
>>>> Пропишите в /etc/resolv.conf не нэймсерверы провайдеров, а гуглевские 8.8.8.8 и  8.8.4.4
>>>> тогда перезаписывать /etc/resolv.conf не придется.
>>> Да, так работает...
>> но только же маршруты к 8.8.8.8 и 8.8.4.4 должны быть через разных
>> провайдеров
> Я прописал в dns-nameservers 8.8.8.8 и 8.8.4.4
> А в dns-search прописал 4 адреса моих провайдеров.
> Это правильное решение?

что за dns-search? Лучше покажи ip ro get 8.8.8.8 и ip ro get 8.8.4.4


"Резервный канал связи"
Отправлено PavelR , 22-Апр-13 09:20 
подыми локальный bind (он всё-равно по идее может быть нужен для сервисов в локалке), в нем пропиши forwarders на сервера и  первого и второго провайдеров.
К серверам провайдеров пропиши статические маршруты, не зависящие от состояния провайдеров.
используй свой локальный bind и радуйся жизни.