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 ko

      Всем привет.
      Не работает маршрутизация на основе политик (Policy Routing) при приёме трафика с интерфейса GRE и направлении его в другой интерфейс GRE over IPSec .
      Если прописать статический маршрут - работает.
      Но мне надо в одну подсеть маршрутизировать на группу шлюзов за двумя GRE интерфейсами с балансировкой между ними. В статических маршрутах нельзя указать группу шлюзов, а через Firewall Rules с указанием Gateway не работает.
      Кто сталкивался?

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

        Добрый
        @ko
        Покажите скрины правил fw, nat.
        Зы. Может FRR (ospf) подойдет?

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

          ba5d3811-aa54-4252-9daa-4f9c435374ed-image.png

          a9494ea5-07be-42fe-98b7-042901c68eca-image.png

          e673438f-a4db-4d1a-b083-0e9ec407252e-image.png

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

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

            Зы. Может FRR (ospf) подойдет?

            мне казалось что Policy Routing в моём случае проще

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

              up

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

                Добрый.

                @ko
                Схему сети с адресацией, пжлста.

                Скрин 1. Выкл нижнее правило - оставьте только верхнее.

                Скрин NAT. Не надо его полностью откл. Выберите hybrid и добавьте правило с NO NAT (может и не понадобится явно NO NAT делать - пф по-дефолту делает NAT только для Any network -> WAN ). Оно будет отрабатывать 1-м.

                Не надо делать up. Здесь такое не приветствуются. Захотят люди - помогут.

                K 1 Reply Last reply Reply Quote 0
                • 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.