Jump to content

Recommended Posts

Posted

Доброго времени суток!

Имеются следующие правила в PF на шлюзе в интернет:

ext_if = "em1"
int_if = "em0"
table <LAN> const { 192.168.0.0/16, 10.0.0.0/8, 197.0.0.0/8 }
nat on $ext_if from <LAN> to any -> ВНЕШНИЙ_IP
....
##
##      Default DENY policy
##
block on { $ext_if, $int_if } all

pass in quick on $int_if from <LAN> to any keep state
pass in quick on $ext_if from any to <LAN> keep state

И если в конце не добавить правило

pass out quick on $ext_if from ВНЕШНИЙ_IP to any keep state

то не работает интернет у ip'шников которые находят в таблице LAN.

 

А ведь правила для таблицы LAN создавались с keep state и по идее pf должен был разрешить пакету пройти полный путь туда и обратно, или я где то путаюсь ?

Posted (edited)

Лучше использовать такие конструкции:

 

nat on $ext_if inet from !($ext_if) to any -> ($ext_if) # Nat to internet

# Rules: nat and routing
pass out quick on $ext_if from ($ext_if) to any flags S/SA modulate state # allow out from nated if

# rules
pass out quick on $int_if inet proto { tcp, udp } from !(self:network) to $int_if:network flags S/SA modulate state # conn from ext
pass in quick on $int_if inet proto { tcp, udp } from $int_if:network to !(self:network) flags S/SA modulate state # conn to ext

 

Вообще, почитайте: http://www.bsd.md/BSDA/BSDCert/BSDA-course...tml#firewall-pf

 

А не работает потому что после того как НАТ оттранслировал траффик, ПФ-у должно быть разрешено его выпустит.

А без последнего правила вы только разрешили впускать траффик в ПФ из лан для любых сетей ("pass in quick on $int_if from <LAN> to any keep state"),

а вот правило "pass in quick on $ext_if from any to <LAN> keep state" смысла не имеет, ибо в нём написано, что внешнему интерфейсу разрешено принимать входящий траффик для локальных сетей, но они у вас за натом, и если у вас внешний ИП на ext_if то провайдер вам врядли когданибуть что то отправит для локалок, ибо их там быть не должно.

Edited by Ivan_83

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.