Андрей писал(а):Сколько сессий ожидается?
$ cat pf.conf
table <rfcnets> {10.0.0.0/8, !192.168.1.0/24, 192.168.0.0/16, !172.16.0.0/16, 172.16.0.0/12 }
table <vpn> persist
#table <vpn> {172.16.0.0/24}
table <me> { self, 172.16.0.1}
# Options: tune the behavior of pf, default values are given.
set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 5 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 1000000, frags 5000 }
set loginterface none
#set optimization normal
set block-policy drop
set require-order yes
set fingerprints "/etc/pf.os"
#set state-policy if-bound
# Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
scrub in all
#nat on em0 from 172.16.0.0/16 to any -> em0
nat on em0 from 172.16.0.0/24 to any -> 89.***.**.**0
nat on em0 from 172.16.1.0/24 to any -> 89.***.**.**1
nat on em0 from 172.16.2.0/24 to any -> 89.***.**.**2
nat on em0 from 172.16.3.0/24 to any -> 89.***.**.**3
nat on em0 from 172.16.4.0/24 to any -> 89.***.**.**4
nat on em0 from 172.16.5.0/24 to any -> 89.***.**.**5
nat on em0 from 172.16.6.0/24 to any -> 89.***.**.**6
nat on em0 from 172.16.7.0/24 to any -> 89.***.**.**7
nat on em0 from 172.16.8.0/24 to any -> 89.***.**.**8
nat on em0 from 172.16.9.0/24 to any -> 89.***.**.**9
nat on em0 from 172.16.10.0/24 to any -> 89.***.**.*30
#nat on em0 from 172.16.0.0/16 to em0 -> em0
# Разрешаем loopback (а куда без него?)
pass quick on lo from any to any
# ЗДЕСЬ ОПИСЫВАЕМ ВСЕ IN ПРАВИЛА
#запрещаем локальные сети на внешнем интерфейсе
block in quick on em0 from <rfcnets> to any
# Этот блок правил обеспечивает работу только сервисов на самом сервере
# icmp
pass in quick inet proto icmp from any to 10.10.201.201 icmp-type echoreq keep state
#pass in quick inet proto icmp from any to self icmp-type echoreq keep state
# http,https
pass in quick proto tcp from any to 10.10.201.201 port {443, 80} flags S/SA keep state
# dns
pass in quick proto {tcp, udp} from any to <me> port domain flags S/SA keep state
# GRE наружу
pass in quick proto gre from any to <me> keep state
# pptp
pass in quick proto tcp from any to 10.10.201.201 port 1723 flags S/SA keep state
# Все остальное ко мне закрываем нахрен
block in quick from any to <me>
block quick from 172.16.0.0/16 to 172.16.0.0/16
# Разрешаем ВПН
pass in quick inet from <vpn> to any
pass in quick inet from any to <vpn>
# остатки входящего блокируем и логгируем нафиг
block in quick all
# ЗДЕСЬ ОПИСЫВАЕМ ВСЕ OUT ПРАВИЛА
# RFC сети на исходящем интерфейсе??? В песду
block out quick on em0 from <rfcnets> to any
#от меня
pass out quick from <me> to any keep state
# и от клиентов
pass out quick from any to <vpn>
pass out quick from <vpn> to any
# А че на выход не описали - блокируем нах до полного разбора
block out quick all
borin писал(а):/me посмотрел на pf и облизнулся, вот был бы один firewall проблем бы выбора не было
borin писал(а):/me посмотрел на pf и облизнулся,
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35