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

    2.2.5 чистая установка, проблема с маршрутизац

    Russian
    4
    13
    1.9k
    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.
    • P
      petroid
      last edited by

      Добрый день!
      У меня странная ситуация:
      Чистая установка pfsense 2.2.5 на виртуальной машине под ESXi отказывается маршрутизировать с интерфейса LAN на gateway group из двух инернетов INET1 и INET2.
      Причём чистая установка 2.2.4 с теми же самыми настройками работает отлично, обновляется на 2.2.5, и после этого продолжает работать.
      Кто-нибудь с чем-то аналогичным сталкивался?

      Интерфейсы
      em0  MGMT  10.255.1.234/24
      em1  LAN      10.24.1.200/24
      em2  INET1  10.1.1.3/29  шлюз INET1_GW 10.1.1.1/29
      em3  INET2  10.1.1.11/29  шлюз INET2_GW 10.1.1.9/29

      Правила брандмауэра:
      интерфейс MGMT

          • MGMT Address 443 80 * * Anti-Lockout Rule
            интерфейс LAN
            IPv4 * * * * * Inet_summary none
            Inet_summary - это gateway group из шлюзов INET1_GW и INET2_GW
            На других интерфейсах правил нет.

      Проверял, указывая в качестве шлюза вместо Inet_summary по отдельности INET1_GW или INET1_GW. Ни в каком случае пакеты до провайдеров не доходят. Клиент в локальной сети получает "Operation timed out" либо "Connection refused".

      Похоже на серьёзный баг. Как сообщить разработчикам?

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

        Добрый.
        VLAN-ы есть ?

        Какие типы соединения исп-ся на WAN-ах?
        WAN-ы вообще поднялись ? Это видно в веб-фейсе ?

        Интерфейсы точно правильно сопоставлены в вирт. машине? Покажите скрин настроек в ESXi.

        P.s. Попробуйте исп-ть не intel-кие сетевые, а нативные паравиртуальные в настройках вирт. машины. Предварительно выкл. её.

        1 Reply Last reply Reply Quote 0
        • P
          petroid
          last edited by

          В pfsense VLAN-ов нет.
          Типы соединения IPv4 static, вы это имеете в виду?
          WAN-ы поднялись, это видно в веб-интерфейсе. К тому же с самого pfsens-а ping и telnet в интернет ходят. Из локальной сети - нет.
          По поводу сопоставления интерфейсов сомнений нет. Сетевые карты пробовал разные, результат один, машину на момент смены карт выключал.

          Проблема наблюдается при последовательной установке 2.2.5 и 2.2.4 на одну и ту же виртуальную машину без изменения ее настроек, поэтому, я думаю, из подозреваемых ESX можно исключить?

          1 Reply Last reply Reply Quote 0
          • P
            PbIXTOP
            last edited by

            "Operation timed out" либо "Connection refused"

            Рекомендую для начала проверить настройки NAT — они лучше работают и контролируются в ручном режиме.
            Может какая проблема в файрволе
            Вывести правила можно командами

            pfctl -sn
            
            pfctl -sr
            
            1 Reply Last reply Reply Quote 0
            • P
              petroid
              last edited by

              Настройки NAT по-умолчанию, т.е. Automatic.

              На машине c установленной с нуля 2.2.5:

              $ pfctl -sn
              no nat proto carp all
              nat-anchor "natearly/*" all
              nat-anchor "natrules/*" all
              no rdr proto carp all
              rdr-anchor "relayd/*" all
              rdr-anchor "tftp-proxy/*" all
              rdr-anchor "miniupnpd" all
              
              $ pfctl -sr | grep -v inet6
              scrub on vmx2 all fragment reassemble
              scrub on vmx0 all fragment reassemble
              scrub on vmx1 all fragment reassemble
              scrub on vmx3 all fragment reassemble
              anchor "relayd/*" all
              anchor "openvpn/*" all
              anchor "ipsec/*" all
              block drop in log quick inet from 169.254.0.0/16 to any label "Block IPv4 link-local"
              block drop in log quick inet from any to 169.254.0.0/16 label "Block IPv4 link-local"
              block drop in log inet all label "Default deny rule IPv4"
              block drop out log inet all label "Default deny rule IPv4"
              block drop log quick inet proto tcp from any port = 0 to any label "Block traffic from port 0"
              block drop log quick inet proto udp from any port = 0 to any label "Block traffic from port 0"
              block drop log quick inet proto tcp from any to any port = 0 label "Block traffic to port 0"
              block drop log quick inet proto udp from any to any port = 0 label "Block traffic to port 0"
              block drop log quick from <snort2c> to any label "Block snort2c hosts"
              block drop log quick from any to <snort2c> label "Block snort2c hosts"
              block drop in log quick proto tcp from <sshlockout> to (self) port = ssh label "sshlockout"
              block drop in log quick proto tcp from <webconfiguratorlockout> to (self) port = https label "webConfiguratorlockout"
              block drop in log quick from <virusprot> to any label "virusprot overload table"
              block drop in log on ! vmx2 inet from 10.1.1.8/29 to any
              block drop in log inet from 10.1.1.12 to any
              block drop in log on ! vmx0 inet from 10.255.21.0/24 to any
              block drop in log inet from 10.255.21.233 to any
              block drop in log on ! vmx1 inet from 10.21.1.202 to any
              block drop in log inet from 10.21.1.202 to any
              block drop in log on ! vmx3 inet from 10.1.1.0/29 to any
              block drop in log inet from 10.1.1.4 to any
              pass in on lo0 inet all flags S/SA keep state label "pass IPv4 loopback"
              pass out on lo0 inet all flags S/SA keep state label "pass IPv4 loopback"
              pass out inet all flags S/SA keep state allow-opts label "let out anything IPv4 from firewall host itself"
              pass in quick on vmx0 proto tcp from any to (vmx0) port = https flags S/SA keep state label "anti-lockout rule"
              pass in quick on vmx0 proto tcp from any to (vmx0) port = http flags S/SA keep state label "anti-lockout rule"
              anchor "userrules/*" all
              block drop in quick on vmx0 inet from any to ! 10.255.21.233 label "USER_RULE"
              pass in quick on vmx1 inet from any to <negate_networks> flags S/SA keep state label "NEGATE_ROUTE: Negate policy routing for destination"
              pass in quick on vmx1 route-to (vmx2 10.1.1.9) inet all flags S/SA keep state label "USER_RULE"
              anchor "tftp-proxy/*" all</negate_networks></virusprot></webconfiguratorlockout></sshlockout></snort2c></snort2c>
              

              На машине с установленной с нуля 2.2.4, обновлённой до 2.2.5:

              $ pfctl -sn
              no nat proto carp all
              nat-anchor "natearly/*" all
              nat-anchor "natrules/*" all
              nat on vmx3 inet from 127.0.0.0/8 to any port = isakmp -> 10.1.1.3 static-port
              nat on vmx3 inet from 10.255.21.0/24 to any port = isakmp -> 10.1.1.3 static-port
              nat on vmx3 inet from 10.24.1.0/24 to any port = isakmp -> 10.1.1.3 static-port
              nat on vmx3 inet from 127.0.0.0/8 to any -> 10.1.1.3 port 1024:65535
              nat on vmx3 inet from 10.255.21.0/24 to any -> 10.1.1.3 port 1024:65535
              nat on vmx3 inet from 10.24.1.0/24 to any -> 10.1.1.3 port 1024:65535
              nat on vmx2 inet from 127.0.0.0/8 to any port = isakmp -> 10.1.1.11 static-port
              nat on vmx2 inet from 10.255.21.0/24 to any port = isakmp -> 10.1.1.11 static-port
              nat on vmx2 inet from 10.24.1.0/24 to any port = isakmp -> 10.1.1.11 static-port
              nat on vmx2 inet from 127.0.0.0/8 to any -> 10.1.1.11 port 1024:65535
              nat on vmx2 inet from 10.255.21.0/24 to any -> 10.1.1.11 port 1024:65535
              nat on vmx2 inet from 10.24.1.0/24 to any -> 10.1.1.11 port 1024:65535
              no rdr proto carp all
              rdr-anchor "relayd/*" all
              rdr-anchor "tftp-proxy/*" all
              rdr-anchor "miniupnpd" all
              
              $ pfctl -sr | grep -v inet6
              scrub on vmx3 all fragment reassemble
              scrub on vmx0 all fragment reassemble
              scrub on vmx1 all fragment reassemble
              scrub on vmx2 all fragment reassemble
              anchor "relayd/*" all
              anchor "openvpn/*" all
              anchor "ipsec/*" all
              block drop in log quick inet from 169.254.0.0/16 to any label "Block IPv4 link-local"
              block drop in log quick inet from any to 169.254.0.0/16 label "Block IPv4 link-local"
              block drop in log inet all label "Default deny rule IPv4"
              block drop out log inet all label "Default deny rule IPv4"
              block drop log quick inet proto tcp from any port = 0 to any label "Block traffic from port 0"
              block drop log quick inet proto udp from any port = 0 to any label "Block traffic from port 0"
              block drop log quick inet proto tcp from any to any port = 0 label "Block traffic to port 0"
              block drop log quick inet proto udp from any to any port = 0 label "Block traffic to port 0"
              block drop log quick from <snort2c> to any label "Block snort2c hosts"
              block drop log quick from any to <snort2c> label "Block snort2c hosts"
              block drop in log quick proto tcp from <sshlockout> to (self) port = ssh label "sshlockout"
              block drop in log quick proto tcp from <webconfiguratorlockout> to (self) port = https label "webConfiguratorlockout"
              block drop in log quick from <virusprot> to any label "virusprot overload table"
              block drop in log on ! vmx3 inet from 10.1.1.0/29 to any
              block drop in log inet from 10.1.1.3 to any
              block drop in log on ! vmx0 inet from 10.255.21.0/24 to any
              block drop in log inet from 10.255.21.232 to any
              block drop in log on ! vmx1 inet from 10.21.1.0/24 to any
              block drop in log inet from 10.21.1.201 to any
              block drop in log on ! vmx2 inet from 10.1.1.8/29 to any
              block drop in log inet from 10.1.1.11 to any
              pass in on lo0 inet all flags S/SA keep state label "pass IPv4 loopback"
              pass out on lo0 inet all flags S/SA keep state label "pass IPv4 loopback"
              pass out inet all flags S/SA keep state allow-opts label "let out anything IPv4 from firewall host itself"
              pass out route-to (vmx3 10.1.1.1) inet from 10.1.1.3 to ! 10.1.1.0/29 flags S/SA keep state allow-opts label "let out anything from firewall host itself"
              pass out route-to (vmx2 10.1.1.9) inet from 10.1.1.11 to ! 10.1.1.8/29 flags S/SA keep state allow-opts label "let out anything from firewall host itself"
              pass in quick on vmx0 proto tcp from any to (vmx0) port = https flags S/SA keep state label "anti-lockout rule"
              pass in quick on vmx0 proto tcp from any to (vmx0) port = http flags S/SA keep state label "anti-lockout rule"
              anchor "userrules/*" all
              block drop in quick on vmx0 inet from any to ! 10.255.21.232 label "USER_RULE"
              pass in quick on vmx1 inet from any to <negate_networks> flags S/SA keep state label "NEGATE_ROUTE: Negate policy routing for destination"
              pass in quick on vmx1 route-to { (vmx2 10.1.1.9), (vmx3 10.1.1.1), (vmx3 10.1.1.1), (vmx3 10.1.1.1), (vmx3 10.1.1.1) } round-robin inet all flags S/SA keep state label "USER_RULE"
              anchor "tftp-proxy/*" all</negate_networks></virusprot></webconfiguratorlockout></sshlockout></snort2c></snort2c>
              

              Получается, что при установке 2.2.5 с нуля, некоторые правила не создаются что ли?
              Я так понимаю, основная причина неработы - это отсутствие строк

              pass out route-to (vmx3 10.1.1.1) inet from 10.1.1.3 to ! 10.1.1.0/29 flags S/SA keep state allow-opts label "let out anything from firewall host itself"
              pass out route-to (vmx2 10.1.1.9) inet from 10.1.1.11 to ! 10.1.1.8/29 flags S/SA keep state allow-opts label "let out anything from firewall host itself"
              
              1 Reply Last reply Reply Quote 0
              • P
                PbIXTOP
                last edited by

                Сперва разберитесь с NAT — при чистой установке его просто нету и естественно провайдер будет блокировать пакеты с IP адресами вашей внутренней сети. У меня правилах для NAT есть записи и тоже стоит автоматическое заполнение, но  эта машина так-же обновлена с 2.2.4 и интерфейса на ней всего 2 (WAN и LAN).
                И не видно почему-то в чистой установке правила для второго интернета
                Завтра попробую переставить в чистую 2.2.5 посмотрим что выйдет.

                1 Reply Last reply Reply Quote 0
                • P
                  petroid
                  last edited by

                  @PbIXTOP:

                  И не видно почему-то в чистой установке правила для второго интернета

                  Виноват. Действительно был выбран только первый интернет.
                  Но общей картины это не меняет, в выводе меняется только одна строка

                  pass in quick on vmx1 route-to (vmx2 10.1.1.9) inet all flags S/SA keep state label "USER_RULE"
                  

                  следует читать как

                  pass in quick on vmx1 route-to { (vmx2 10.1.1.9), (vmx3 10.1.1.1), (vmx3 10.1.1.1), (vmx3 10.1.1.1), (vmx3 10.1.1.1) } round-robin inet all flags S/SA keep state label "USER_RULE"
                  
                  1 Reply Last reply Reply Quote 0
                  • P
                    petroid
                    last edited by

                    @PbIXTOP:

                    Сперва разберитесь с NAT — при чистой установке его просто нету и естественно провайдер будет блокировать пакеты с IP адресами вашей внутренней сети.

                    До провайдеров пакеты даже не доходят. Проверяли на их стороне.

                    зы Что за косяк с форумом? Сообщение не отредактировать.

                    1 Reply Last reply Reply Quote 0
                    • R
                      rubic
                      last edited by

                      В настройках WAN интерфейсов поле 'IPv4 Upstream Gateway' заполните.

                      1 Reply Last reply Reply Quote 0
                      • P
                        PbIXTOP
                        last edited by

                        @petroid:

                        До провайдеров пакеты даже не доходят. Проверяли на их стороне.

                        Проверять можно и на своей воспользовавшись tcpdump.
                        @PbIXTOP:

                        Завтра попробую переставить в чистую 2.2.5 посмотрим что выйдет.

                        Поставил в чистую c 2 интерфейсами (WAN и LAN) — NAT и разрешающие для локальной сети правила создались.

                        1 Reply Last reply Reply Quote 0
                        • P
                          petroid
                          last edited by

                          @PbIXTOP:

                          Поставил в чистую c 2 интерфейсами (WAN и LAN) — NAT и разрешающие для локальной сети правила создались.

                          Сейчас тоже попробовал, с 4 интерфейсами - тоже создались.

                          @rubic:

                          В настройках WAN интерфейсов поле 'IPv4 Upstream Gateway' заполните.

                          Так они были заполнены… Сейчас переключил на "none" и обратно с сохранением настроек, и правила появились! Что это было вообще?

                          1 Reply Last reply Reply Quote 0
                          • R
                            rubic
                            last edited by

                            @petroid:

                            Так они были заполнены… Сейчас переключил на "none" и обратно с сохранением настроек, и правила появились! Что это было вообще?

                            По наличию значения в этом поле pfSense определяет, что данный интерфейс - WAN. Соответственно создает правила в Outbоund NAT, когда он в автоматическом режиме, и в Firewall.

                            1 Reply Last reply Reply Quote 0
                            • P
                              petroid
                              last edited by

                              @rubic:

                              По наличию значения в этом поле pfSense определяет, что данный интерфейс - WAN. Соответственно создает правила в Outbоund NAT, когда он в автоматическом режиме, и в Firewall.

                              Так я и говорю, что значение в поле было, а правил не было! После убирания значения, и последующего возвращения его на место, правила появились.

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