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ы.



  • Вы наверное забыли, что мониторящийся жестко привязывается маршрутом к интерфейсу на котором он используется.
    Лучше всего для мониторинга избрать какие либо вторичные сервисы.



  • @PbIXTOP:

    Вы наверное забыли, что мониторящийся жестко привязывается маршрутом к интерфейсу на котором он используется.
    Лучше всего для мониторинга избрать какие либо вторичные сервисы.

    я избрал наиболее вероятностно "всегда" рабочий гуглевский сервис. Как вы предлагаете решить проблему с оставшимся не отвечающим DNS1 при GW1 -> Offline, подскажите?



  • Используйте DNS от Yandex.



  • @PbIXTOP:

    Используйте DNS от Yandex.

    проблема не в том, что 8.8.8.8 недоступен, проблема в том что при отсутствии интернета от провайдера на WAN1 (его шлюзы пингуются и т.д но инета у него нет) используется любой общедоступный сервис например гугли, можно яндекс не в этом суть. проблема в том, что при определеннии ситуации путем пинга внешнего узла (яндек, гугла) pfsense правильно определяет что инета нет на єтом интерфейсе и также правильно ставит соответствующий GW1 в Offline, далее переключается на интернет от Wan2, НО!!! DNS1 остается в списке днсов и к нему идут обращения, вместо того чтобы при переводе GW1 в офлайн соответсвующий днс удалялся автоматом из списка. В этом проблема



  • @dvv06:

    @PbIXTOP:

    Используйте DNS от Yandex.

    проблема не в том, что 8.8.8.8 недоступен, проблема в том что при отсутствии интернета от провайдера на WAN1 (его шлюзы пингуются и т.д но инета у него нет) используется любой общедоступный сервис например гугли, можно яндекс не в этом суть. проблема в том, что при определеннии ситуации путем пинга внешнего узла (яндек, гугла) pfsense правильно определяет что инета нет на єтом интерфейсе и также правильно ставит соответствующий GW1 в Offline, далее переключается на интернет от Wan2, НО!!! DNS1 остается в списке днсов и к нему идут обращения, вместо того чтобы при переводе GW1 в офлайн соответсвующий днс удалялся автоматом из списка. В этом проблема

    Это не проблема — эта такая работа всех ping check interface мониторингов. И сделано специально чтобы случайно не стал срабатывать нерабочий маршрут.
    Да и как может удалиться monitoring-IP. Ведь он используется для проверки именно этого канала.



  • @PbIXTOP:

    @dvv06:

    @PbIXTOP:

    Используйте 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:

    @dvv06:

    WAN1 - DHCP IP (Провайдер 1) - настройки IP1, GW1, DNS1 получаются автоматически от ADSL модема
    WAN2 - Static  IP (Провайдер 2) - прописаны статические IP2, GW2, DNS2

    ADSL модем вкл роутером или бриджем ?

    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 сервера будут по прежнему доступны.



  • @rubic:

    В 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 - оставил т.к в ином случае мне нужно статику прописывать

    1. не используйте здесь адреса, которыми мониторите доступность каналов, т. е. 8.8.4.4, 8.8.8.8 - сделал
    2. 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.


Log in to reply