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

    Подмена IP при пробросе портов

    Scheduled Pinned Locked Moved Russian
    52 Posts 6 Posters 16.2k 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.
    • F
      Feral
      last edited by

      Суть проблемы - не работает подмена IP (иначе говоря маскарадинг - IP masquerade).
      Есть плоская сеть. Нужно пробрасывать запросы на разные порты (знаю что нот бай дезайн и все такое прочее).
      Есть pfsense. На нем есть WAN интерфейс с адресом 192.168.252.100 (а так же шлюзом и маской 22). Есть LAN интерфейс с адресом 192.168.252.105. Есть хост с адресом 192.168.252.110. Есть Хост с адресом 192.168.252.1.

      Есть правило что все запросы из WAN на 443 порт перебрасывать на хост 192.168.252.110 на порт 3389. (скрины я выкладывал).
      Есть Outbond правила. На хосте 192.168.252.110 стоит Wireshark.
      В случае использования pfsense 2.x он показывает что все запросы на подключение к хосту 192.168.252.110 приходят с 192.168.252.1. Если использовать pfsense 1.x то masquerade отрабатывает и Wireshark показывает на хосту 192.168.252.110 что все запросы приходят с 192.168.252.105
      Соотвественно непонятно почему одни и теже правила на разных версиях не работают.
      Надеюсь я понятно изложил суть проблемы…

      1 Reply Last reply Reply Quote 0
      • D
        dvserg
        last edited by

        Вы хотите пробрасывать все обращения к WAN интерфейсу из локальной сети.
        Главная и основная проблема в том, что локальный сервис видит напрямую хост источник и отвечает ему мимо pfSense.

        Для этого кроме маскарадинга (проброса) Dest адреса/порта нужно изменить NATом Source адреса на адреса WAN интерфейса. Поэтому для правил 2.1 сделайте по моим рекомендациям выше.

        SquidGuardDoc EN  RU Tutorial
        Localization ru_PFSense

        1 Reply Last reply Reply Quote 0
        • F
          Feral
          last edited by

          Видимо я не правильно изложил, вы меня не поняли. На хосте к которому приходят запросы - запросы приходят на 3389 порт, но адрес соурс не LAN pfsense, а адрес хоста с которого иницирован запрос на 443 порт. Т.е. не происходит подмена на входящих пакетах (т.е. то что прошло через pfsense не подменило соурс адрес). При чем тут то что хост с которого идет запрос так же доступен? Я сейчас не об обратных пакетах, а о тех что приходят.

          1 Reply Last reply Reply Quote 0
          • D
            dvserg
            last edited by

            @Feral:

            Видимо я не правильно изложил, вы меня не поняли. На хосте к которому приходят запросы - запросы приходят на 3389 порт, но адрес соурс не LAN pfsense, а адрес хоста с которого иницирован запрос на 443 порт. Т.е. не происходит подмена на входящих пакетах (т.е. то что прошло через pfsense не подменило соурс адрес). При чем тут то что хост с которого идет запрос так же доступен? Я сейчас не об обратных пакетах, а о тех что приходят.

            Так Host_Local -> WAN[443] -> ServerLocal[3389] ?
            Здесь

            Для правила OUTBOUND LAN вы должны указать DEST адрес = WAN и DEST порт = 443

            SquidGuardDoc EN  RU Tutorial
            Localization ru_PFSense

            1 Reply Last reply Reply Quote 0
            • F
              Feral
              last edited by

              Добавил правило о котормо вы говорили. Ситуация не изменилась.

              Capture.JPG
              Capture.JPG_thumb

              1 Reply Last reply Reply Quote 0
              • D
                dvserg
                last edited by

                Посмотрите в таблице States состояния по фильтру на указанный IP

                SquidGuardDoc EN  RU Tutorial
                Localization ru_PFSense

                1 Reply Last reply Reply Quote 0
                • F
                  Feral
                  last edited by

                  Только одно событие попадает под правило по работе с 443 и 3389 портом. Запрос делал в этот раз не с 192.168.252.1 а с маршрутизируемой соседней сети (10.71.х.х).
                  На pfsense 1.x из этой сети с моими правилами все работает, на 2.х нет…

                  Capture2.JPG
                  Capture2.JPG_thumb

                  1 Reply Last reply Reply Quote 0
                  • D
                    dvserg
                    last edited by

                    Вторую страницу разбираем про правила NAT на LAN и тут вдруг из другой сетки…  :-\

                    SquidGuardDoc EN  RU Tutorial
                    Localization ru_PFSense

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

                      @Feral:

                      Причем на старой версии 1.2 с такими же правилами все работает. Что нет так?

                      Оригинальный pf.c постоянно совершенствуется разработчиками. Видимо, они не докумекали зачем кому-то может понадобиться воткнуть pfSense WAN-ом и LAN-ом в один Ethernet сегмент, назначить обоим интерфейсам адреса из одной подсети и форвардить через него порты от одного хоста локалки другому. Честно говоря, тоже теряюсь в догадках…

                      1 Reply Last reply Reply Quote 0
                      • F
                        Feral
                        last edited by

                        Rubic, какая разница нужно для чего, имхо это к теме меньше всего относится. Есть факт что старая версия работает, новая нет.
                        Касательно сети. Тут разницы нет, факт что подмена не происходит. Пробывал с локальной сети (с хоста с адресом 192.168.252.200). Подмена все равно не верная, трафик приходит с 192.168.252.100, а нужно чтобы приходил с 192.168.252.105

                        1 Reply Last reply Reply Quote 0
                        • D
                          dvserg
                          last edited by

                          У Вас 2 правило так же натит от имени WAN

                          SquidGuardDoc EN  RU Tutorial
                          Localization ru_PFSense

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

                            @Feral:

                            Rubic, какая разница нужно для чего, имхо это к теме меньше всего относится. Есть факт что старая версия работает, новая нет.
                            Касательно сети. Тут разницы нет, факт что подмена не происходит. Пробывал с локальной сети (с хоста с адресом 192.168.252.200). Подмена все равно не верная, трафик приходит с 192.168.252.100, а нужно чтобы приходил с 192.168.252.105

                            Ну и какой вывод? Пакеты на целевой хост летят с WAN pfSense, потому что по таблице маршрутизации у вас WAN от LAN ничем не отличаются (типа, так задумано). Оба ведут в одну и ту же сеть и имеют outbound NAT на адрес интерфейса. Откуда pfSense знать, что вы пробрасываете с WAN на LAN? Может с WAN на WAN? Ведь все эти названия - лишь условность, интерфейсы абсолютно равноправны.
                            Так что с точки зрения теории все ок, так и должно быть. Если посмотрите таблицу маршрутизации, сами все увидите.
                            Если что-то по ошибке работало в старой версии, это еще не значит, что ошибку не надо исправлять только из-за того, что кто-то ее использовал, организовав сущий замес и головоломками))

                            1 Reply Last reply Reply Quote 0
                            • F
                              Feral
                              last edited by

                              Ок. Как мне сделать чтобы натило только с LAN и на дистинайшен хост приходили пакеты с сорсом 192.168.252.105?

                              1 Reply Last reply Reply Quote 0
                              • F
                                Feral
                                last edited by

                                rubic, дорогой коллега, вместо критики я хотел бы услышить конструктивные предложения. Какие правила в таком случае и как поменять? Еще раз - не вижу ошибки в работе старой версии. Почему в новой WAN натит а LAN нет? Давайте уберу все правила NAT c WAN. Это поможет?

                                1 Reply Last reply Reply Quote 0
                                • D
                                  dvserg
                                  last edited by

                                  @Feral:

                                  rubic, дорогой коллега, вместо критики я хотел бы услышить конструктивные предложения. Какие правила в таком случае и как поменять? Еще раз - не вижу ошибки в работе старой версии. Почему в новой WAN натит а LAN нет? Давайте уберу все правила NAT c WAN. Это поможет?

                                  Попробуйте во 2 правиле поставить ограничение на DEST !ваша_сетка Это всё таки нат для интернета.

                                  SquidGuardDoc EN  RU Tutorial
                                  Localization ru_PFSense

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    Feral
                                    last edited by

                                    Не спасло…

                                    Capture3.JPG_thumb
                                    Capture3.JPG

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dvserg
                                      last edited by

                                      В 1 правиле Nat address и Nat port обнулите

                                      SquidGuardDoc EN  RU Tutorial
                                      Localization ru_PFSense

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

                                        @Feral:

                                        rubic, дорогой коллега, вместо критики я хотел бы услышить конструктивные предложения. Какие правила в таком случае и как поменять? Еще раз - не вижу ошибки в работе старой версии. Почему в новой WAN натит а LAN нет? Давайте уберу все правила NAT c WAN. Это поможет?

                                        Когда два интерфейса смотрят в один ethernet сегмент, для исходящего из pfSense трафика используется только один из них. Это отражено в документации, но ссылку я на вскидку сейчас не найду. Какой именно? Как-то выбирает система. С точки зрения port forward выходной интерфейс в правилах, как вы знаете, явно не задашь. Его опять же выбирает система на основе таблицы маршрутизации. А поскольку в ней выход в LAN на первом этапе определен через WAN, то и летит все с него.
                                        Вы лучше объясните задачу не на уровне вашей реализации, а в общих словах. В смысле зачем вам надо-то чтобы один хост ходил на другой через третий. Почему им нельзя говорить напрямую и т.д.

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

                                          Рисуйте схему со связями, адресами\сетями , интерфейсами, т.е. что куда "смотрит" и через что "входит\выходит".

                                          Только внимательно сперва обдумайте все, чтобы не было "аааа…я вот тут еще адрес неправильно указал\забыл указать"

                                          1 Reply Last reply Reply Quote 0
                                          • F
                                            Feral
                                            last edited by

                                            dvserg обнулил NAT порт, а как обнулить NAT address? pfsense там автоматом поставил LAN address…

                                            rubic о чем вы? Какие выборы интерфейсов?? Я с хоста четко обращаюсь на адресс wan на 443 порт, дальше должен отрабатывать pfsense и согласно правилам пробрасывать трафик на дестинайшен хост, если бы LAN натил нормально, то на дистенайшен должен приходит трафик внутри с адресом с интерфейса LAN, а не соурс хоста. Этого не происходит, при чем тут ваши рассуждения?
                                            Честно, даже не хочу спорить.

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