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

    Перенаправление локального трафика

    Scheduled Pinned Locked Moved Russian
    25 Posts 4 Posters 2.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.
    • A
      a7lan @Konstanti
      last edited by

      @konstanti
      Если бы все так было просто) Я это уже пробовал. Во первых выбор LAN интерфейса вообще ничего не дает. Пакеты на 192.168.200.200 просто уходят с интернет интерфейса. Если же мы там укажем вместо LAN интернет интерфейс, то мы не назначение меняем, а адрес отправителя. На языке iptables мы не DNAT делаем, а SNAT.
      В tcpdump это выглядит вот так

      14:10:28.019980 IP 4.2.2.2 > 192.168.200.200: ICMP echo request, id 35330, seq 0, length 64
      

      вместо 1.2.3.4 я взял 4.2.2.2 для примера.

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

        @a7lan
        Секунду
        Еще раз по пунктам

        1. Адрес 192.168.200.200 - он живой ????
        2. На каком интерфейсе должна произойти подмена назначения ?

        DNAT - в iptables используется для проброса портов ( насколько я понимаю ) с заменой адреса получателя

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

          @konstanti Нет. Я просто его придумал. Но пусть даже будет живой. Думаю это не суть важно. Мне надо просто исходящий в интернет адрес назначения подменять. Получается на интерфейсе интернета. С транзитным трафиком это работает. Я пингую тот же 192.168.200.200 с компа в сети, и он перенаправляется на 4.2.2.2. А вот если тоже самое делать на самом шлюзе, то имеющееся правило не работает. То что я добавил видимо аналог PREROUTING в iptables. Куда естественно трафик локальных процессов не попадает.

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

            @a7lan
            Теперь все стало понятно
            Боюсь , что такой "финт ушами" с базовым функционалом PF , не провернуть ( мб и есть такое решение , но мне оно не известно )
            У Freebsd есть такая подсистема , называется Netgraph . Вот с ее помощью такое сделать можно

            Так , на вскидку
            Нужны будут модули
            ng_ether
            ng_bpf
            ng_patch
            это для модификации пакетов в обоих направлениях
            Те идея такая - подключаемся в разрыв между ядром и сетевым адаптером (ng_ether) , отлавливаем все пакеты с назначением , к примеру 192.168.200.200 ( ng_bpf) и меняем поле назначение ip пакета (ng_patch) ( к примеру на 2.2.2.2)
            В обратном направлении - отлавливаем все пакеты от 2.2.2.2 и меняем назначение на 192.168.200.200

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

            все это работает на уровне ядра ( те очень быстро )
            трудность в том , что ng_ether и ng_bpf уже есть в ядре pf
            а ng_patch нет . Те нужно качать версию Freebsd , соответствующую Вашей версии PF и компилировать этот модуль и вручную переносить его на PF

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

              @konstanti Понял. Жаль. Спасибо. Будем думать что делать.

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

                @a7lan
                если что , пишите мне в личку , думаю , что с моим вариантом смогу помочь ( если не найдете другого решения )

                Iptables в этом отношении более гибкая подсистема , чем PF

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

                  @a7lan

                  Дело в том, что при обращении к ресурсам ВНУТРИ сети трафик НЕ ИДЕТ через пф.

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

                    @werter
                    То есть мы не может даже блокировать исходящий трафик к локальным ресурсам?

                    P werterW 2 Replies Last reply Reply Quote 0
                    • P
                      pigbrother @a7lan
                      last edited by pigbrother

                      @a7lan said in Перенаправление локального трафика:

                      То есть мы не может даже блокировать исходящий трафик к локальным ресурсам?

                      Если работа сети в одном L2 сегменте, то ни pfSense, ни любой другой роутер не управляют этим трафиком. Если вы даже отключите pfSense вообще, хосты внутри сети продолжат общаться.
                      pfSense рулил бы трафиком, если бы сеть была поделена на подсети, а pfSense был бы между этими сетями маршрутизатором.

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

                        @pigbrother Я не про обмен пакетами между устройствами в одной сети. Вопрос был Pfsens не умеет свой локальный трафик исходящий обрабатывать? блокировать например. Просто из комментария @werter звучит так, что исходящих трафик локальных процессов не идет через pf.
                        Говоря терминалогией iptables, тут нет iptables -t filter -A OUTPUT ... -j DROP ?

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

                          @a7lan
                          Вопрос был Pfsens не умеет свой локальный трафик исходящий обрабатывать? - может

                          Говоря терминалогией iptables, тут нет iptables -t filter -A OUTPUT ... -j DROP ? - есть

                          6f2f64c0-5d18-497f-9bbf-1c79f2a9166c-image.png

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

                            @konstanti Жаль значит нет ната для локального трафика

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

                              @a7lan
                              я Вам об этом уже писал ранее . Блокировать исходящие пакеты PF умеет . То что вы хотите - нет . Решение существует . Но не из коробки .

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

                                @a7lan
                                Это может Proxmox VE со своим 3-х уровневым Firewall-ом )

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

                                  @werter В проксмокс тот же iptables) только я не совсем понял причем тут proxmox.

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

                                    @a7lan
                                    Вы хотите решить задачу?
                                    Из коробки пф ТАК не умеет (Konstanti написал, что может помочь).
                                    Но так умеет Прокс. И если вы его пользуете, то можно ограничиться Проксом.

                                    Зы. Возможно, что в Проксе уже nftables )
                                    Зы2. Вариант покупки L3-свитча тоже вам подойдет.

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

                                      @werter
                                      Просто почему именно гипервизор? Я этого не совсем понял. Я понял что pf не может. Но почему не просто какой нибудь Linux дистр. Пытаюсь причинно-следственную связь найти. =)

                                      Сейчас у меня в планах либо перевесить на Ubuntu server (так как с ним больше всего опыта работы). Либо готовое на основе него программное решение. Главное чтоб можно было в консоли в случае чего что-то поправить, так как бывает так, что не хватает функционала настроек из вебки

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

                                        @a7lan
                                        Здравствуйте
                                        Ставьте Linux и не мучайтесь. Да, не будет красивой вебки, но будет полностью функциональная машина. У меня есть и PF и сервера на CentOs и FreeBSD . И все прекрасно администрируется из консоли

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

                                          @a7lan

                                          Но так умеет Прокс. И если вы его пользуете, то можно ограничиться Проксом.

                                          Перечитайте выше еще раз, а? Даже выделил специально для вас.

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