Люди. Помогите, пожалуйста настроить pf. Полный новичек в этом деле.
Ищу уже целый .. блин больше суток точно правило - почему block all стоит в pf не в конце, а (вот не найду хоть тресни!!!) где-то в середине правил.
Прочитал статью http://www.lissyara.su/articles/openbsd/pf/pf/ по настройке pf. Попробовал воспроизвести это дело, но постоянно сталкиваюсь с проблемой, что нет доступа с локальной машины, где этот pf стоит, в инет. При этом, клиентские локальные машины спокойно через нее в инет ходят.
Логично предположить, что правило "pass out on $ext_if_cheap from $ext_if_cheap to any" как бы ее пускать должно, но нет.
ping ya.ru
ping: cannot resolve ya.ru: Host name lookup failure
таблица двояка:
Код: Выделить всё
pfctl -sa
pfctl -sa
TRANSLATION RULES:
nat on tun0 inet from 192.168.1.0/24 to any -> (tun0) round-robin
nat on tun0 inet from 192.168.2.0/24 to any -> (tun0) round-robin
FILTER RULES:
scrub in all fragment reassemble
block drop in quick on ! tun0 inet from x.x.x.x to any
block drop in quick inet from x.x.x.x to any
block return all
pass out on tun0 inet from x.x.x.x to any flags S/SA keep state
pass out on tun0 inet from 192.168.1.0/24 to any flags S/SA keep state
pass out on tun0 inet from 192.168.2.0/24 to any flags S/SA keep state
pass log inet proto icmp all icmp-type echoreq keep state
pass log inet proto icmp all icmp-type unreach keep state
правила:
ext_if_cheap="tun0"
int_if="nfe0"
icmp_types="{ echoreq, unreach}"
trusted_lan="{ 192.168.1.0/24, 192.168.2.0/24 }"
untrusted_lan="10.0.0.0/8"
localnet="127.0.0.0/8"
set block-policy return
set skip on lo0
set skip on $int_if
scrub in all
nat on $ext_if_cheap from $trusted_lan to any -> ($ext_if_cheap)
antispoof quick for $ext_if_cheap
block all
pass out on $ext_if_cheap from $ext_if_cheap to any keep state
pass out on $ext_if_cheap from $trusted_lan to any keep state
pass log inet proto icmp all icmp-type $icmp_types
почему pf не пускает локальную машину?