[Решено частично] Помогите с пробросом пор
-
Здравствуйте.
Есть такая задача:
нужно опубликовать внутренний веб-сервер с нестандартным портом на ВАН-интерфейсе и для одного оределенного ИП - на стандартном.
ВАН - статический. pfSense 1.2.3 RC3.
Что я сделал: зашёл в Firewall -> NAT -> Port Forward, добавил 2 правила, заворачивающих трафик, приходящий на ВАН на нестандартный (1) и стандартный (2) порты на веб-сервер на 80 порт:
If Proto Ext. port range NAT IP Int. port rangeWAN 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 GatewayTCP * * 10.x.x.x 80 (HTTP) *
Соответственно, для всех снаружи работает и на порту 11111 и на 80. А мне нужно, чтобы только один клиент с определенного ИП (z.z.z.z) мог коннектиться на 80-й порт, а остальные только на 11111.
До этого работал только с Керио Винроут Файервол, там все проще, все условия указываются в одном правиле, а здесь в Firewall -> NAT -> Port Forward нет возможности указать источник, что сразу бы решило проблему.
Можно ли как-нибудь правилами файервола решить проблему, или еще как-нибудь? Может я чего-нибудь не так настраивал…Вариант решения в следующем посте.
-
PortForward меняет адрес назначения, и к сожалению, дальше фильтровать по порту не получится, т.к. уже будет порт 80.
Если вэб-сервер позволяет., сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать. -
Если вэб-сервер позволяет, сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать.
Да, про это я тоже подумал… наверное придется так и сделать. Жаль, что в НАТе нет возможности указать источник... хотелось обойтись только pfSense.
Спасибо. -
А так нельзя!?
Подправить правило созданое НАТом автоматически, для 80 порта, где 1 ИП должен быть.
Firewall: Rules: WAN (Внешний фейс)
В Source: single host or alias -> ваш ИП которому можно.
И сохранить.
Если в будующем будет несколько ИП то можно завести Алиас, он же псевдоним, для нескольких ИП в Firewall: Aliases.Если я правильно понял, тогда получится:
Proto Source Port Destination Port GatewayTCP * * 10.x.x.x 80 (HTTP) *
TCP z.z.z.z * 10.x.x.x 80 (HTTP) *
что проблему никак не решает, т.к. это правило (нижнее) уже содержится в верхнем. -
А так нельзя!?
Подправить правило созданое НАТом автоматически, для 80 порта, где 1 ИП должен быть.
Firewall: Rules: WAN (Внешний фейс)
В Source: single host or alias -> ваш ИП которому можно.
И сохранить.
Если в будующем будет несколько ИП то можно завести Алиас, он же псевдоним, для нескольких ИП в Firewall: Aliases.Там не нат а портфорвард.
-
Если вэб-сервер позволяет, сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать.
Да, про это я тоже подумал… наверное придется так и сделать. Жаль, что в НАТе нет возможности указать источник... хотелось обойтись только pfSense.
Спасибо.NAT и portforward разные вещи. Для себя представьте, что нат выпускает наружу, а портфорвард пропускает снаружи внутрь.
При этом НАТ маскирует исходящие адреса в пакетах.
Портфорвард меняет адрес назначения с адреса роутера на адрес локального компа, при этом в PF на фильтр передается уже измененный пакет, и фильтр не знает исходный dst (адр/порт) пакета. -
Если вэб-сервер позволяет, сделайте 2 порта 80 и 8111, тогда вот теми правилами можно будет по источнику отфильтровать.
Да, про это я тоже подумал… наверное придется так и сделать. Жаль, что в НАТе нет возможности указать источник... хотелось обойтись только pfSense.
Спасибо.NAT и portforward разные вещи. Для себя представьте, что нат выпускает наружу, а портфорвард пропускает снаружи внутрь.
При этом НАТ маскирует исходящие адреса в пакетах, а портфорвард меняет адрес назначения с адреса роутера на адрес локального компа.Да, согласен, немного неправильно употребил терминологию. Имелся ввиду именно портфорвард.
А то что нет источника в Firewall -> NAT -> Port Forward, это ограничение pfSense или PF? -
Да, согласен, немного неправильно употребил терминологию. Имелся ввиду именно портфорвард.
А то что нет источника в 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 еще.
-
Спасибо за ответ, но я не знаю, как мне быть с этим правилом, опыта и знаний пока не хватает. :)
Не понятно только почему в pfSense это не реализовано, неужели кроме меня это никому не потребовалось? -
Спасибо за ответ, но я не знаю, как мне быть с этим правилом, опыта и знаний пока не хватает. :)
Не понятно только почему в pfSense это не реализовано, неужели кроме меня это никому не потребовалось?Вам кабриолет или ехать? ;D Сделайте на 2 портах, "чтобы работало"
-
Я так понимаю, что тему пора закрывать. Всем спасибо.
-
Ничего не понял.. а вот такое разве не решает проблему? :
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) *
-
Нет, все правила применяются после port-forward.
-
Спасибо, буду знать.. а где-нибудь есть packet flow diagram для pf?
-
Да, собственно, вроде всё просто - приём пакета на интерфейсе X, NAT (port forward, 1:1), rules на интерфейсе X, если пакет должен форвардиться на другой интерфейс Y, то ещё Outbound NAT