Multi-WAN и DNS
-
Имеется pfSense amd64 2.3
WAN1 - DHCP IP (Провайдер 1) - настройки IP1, GW1, DNS1 получаются автоматически от ADSL модема
WAN2 - Static IP (Провайдер 2) - прописаны статические IP2, GW2, DNS2
–-------------
создан MultiWAN из WAN1 и WAN2, Где WAN2 имеет больший приоритет и используется как отказоустойчивое соединение, на каждом GW1 и GW2 настроены мониторинг присутствия интернета путем пинга 8.8.8.8 и 8.8.4.4 соотвественно.Проблема выглядит следующим образом:
При отсутсвии интернета на WAN1 (оборвана телефонная линия например), настройки от модема выдаются WAN1 pfsense, но GW1 ping 8.8.8.8 не проходит, что приводит к offline GW1 - и это правильно, и происходит переключение на вторго провайдера на WAN2, но вот DNS1 попрежнему остается прописаным как действующий и соответсвенно происходят запросы на него а ответов нет - отражается это на работе интернета на клиентах, так что часть сайтов не открывается
Имеется описание в Forwardere что запросы DNS происходят параллельно (типа какой первый успеет тот и ответит), но на практике этого не происходит, приходится при падении канала WAN1 вручную ставить DNS1 ниже по списку DNS2 в файле /etc/resolve.conf. Но это делается вручную и соответсвенно никакого автопереключения не проиходит, что касается DNSов.На данный момент отключил в форвардере "параллельные запросы днс" а прописал в General Setup приоритеты DNS.
Возможно ли предусмотреть при разработке новой прошивки, что если падает GW (под словом падает, я имею ввиду настроеную пользователем реакцию приводящую GW в Offline, а не просто выдернутый линк) то "отчищались" из списка обращения (как это проиходит путем удаления упавшего шлюза из списка мульвана) и связаных с ним DNSы.
-
Вы наверное забыли, что мониторящийся жестко привязывается маршрутом к интерфейсу на котором он используется.
Лучше всего для мониторинга избрать какие либо вторичные сервисы. -
Вы наверное забыли, что мониторящийся жестко привязывается маршрутом к интерфейсу на котором он используется.
Лучше всего для мониторинга избрать какие либо вторичные сервисы.я избрал наиболее вероятностно "всегда" рабочий гуглевский сервис. Как вы предлагаете решить проблему с оставшимся не отвечающим DNS1 при GW1 -> Offline, подскажите?
-
Используйте DNS от Yandex.
-
Используйте DNS от Yandex.
проблема не в том, что 8.8.8.8 недоступен, проблема в том что при отсутствии интернета от провайдера на WAN1 (его шлюзы пингуются и т.д но инета у него нет) используется любой общедоступный сервис например гугли, можно яндекс не в этом суть. проблема в том, что при определеннии ситуации путем пинга внешнего узла (яндек, гугла) pfsense правильно определяет что инета нет на єтом интерфейсе и также правильно ставит соответствующий GW1 в Offline, далее переключается на интернет от Wan2, НО!!! DNS1 остается в списке днсов и к нему идут обращения, вместо того чтобы при переводе GW1 в офлайн соответсвующий днс удалялся автоматом из списка. В этом проблема
-
Используйте DNS от Yandex.
проблема не в том, что 8.8.8.8 недоступен, проблема в том что при отсутствии интернета от провайдера на WAN1 (его шлюзы пингуются и т.д но инета у него нет) используется любой общедоступный сервис например гугли, можно яндекс не в этом суть. проблема в том, что при определеннии ситуации путем пинга внешнего узла (яндек, гугла) pfsense правильно определяет что инета нет на єтом интерфейсе и также правильно ставит соответствующий GW1 в Offline, далее переключается на интернет от Wan2, НО!!! DNS1 остается в списке днсов и к нему идут обращения, вместо того чтобы при переводе GW1 в офлайн соответсвующий днс удалялся автоматом из списка. В этом проблема
Это не проблема — эта такая работа всех ping check interface мониторингов. И сделано специально чтобы случайно не стал срабатывать нерабочий маршрут.
Да и как может удалиться monitoring-IP. Ведь он используется для проверки именно этого канала. -
Используйте DNS от Yandex.
проблема не в том, что 8.8.8.8 недоступен, проблема в том что при отсутствии интернета от провайдера на WAN1 (его шлюзы пингуются и т.д но инета у него нет) используется любой общедоступный сервис например гугли, можно яндекс не в этом суть. проблема в том, что при определении ситуации путем пинга внешнего узла (яндек, гугла) pfsense правильно определяет что инета нет на єтом интерфейсе и также правильно ставит соответствующий GW1 в Offline, далее переключается на интернет от Wan2, НО!!! DNS1 остается в списке днсов и к нему идут обращения, вместо того чтобы при переводе GW1 в офлайн соответсвующий днс удалялся автоматом из списка. В этом проблема
Это не проблема — эта такая работа всех ping check interface мониторингов. И сделано специально чтобы случайно не стал срабатывать нерабочий маршрут.
Да и как может удалиться monitoring-IP. Ведь он используется для проверки именно этого канала.давайте еще проще обьясню…ранее на интерфейс к примеру WAN провайдером выдавались или прописывались в ручную настройки (IP, GW, DNS). Зачастую у провайдера к примеру возникают проблемы в его сети (упал его дсн или другие внутренние траблы), при этом сетвые устройства ранее проверяли есть или нет интернет от провайдера просто пингуя его шлюз и он пинговался, но у пров не давал интернет пользователю, как убедились в дальнейшем - такой подход не правильный, поэтому придумали пинговать не шлюз внутри сети прова или другой его сервис а внешний сервис (гугл, яндекс) и это правильно. Поэтому корректная работа переключателя мулти-ван тогда, когда он при соответсвующей настройке мониторинга внешнего ip, должен понимать что при переключении в offline (например вытянуть физически линк) настройки провайдера на этом интерфейсе (DNS, GW, IP проверь выдерни линк и увидишь что так и есть) отчищаются и происходит переключении/работа с настройками провайдера (IP, GW, DNS) на другом интерфейсе и не затрагиваются настройки первого провайдера, который ушел в офлайн (даже если они остались прописаны).
Итого: в моем случае при переходе провайдера в офлайн всеравно происходит обращение к его уже неработающему DNS. надеюсь так понятно, незнаю как еще проще обьяснить.
Удаляться не мониторинг IP должен, а при переходе провайдера на интерфейсе в офлайн, для работы не должны использоваться его DNS, т.е он должен исключаться также как исключается пфсенсом из группы шлюзов GW упавшего прова -
@oleg1969:
WAN1 - DHCP IP (Провайдер 1) - настройки IP1, GW1, DNS1 получаются автоматически от ADSL модема
WAN2 - Static IP (Провайдер 2) - прописаны статические IP2, GW2, DNS2ADSL модем вкл роутером или бриджем ?
WAN1 белый ip (ну или белый dynamic IP) или чисто серый ??
Попробуйте мониторить dns сервер провайдера
адсл в режиме роутера, айпи белый на обеих интерфесах
для переключения мулти-вана это не имеет значения. хотя могу вам ответить, что если настроить адсл в режиме бриджа, то при обрыве телефонной линиии, соответсвенно настройки от прова не прийдут и переключение произойдет корректно т.к пфсенсе просто тупо будет знать только настройки второго провайдера, но мне нужно именно в режиме роутера, иначе для чего тогда сделали ping внешнего сервиса
-
В System > General Setup снимите галку 'DNS Server Override' - не будете получать DNS от провайдера.
Пропишите свои DNS сервера в 'DNS Server 1 - 4'. При этом: 1) не используйте здесь адреса, которыми мониторите доступность каналов, т. е. 8.8.4.4, 8.8.8.8 2) не указывайте 'Gateway'. Таким образом, в системе не будет статических маршрутов к этим адресам через определенные каналы.
В System > Advanced > Miscellaneous установите галку в 'Default gateway switching' - при падении канала, изменится default gateway, DNS сервера будут по прежнему доступны. -
В System > General Setup снимите галку 'DNS Server Override' - не будете получать DNS от провайдера.
Пропишите свои DNS сервера в 'DNS Server 1 - 4'. При этом: 1) не используйте здесь адреса, которыми мониторите доступность каналов, т. е. 8.8.4.4, 8.8.8.8 2) не указывайте 'Gateway'. Таким образом, в системе не будет статических маршрутов к этим адресам через определенные каналы.
В System > Advanced > Miscellaneous установите галку в 'Default gateway switching' - при падении канала, изменится default gateway, DNS сервера будут по прежнему доступны.DNS Server Override - оставил т.к в ином случае мне нужно статику прописывать
- не используйте здесь адреса, которыми мониторите доступность каналов, т. е. 8.8.4.4, 8.8.8.8 - сделал
- 8.8.8.8 2) не указывайте 'Gateway' - а вот это помогло!!!!
В System > Advanced > Miscellaneous установите галку в 'Default gateway switching' - так и было
–-
итог - заработало
еще убрал галку (не знаю нужно было или нет) в Query DNS servers sequentially
спасибо за дельный совет помогло, работает переключение
-
Смысл совета в том, чтобы в системе не было статических маршрутов до DNS серверов через определенные каналы, так как, если канал упадет, маршрут останется и соотв. сервер станет недоступен. Когда вы получаете адрес DNS по DHCP, статический маршрут до DNS сервера заводится, насколько я помню. Посмотрите в Diagnostics > Routes. Если там есть маршрут к адресу DNS сервера, полученного по DHCP, то проблема осталась.
-
адсл в режиме роутера, айпи белый на обеих интерфесах
Крайне рекомендую перевести модем в режим бриджа. Пусть пф поднимает сессию.
Т.о. избавитесь от кучи проблем - двойнот нат, невозможность пробрасывать нек-еы протоколы etc.