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

    Переход от iptables на PfSense

    Scheduled Pinned Locked Moved Russian
    32 Posts 4 Posters 3.0k 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.
    • P
      pigbrother @AntonR69
      last edited by pigbrother

      @antonr69 Исходите из того, что:
      в pfSense по умолчанию все извне запрещено, все изнутри - разрешено.
      Разные сети за разными интерфейсами друг от друга изолированы. Для доступа подсетей не нужны маршруты, только правила.
      При порт-форварде разрешающие правило по умолчанию создаются автоматически.

      Правила выполняются сверху вниз.

      @antonr69 said in Переход от iptables на PfSense:

      Kerio control. Там все просто. Настрочил правил, маршрутов, остальное запретил, все работает.

      Пожалуй, в pfSense все не сложнее.

      1 Reply Last reply Reply Quote 1
      • werterW
        werter @AntonR69
        last edited by werter

        Добрый
        @antonr69
        iptables -L -v -n > rules.txt, открываете файл rules.txt и внимательно переносите правила на пф )

        A 1 Reply Last reply Reply Quote 1
        • A
          AntonR69 @werter
          last edited by

          @werter said in Переход от iptables на PfSense:

          iptables -L -v -n > rules.txt, открываете файл rules.txt и внимательно переносите правила на пф )

          Что то более удобоваримое получилось с ключем -S
          iptables -S > rules.txt
          Но я пока не совсем понял концепцию обработки цепочек. Пока разбираюсь.

          P 1 Reply Last reply Reply Quote 0
          • P
            pigbrother @AntonR69
            last edited by

            @antonr69 Не о цепочках, но стоит посмотреть на пост из закрепленных:
            https://forum.netgate.com/topic/66675/pfsense-%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BE%D0%BA-%D0%BF%D1%80%D0%BE%D1%85%D0%BE%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2

            A 1 Reply Last reply Reply Quote 1
            • A
              AntonR69 @pigbrother
              last edited by

              @pigbrother
              Спасибо. Я эту тему видел. Хотя не могу сказать что исчерпал. Я с ней поработаю еще. Вроде начинаю въезжать в iptables.

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

                #anchor(@antonr69
                Коллеги здравствуйте. Все же нужен совет. У меня не три правила в iptables. У меня портянка со сценариями, по примеру опубликованному здесь https://www.opennet.ru/docs/RUS/iptables/#INCLUDE.RCFIREWALL
                Я так понимаю, что при прохождении пакетов через правило
                $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
                пакет перемещается на цепочку

                allowed chain

                $IPTABLES -A allowed -p TCP --syn -j ACCEPT
                $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
                $IPTABLES -A allowed -p TCP -j DROP
                Если ДА, то при переносе правил из iptables в Pfsense каждое перенесенное правило нужно снабдить параметрами из цепочки allowed? Или же сделать отдельные правила правила с параметрами из цепочки allowed?
                И как изобразить в Pfsense цепочку

                bad_tcp_packets chain

                #$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK
                -m state --state NEW -j REJECT --reject-with tcp-reset
                $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG
                --log-prefix "New not syn:"
                $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
                И нужно ли в Pfsense такое городить? Может он уже по умолчанию рубит все кривые пакеты?

                При экспорте правил через iptables -L -v -n > rules.txt, у меня мягко говоря, получается не совсем удобоваримая каша.)

                K werterW 2 Replies Last reply Reply Quote 0
                • K
                  Konstanti @AntonR69
                  last edited by Konstanti

                  @antonr69
                  Для примера

                  a5fa0501-bc38-4052-83d2-823fa6113c84-image.png

                  6f76377b-2a21-467f-8426-d0f07035113b-image.png

                  Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
                   pkts bytes target     prot opt in     out     source               destination         
                  3841K  430M f2b-sshd   tcp  --  any    any     anywhere             anywhere             multiport dports ssh
                  1139M  184G XL-Firewall-1-INPUT  all  --  any    any     anywhere             anywhere            
                  
                  Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
                   pkts bytes target     prot opt in     out     source               destination         
                  1263M 1661G XL-Firewall-1-INPUT  all  --  any    any     anywhere             anywhere            
                  
                  Chain OUTPUT (policy ACCEPT 2688 packets, 760K bytes)
                   pkts bytes target     prot opt in     out     source               destination         
                  
                  Chain XL-Firewall-1-INPUT (2 references)
                   pkts bytes target     prot opt in     out     source               destination         
                     32  3232 ACCEPT     icmp --  any    any     localhost            anywhere             icmp any
                   103K 8745K ACCEPT     icmp --  any    any     anywhere             anywhere             icmp destination-unreachable
                   490K   33M ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-request
                  1842M 1759G ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
                   286K   17M ACCEPT     tcp  --  any    any     anywhere             anywhere             state NEW tcp dpt:ssh
                  73M   22G REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited
                  

                  в PFSense такое городить не надо , если не используете Floating правила (там свои нюансы )

                  • то что вы указали можно и в PF сделать , чтобы отбрасывать "плохие пакеты"

                  выглядеть это будет так

                  block drop in on vmx0 all
                  block drop in quick on vmx0 proto tcp all flags /S
                  block drop in quick on vmx0 proto tcp all flags /FSRA
                  block drop in quick on vmx0 proto tcp all flags /FSRAU
                  block drop in quick on vmx0 proto tcp all flags A/A
                  block drop in quick on vmx0 proto tcp all flags F/FSRA
                  block drop in quick on vmx0 proto tcp all flags U/FSRAU
                  block drop in quick on vmx0 proto tcp all flags FS/FS
                  block drop in quick on vmx0 proto tcp all flags FS/FSRA
                  block drop in quick on vmx0 proto tcp all flags SR/SR
                  block drop in quick on vmx0 proto tcp all flags FPU/FPU
                  block drop in quick on vmx0 proto tcp all flags FPU/FSRPAUEW
                  block drop in quick on vmx0 proto tcp all flags FSRAU/FSRAU
                  block drop in quick on vmx0 proto tcp all flags FSRPAU/FSRPAU
                  block drop in quick on vmx0 from any os "NMAP" to any
                  pass in quick on vmx0 proto tcp from any to (vmx0) port = ssh flags S/SA synproxy state
                  
                  1 Reply Last reply Reply Quote 1
                  • werterW
                    werter @AntonR69
                    last edited by werter

                    Добрый.
                    @antonr69
                    Пф дропает все , что не разрешено ЯВНО.

                    И не заморачивайтесь с :

                    #$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK
                    -m state --state NEW -j REJECT --reject-with tcp-reset
                    $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG
                    --log-prefix "New not syn:"
                    $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

                    Переносите только правила вида

                    $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed

                    Будет совсем трудно - пишите в ЛС )

                    Зы. Коллеги, недавно закончил проект с haproxy + ACME на пф. Непростой проект ) Кто столкнется с этой связкой - пишите.

                    A 1 Reply Last reply Reply Quote 1
                    • A
                      AntonR69 @werter
                      last edited by

                      @werter
                      А как грамотно будет накатить правила при мультиван? На каждый ван продублировать правила или создать одно в разделе плавающих правил указав все ван интерфейсы?

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

                        @antonr69
                        Не надо пока трогать флоатинг рулез. Рисуйте сперва для обоих ВАНов - как все заработает, тогда и плавающие можно потыкать. Если оно надо, конечно (в 99% - не надо).

                        A 1 Reply Last reply Reply Quote 1
                        • A
                          AntonR69 @werter
                          last edited by AntonR69

                          @werter
                          Спасибо за ответы. Продвигаюсь в своей задаче. Настраивал squid, pfblockerng, и с какого то момента заметил что некоторые сайты, которые нормально открывались, перестали открываться, хром ругается "NET::ERR:CERT_DATE_INBALID" softodorom.ru например или forum.netgate.com.
                          Дата и время на pfsense и на компе правильные. Squid pfblockerng отключил, не помогло, менял настройки dns resolver, тоже не помогло. Заменил pfsense на ИКС, тоже такая проблема. Если шнурок от провайдера вставить в обычный роутер такой проблемы нет, и через шлюз на iptables нет. Подскажите пожалуйста, куда копать?

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

                            @antonr69
                            Подцепил другой ноут, все работает. Сайты открывает. Пока разбираюсь.

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

                              @antonr69
                              Братцы, что то намудрил я с dns resolver. Подскажите с правильными настройками.

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

                                Добрый.
                                @antonr69
                                Скрины давайте.

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  AntonR69 @werter
                                  last edited by

                                  @werter said in Переход от iptables на PfSense:

                                  Добрый.
                                  @antonr69
                                  Скрины давайте
                                  Настроил PfblockerNG, все работает, блокирует. Запускаю Squid, и вся блокировка пропадает. Squid мне нужен для статистики. Он не прозрачный т.к. есть юзеры которые ходят в инет с терминального сервера. И идентифицировать их по IP-адресу не получится. По этому они ходят через ввод логина и пароля присвоенного в настройках Squid.

                                  dns1.JPG

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

                                    Добрый
                                    @antonr69
                                    Зачем людям инет на терминальном сервере?

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      AntonR69 @werter
                                      last edited by AntonR69

                                      @werter said in Переход от iptables на PfSense:

                                      Добрый
                                      @antonr69
                                      Зачем людям инет на терминальном сервере?

                                      Добрый день. Ну, пока так сложилось. Потом переделаю.
                                      У меня другая загвозка. На pfsense поднят сквид с авторизацией по логину\паролю. Не могу заставить на рабочих станциях вязаться к почтовым серверам программе thunderbird. Что только не делал. Менял параметры прокси в самой программе, сделал правило по которому разрешено ходить на прямую к почтовому серванту, в самой системе где прописывается адрес прокси сказал что вот на этот адрес (почтовик) ходить помимо прокси. Не помогает ничего. Уже второй день бьюсь. Подскажите, пожалуйста как можно решить проблему?

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

                                        Добрый.
                                        @antonr69
                                        Все настройки сквида скринами покажите.

                                        ЗЫ. У сквида можно указать КАКИЕ через него разрешать. В advanced добавьте почтовые порты
                                        Что-то типа https://sysadmins.ru/topic167979.html (последнее сообщение).
                                        При этом в настройках громоптицы указать, что прокси не использовать (проверить!)

                                        Зы2. Покажите правила fw на ЛАН. Сквид работает только с http(s) и разрешающих правил на ЛАН для почтовых портов должно хватать.
                                        https://forum.netgate.com/topic/127606/squid-gmail-thunderbird-unable-to-connect
                                        https://forum.netgate.com/topic/42208/firewall-rules-for-smtp-pop-to-use-thunderbird

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          AntonR69 @werter
                                          last edited by

                                          @werter
                                          Спасибо за полезные ссылки. кое что прояснилось. Виновник найден немного в другом месте, это был snort. Он по каким то своим идейным соображениям заблокировал наш почтовый сервер.

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

                                            @antonr69
                                            Не надо снорт - надо суриката. Поищите же отличия.
                                            Зы. Снорт только одно ядро умеет пользовать, сурикат - многоядерный.
                                            Оно вам надо такое?
                                            Только самая свежая версия снорта умеет в мультиядерность и ее пока нет в пакетах пф.

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