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

    [Решено частично] Помогите с пробросом пор

    Scheduled Pinned Locked Moved Russian
    15 Posts 4 Posters 6.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
      Alexey12
      last edited by

      Здравствуйте.
      Есть такая задача:
      нужно опубликовать внутренний веб-сервер с нестандартным портом на ВАН-интерфейсе и для одного оределенного ИП - на стандартном.
      ВАН - статический. pfSense 1.2.3 RC3.
      Что я сделал: зашёл в Firewall -> NAT -> Port Forward, добавил 2 правила, заворачивающих трафик, приходящий на ВАН на нестандартный (1) и стандартный (2) порты на веб-сервер на 80 порт:
      If          Proto   Ext. port range     NAT IP              Int. port range

      WAN   TCP    11111       10.x.x.x (ext.: y.y.y.y) 80 (HTTP)            (1)
      WAN   TCP    80 (HTTP)       10.x.x.x (ext.: y.y.y.y) 80 (HTTP)            (2)

      Автоматически создались 2 одинаковых правила в Firewall -> Rules:
      Proto  Source  Port   Destination   Port     Gateway

      TCP       *     *   10.x.x.x     80 (HTTP)   *

      Соответственно, для всех снаружи работает и на порту 11111 и на 80. А мне нужно, чтобы только один клиент с определенного ИП (z.z.z.z) мог коннектиться на 80-й порт, а остальные только на 11111.
      До этого работал только с Керио Винроут Файервол, там все проще, все условия указываются в одном правиле, а здесь в Firewall -> NAT -> Port Forward нет возможности указать источник, что сразу бы решило проблему.
      Можно ли как-нибудь правилами файервола решить проблему, или еще как-нибудь? Может я чего-нибудь не так настраивал…

      Вариант решения в следующем посте.

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

        PortForward меняет адрес назначения, и к сожалению, дальше фильтровать по порту не получится, т.к. уже будет порт 80.
        Если вэб-сервер позволяет., сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать.

        SquidGuardDoc EN  RU Tutorial
        Localization ru_PFSense

        1 Reply Last reply Reply Quote 0
        • A
          Alexey12
          last edited by

          @dvserg:

          Если вэб-сервер позволяет, сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать.

          Да, про это я тоже подумал… наверное придется так и сделать. Жаль, что в НАТе нет возможности указать источник... хотелось обойтись только pfSense.
          Спасибо.

          1 Reply Last reply Reply Quote 0
          • A
            Alexey12
            last edited by

            @ToXaNSK:

            А так нельзя!?
            Подправить правило созданое НАТом автоматически, для 80 порта, где 1 ИП должен быть.
            Firewall: Rules: WAN (Внешний фейс)
            В Source: single host or alias -> ваш ИП которому можно.
            И сохранить.
            Если в будующем будет несколько ИП то можно завести Алиас, он же псевдоним, для нескольких ИП в Firewall: Aliases.

            Если я правильно понял, тогда получится:
            Proto  Source  Port      Destination    Port        Gateway

            TCP          *    *      10.x.x.x        80 (HTTP)      *
            TCP    z.z.z.z    *      10.x.x.x        80 (HTTP)      *
            что проблему никак не решает, т.к. это правило (нижнее) уже содержится в верхнем.

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

              @ToXaNSK:

              А так нельзя!?
              Подправить правило созданое НАТом автоматически, для 80 порта, где 1 ИП должен быть.
              Firewall: Rules: WAN (Внешний фейс)
              В Source: single host or alias -> ваш ИП которому можно.
              И сохранить.
              Если в будующем будет несколько ИП то можно завести Алиас, он же псевдоним, для нескольких ИП в Firewall: Aliases.

              Там не нат а портфорвард.

              SquidGuardDoc EN  RU Tutorial
              Localization ru_PFSense

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

                @Alexey12:

                @dvserg:

                Если вэб-сервер позволяет, сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать.

                Да, про это я тоже подумал… наверное придется так и сделать. Жаль, что в НАТе нет возможности указать источник... хотелось обойтись только pfSense.
                Спасибо.

                NAT и portforward разные вещи. Для себя представьте, что нат выпускает наружу, а портфорвард пропускает снаружи внутрь.
                При этом НАТ маскирует исходящие адреса в пакетах.
                Портфорвард меняет адрес назначения с адреса роутера на адрес локального компа, при этом в PF на фильтр передается уже измененный пакет, и фильтр не знает исходный dst (адр/порт) пакета.

                SquidGuardDoc EN  RU Tutorial
                Localization ru_PFSense

                1 Reply Last reply Reply Quote 0
                • A
                  Alexey12
                  last edited by

                  @dvserg:

                  @Alexey12:

                  @dvserg:

                  Если вэб-сервер позволяет, сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать.

                  Да, про это я тоже подумал… наверное придется так и сделать. Жаль, что в НАТе нет возможности указать источник... хотелось обойтись только pfSense.
                  Спасибо.

                  NAT и portforward разные вещи. Для себя представьте, что нат выпускает наружу, а портфорвард пропускает снаружи внутрь.
                  При этом НАТ маскирует исходящие адреса в пакетах, а портфорвард меняет адрес назначения с адреса роутера на адрес локального компа.

                  Да, согласен, немного неправильно употребил терминологию. Имелся ввиду именно портфорвард.
                  А то что нет источника в Firewall -> NAT -> Port Forward, это ограничение pfSense или PF?

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

                    Да, согласен, немного неправильно употребил терминологию. Имелся ввиду именно портфорвард.
                    А то что нет источника в Firewall -> NAT -> Port Forward, это ограничение pfSense или PF?

                    PFSense.. Вот правило PF, здесь все есть
                    rdr on tl0 proto tcp from 27.146.49.14 to any port 80 -> 192.168.1.20 port 80

                    Я так понимаю это исторически с m0n0wall еще.

                    SquidGuardDoc EN  RU Tutorial
                    Localization ru_PFSense

                    1 Reply Last reply Reply Quote 0
                    • A
                      Alexey12
                      last edited by

                      Спасибо за ответ, но я не знаю, как мне быть с этим правилом, опыта и знаний пока не хватает. :)
                      Не понятно только почему в pfSense это не реализовано, неужели кроме меня это никому не потребовалось?

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

                        @Alexey12:

                        Спасибо за ответ, но я не знаю, как мне быть с этим правилом, опыта и знаний пока не хватает. :)
                        Не понятно только почему в pfSense это не реализовано, неужели кроме меня это никому не потребовалось?

                        Вам кабриолет или ехать?  ;D Сделайте на 2 портах, "чтобы работало"

                        SquidGuardDoc EN  RU Tutorial
                        Localization ru_PFSense

                        1 Reply Last reply Reply Quote 0
                        • A
                          Alexey12
                          last edited by

                          Я так понимаю, что тему пора закрывать. Всем спасибо.

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

                            Ничего не понял.. а вот такое разве не решает проблему? :

                            Proto Source       Port  Destination          Port          Gateway

                            Pass  TCP   SOMEONE   *     WAN address        80 (HTTP)  *
                            Block TCP   SOMEONE   *     WAN address        11111        *
                            Pass  TCP   *              *     WAN address        11111        *
                            Block TCP   *              *     WAN address        80 (HTTP)  *

                            Pass TCP *              *    10.x.x.x              80 (HTTP)  *

                            1 Reply Last reply Reply Quote 0
                            • E
                              Eugene
                              last edited by

                              Нет, все правила применяются после port-forward.

                              http://ru.doc.pfsense.org

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

                                Спасибо, буду знать.. а где-нибудь есть packet flow diagram для pf?

                                1 Reply Last reply Reply Quote 0
                                • E
                                  Eugene
                                  last edited by

                                  Да, собственно, вроде всё просто - приём пакета на интерфейсе X, NAT (port forward, 1:1), rules на интерфейсе X, если пакет должен форвардиться на другой интерфейс Y, то ещё Outbound NAT

                                  http://ru.doc.pfsense.org

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