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

    Не срабатывает Policy Routing

    Scheduled Pinned Locked Moved Russian
    20 Posts 3 Posters 1.3k Views
    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
      ko
      last edited by

      587f783f-f128-4626-8905-22af85b6a311-image.png

      требуется маршрутизация между удаленной площадкой с сетью 9.9.0.0/24 и площадкой с сетью 192.168.100.0/22 через промежуточный pfSense в "облаке".

      На площадке 192.168.100.0/22 два провайдера, поднято два IPSec+GRE туннеля, требуется балансировка и/или отказоустойчивость.

      1 Reply Last reply Reply Quote 0
      • K
        ko @werter
        last edited by

        @werter
        у меня нет трафика из WAN кроме web-конфигуратора самого pfSense.
        pfSense нужен только как vpn-концентратор.
        я всё же могу Disable Outbound NAT ?

        1 Reply Last reply Reply Quote 0
        • K
          ko
          last edited by

          из веб-интерфейса pfSense трассировка:

          до 192.168.102.130
          1 10.0.3.2 113.354 ms 113.283 ms 113.126 ms
          2 192.168.102.130 113.694 ms 113.504 ms 113.331 ms

          до 9.9.0.47
          1 10.0.2.2 103.427 ms 99.744 ms 102.205 ms
          2 9.9.0.47 103.612 ms 99.910 ms 100.456 ms

          А вот трассровка с 192.168.102.130 до 9.9.0.47
          Трассировка маршрута к 9.9.0.47
          1 7 ms 1 ms 1 ms 192.168.100.1
          2 114 ms 118 ms 115 ms 10.0.3.1
          3 * * * Превышен интервал ожидания для запроса.

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

            С одним шлюзом работает (без gw_group) ? Попробуйте с одним сперва настроить.

            МТ из сети .100. знает про сеть 9.9.0 ? Роут есть до нее через GRE? Там два роута должно быть через оба линка. Возможно, что на этом же МТ должен быть роут и до овпн-сети 10.0.2.х (не уверен).

            Зы. Скр .1.
            Создайте 2 правила:

            1. В src ЯВНО укажите 192.168.100.0/22, dst - 9.9.0.0/24 и ПРАВИЛЬНЫЙ gw
            2. И обратное с ПРАВИЛЬНЫМ gw (не уверен)

            Зы2. Я бы попробовал ovpn для всех. И для сети .100.x настроил бы OSPF из 2-ух овпн-линков (пакет frr) с МТ.

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

              @ko Здр
              Есть у меня подозрение , что все это происходит из-за
              того , что где-то кто-то не знает про сеть 9.9.0.0/24

              В виртуальных интерфейсах PF не работает функция Reply-to. В следствие этого ( когда нет статического маршрута ) , ответный пакет отправляется в шлюз по умолчанию, а не через шлюз на который пришел первый пакет
              и счетчики правил , которые Вы показали , косвенно это подтверждают . Судя по всему , это правила для ответного пакета . Но они и не будут работать, потому что по таблице состояний соединение уже установлено

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

                @Konstanti said in Не срабатывает Policy Routing:

                В виртуальных интерфейсах PF не работает функция Reply-to. В следствие этого ( когда нет статического маршрута ) , то ответный пакет отправляется в шлюз по умолчанию, а не через шлюз на который пришел первый пакет
                и счетчики правил , которые Вы показали , косвенно это подтверждают . Судя по всему , это правила для ответного пакета . Но они и не будут работать, потому что по таблице состояний соединение уже установлено

                очень похоже на правду, спасибо!
                теперь новая беда: если отказываюсь от одного канала до 192.168.100.0/22 и прописываю статический маршрут в эту сеть через один GRE+Ipsec то ICMP пакеты прекрасно ходят в обе стороны между 9.9.0.0/24 и 192.168.100.0/22, а вот TCP-соединения не устанавливаются. очень похоже на баг https://redmine.pfsense.org/issues/4479

                по все видимости остаётся только уходить на OpenVPN

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

                  @ko
                  Не знаю , что у Вас происходит
                  Но у меня tcp пакеты прекрасно бегают через канал GRE over IPSEC .

                  0128748b-d556-40df-b2cd-bdd974621f4c-image.png

                  Помнится , я как-то долго ковырялся с этими туннелями и в результате создал вот такое Floating правило для GRE интерфейса

                  pass quick on { gre0 } inet from any to any tracker 1530287680 no state label "USER_RULE"

                  05f89154-6ddb-4e66-9515-febc5ab04a08-image.png

                  1f08af54-09a2-4a22-9d9c-b09919cc948e-image.png

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

                    @Konstanti said in Не срабатывает Policy Routing:

                    @ko
                    Не знаю , что у Вас происходит
                    Но у меня tcp пакеты прекрасно бегают через канал GRE over IPSEC .
                    подскажите, у вас есть на одном pfsense несколько gre? между этими gre нормально tcp-пакеты бегают?

                    Помнится , я как-то долго ковырялся с этими туннелями и в результате создал вот такое Floating правило для GRE интерфейса

                    pass quick on { gre0 } inet from any to any tracker 1530287680 no state label "USER_RULE"

                    я отключил IPSec, оставил голый GRE, указал явно статические маршруты в каждую подсеть, добавил floating rule как вы посоветовали с "no state" "any tcp flag", поставил на всех GRE интерфейсах MTU 1280, MSS 1240, в итоге:
                    icmp ping проходит между любыми узлами - ОК
                    udp iperf проходит между любыми узлами - ОК
                    tcp iperf с gre-интерфейсов pfsense до любой площадки - ОК
                    tcp iperf между площадками через pfsense - не проходит в одну сторону, причём спотыкается после 1 сек обмена:
                    aa98dc84-ec4b-472a-94f6-85b8e076119e-image.png

                    Есть какие-либо идеи?

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

                      @ko
                      Здр
                      есть
                      если проблема именно в tcp , то возможен вариант неправильного расчета контрольных сумм tcp пакетов драйвером сетевого адаптера.

                      /System/Advanced/Networking

                      934de042-f93a-4bcc-b31e-f4999be595e8-image.png

                      если не поможет ,используйте tcpdump для изучения трафика . Посмотрите журналы PF , нет ли заблокированных пакетов

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

                        @Konstanti said in Не срабатывает Policy Routing:

                        если проблема именно в tcp , то возможен вариант неправильного расчета контрольных сумм tcp пакетов драйвером сетевого адаптера.

                        жаль, но не помогло
                        7fa4f5b3-96b0-4e57-aade-b305a070c3b2-image.png

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

                          @ko
                          подключайте tcpdump и смотрите где затык. я бы лично на pf не грешил

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

                            Добрый
                            @ko
                            Покажите:

                            • таблицу маршрутов на пф при всех поднятых туннелях;
                            • трасер из одной проблемной сети в др проблемную сеть;
                            • правила fw НА ВСЕХ интефрейсах + floating rules.
                            K 1 Reply Last reply Reply Quote 0
                            • K
                              ko @werter
                              last edited by

                              @werter
                              9b65c21a-7513-41f1-8b22-3daaddb18a30-image.png
                              2b50b6d7-79cf-41e1-b541-731c27b55afc-image.png
                              26f4344c-deb2-40da-ba27-40f819cfbe1a-image.png
                              96bc8f3e-84b3-4872-ab61-0e2c5630d598-image.png

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

                                @ko said in Не срабатывает Policy Routing:

                                требуется маршрутизация между удаленной площадкой с сетью 9.9.0.0/24 и площадкой с сетью 192.168.100.0/22 через промежуточный pfSense в "облаке".

                                1604403525926-9b65c21a-7513-41f1-8b22-3daaddb18a30-image.png

                                Так у вас трасер прошел. Связь есть.

                                И не надо Disable Outbond NAT - надо Hybrid Outbond NAT (или не трогайте вы его вообще - поставьте Auto). Иначе у вас люди из локальной сети пф-а в инет не попадут.

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