Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    IPSEC и States через два WAN автоматически

    Russian
    4
    13
    1.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Konstanti @alex82
      last edited by

      @alex82
      Доброго вечера
      По первому вопросу , теоретически я бы лично попробовал сделать так
      1 Вместо классического ipsec туннеля со множеством фаз 2 , я бы сделал 2 VTI туннеля (по одному на каждый GW) со вторым PF.
      2 Эти 2 туннеля также объединить в отказоустойчивую группу , в которой при падении 1 туннеля трафик бы шел через второй туннель )

      1 Reply Last reply Reply Quote 0
      • V
        vladimirlind
        last edited by

        1. Делаете failover GW group, выбираете его в качестве интерфейса в первой фазе IPSec. Заводите учетку на Dyn DNS провайдере по выбору - например, freedns.afraid.org и создаете DynDNS клиента на пфсенсе c интерфейсом failover GW group. На этом пфсенсе (с двумя шлюзами) My identifier в P1 IPsec будет Distinguished name с доменным именем, заведенным на Dynamic DNS провайдере. Соответственно, на удаленном пфсенсе Peer identifier будет это самое доменное имя. При падении основного шлюза DynDNS должен проапдейтить Dyn DNS сервер, чтобы он разрешал доменное имя в айпи второго шлюза. Переключение будет не мгновенным, так как DNS серверам в сети интернет нужно будут время на обновление записей.

        А вообще, если есть 2 пфсенса с 2.4.4 - надо смотреть в сторону routed IPsec - https://www.youtube.com/watch?v=AKMZ9rNQx7Y - с ним такая задача решается гораздо проще.

        1. При восстановлении основного шлюза существующие стейты на сбрасываются. Я так понимаю, чтобы астериск снова нормально коннектился , приходится убивать стейты, чтобы они поднялись уже по основному шлюзу?
        A 1 Reply Last reply Reply Quote 0
        • A
          alex82 @vladimirlind
          last edited by alex82

          @vladimirlind Да по стейтам так, висят на втором гейте, там есть галки
          Reset all states if WAN IP Address changes
          и
          Flush all states when a gateway goes down

          Это все что нашли относящееся к стейтам, но в нашей ситуации это не тот сценарий при котором они срабатывают при обратном переключении, когда падает основной, судя по всему, по второй настройке срабатывает.

          1 Reply Last reply Reply Quote 0
          • K
            Konstanti @alex82
            last edited by

            @alex82
            По второму вопросу , опять же теоретически
            Насколько я понимаю , при поднятии основного шлюза , должен запускаться скрипт rc.newwanip. Тогда в него можно добавить строчку , которая бы запускала команду pfctl с ключом -k и адресом хоста , которая бы убивала бы все стейты для этого хоста .

            A 1 Reply Last reply Reply Quote 0
            • V
              vladimirlind
              last edited by

              @Konstanti said in IPSEC и States через два WAN автоматически:

              2 Эти 2 туннеля также объединить в отказоустойчивую группу , в которой при падении 1 туннеля трафик бы шел через второй туннель )

              Насколько я знаю, reply-to на VTI не работает - есть такая проблема. Поэтому обратный трафик дропнется без маршрутов, скорее всего. Лучше делать с протоколом динамической маршрутизации - ospf, bgp.
              Или уж тогда вообще openvpn использовать - там такое работает.

              K 1 Reply Last reply Reply Quote 0
              • K
                Konstanti @vladimirlind
                last edited by Konstanti

                @vladimirlind Если использовать исходящий НАТ на концах VTI туннелей, то reply-to особо и не нужен будет.
                В любом случае , надо пробовать и эксперементировать

                V 1 Reply Last reply Reply Quote 0
                • V
                  vladimirlind @Konstanti
                  last edited by

                  @Konstanti said in IPSEC и States через два WAN автоматически:

                  В любом случае , надо пробовать и эксперементировать

                  Коллеги пробовали такой сетап - не работает именно по причине неработающего reply-to. NAT в VPN наверное все-таки предполагается избежать, раз мы удаленные внутренние сети связываем.

                  K 1 Reply Last reply Reply Quote 0
                  • A
                    alex82
                    last edited by

                    Спасибо народ :) надо теперь всю эту инфу осмыслить )

                    1 Reply Last reply Reply Quote 0
                    • K
                      Konstanti @vladimirlind
                      last edited by Konstanti

                      @vladimirlind
                      Тут уже была куча тем , связанная именно с этой проблемой . Что в PF поломана функция reply-to на виртуальных интерфейсах ( и на openvpn туннелях , в частности) . Единственным выходом было решение - использование исходящего НАТа , чтобы PF отправлял ответный пакет именно в виртуальный туннель , а не в шлюз по умолчанию .

                      1 Reply Last reply Reply Quote 0
                      • werterW
                        werter
                        last edited by werter

                        Попробуйте поднять на первом пф ДВА OpenVPN сервера.
                        На втором - два клиента. Затем объявить ЯВНО эти впн-интерфейсы на этом клиенте и создать FAILOVER-группу из них с разными Tier. Далее использовать эту FAILOVER-группу в правилах fw на ЛАН пф-клиента для адреса Астериска.

                        Зы. Как вариант поднять на первом пф ОДИН OpenVPN-сервер на 127.0.0.1 (https://docs.netgate.com/pfsense/en/latest/routing/multi-wan-openvpn.html). И использовать одновременно только ОДИН впн-туннель на клиенте. Второй внешний адрес этого же впн-сервера указать доп. директивой "remote ..." в Адвансед настройках впн на этом же клиенте. Тогда при падение и недоступности 1-го адреса ВПН-сервера клиент будет пытаться поднять линк до 2-го адреса этого же ВПН-сервера.

                        1 Reply Last reply Reply Quote 0
                        • A
                          alex82 @Konstanti
                          last edited by

                          @Konstanti said in IPSEC и States через два WAN автоматически:

                          @alex82
                          По второму вопросу , опять же теоретически
                          Насколько я понимаю , при поднятии основного шлюза , должен запускаться скрипт rc.newwanip. Тогда в него можно добавить строчку , которая бы запускала команду pfctl с ключом -k и адресом хоста , которая бы убивала бы все стейты для этого хоста .

                          А можете подсказать, как правильно это прописать?
                          Пробовал в etc/rc.newwanip
                          просто в конец добавлять pfctl -F all (через консоль все работает)
                          при обработке скрипта выдает ошибку в этой строке, как правильно это туда прописать?

                          K 1 Reply Last reply Reply Quote 0
                          • K
                            Konstanti @alex82
                            last edited by

                            @alex82 Понятно почему ошибку выдает
                            это же PHP- скрипт
                            попробуйте такую строку добавить
                            exec("pfctl -F all");

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.