В общем, рассказываю: конфига была взята не полностью, а частично, и самое главное, что мне нужно было - работает. Но есть и другие фичи, описанные в вышеуказанной статье: их запустить не удалось. Речь идет о quene, synproxy и rdr.
Вот мой пример конфига:
Код: Выделить всё
# Главные переменные
set loginterface tun0
wan="tun0"
lan="10.54.0.0/27"
int="vlan100"
## Разрешаем все и вся кольцевому интерфесу (временная заплатка)
set skip on lo0
## Разрешаем все и вся юзерам из локалки (временная заплатка)
set skip on vlan100
## И свитчу (временная заплатка)
set skip on vlan10
## Переменные пользователей
unicron="10.54.0.1"
andrey="10.54.0.3"
mama="10.54.0.4"
dell="10.54.0.2"
palych="10.54.0.5"
## Cписок немаршрутизируемых адресов, с которых к нам
## будут долбиться на внешний интерфейс, а мы их будем заботливо писать в лог.
non_route_nets_inet="{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 0.0.0.0/8, 240.0.0.0/4 }" # Тут я пока что не стал предпринимать действий, просто ввел переменную.
## В этот список попадают IP адреса тех, кто превысил лимит подключений в единицу времени к сервису ssh.
table <BRUTEFORCERS> persist
## Делаем NAT с внешнего интерфейса на внутренний
nat on $wan from $lan to any -> ($wan)
## И редиректим радмин на ноут
rdr on $wan proto tcp from any to $wan port 4899 -> $dell port 4899
# Режем трафег
#altq on $wan cbq bandwidth 6000Kb queue {dell, qmama, qandrey, qpalych, qssh, qdns, qntp, qack}
#queue qdell bandwidth 30% priority 3 cbq ( borrow )
#queue qmama bandwidth 20% priority 2 cbq ( borrow )
#queue qpalych bandwidth 17% priority 2 cbq ( borrow )
#queue qandrey bandwidth 16% priority 2 cbq ( borrow )
#queue qssh bandwidth 8% priority 4 cbq ( borrow )
#queue qdns bandwidth 2% priority 5 cbq ( borrow )
#queue qntp bandwidth 2% priority 7 cbq ( borrow )
#queue qack bandwidth 5% priority 6 cbq ( borrow )
######################################################################
###################### RULES RULES RULES #############################
######################################################################
## Забклокировать все
block all
## Блокируем нехороших человеков, которые брутфорсили нас
block quick from <BRUTEFORCERS>
## Разрешаем входящие ssh
pass in quick on $wan proto tcp from any to ($wan) port 222
## ssh
# ssh для локальных юзеров
#pass in on $int proto tcp from $lan to $unicron port 222 synproxy state (max-src-conn-rate 5/300, overload <BRUTEFORCERS> flush global) #пока что не разобрался, как оно работает
# и для пользователей с инета
#pass in on $wan proto tcp from any to $wan port 222 synproxy state (max-src-conn-rate 5/300, overload <BRUTEFORCERS> flush global) #пока что не разобрался, как оно работает
## Разрешаем входящие www
pass in quick on $wan proto tcp from any to ($wan) port 80
## Разрешаем нас пинговать
pass in quick on $wan proto icmp from any to ($wan)
## Разрешаем входящие ftp
pass in quick on $wan proto tcp from any to $wan port {21, 60000:65000}
## Разрешить исходящие от локалки
pass out quick on $wan from $lan to any
## Разрешить исходящие от нас
pass out quick on $wan from ($wan) to any
## Разрешаем обратку Torrentflux
pass in quick on $wan proto tcp from any to $wan port {49160:49200}
## Разрешаем UltraVNC
pass in quick on $wan proto tcp from any to $wan port {5900:5901}
## Разрешаем радмин до ноута
#pass in quick on $wan proto tcp from any to $wan port {4899:4900}
Код: Выделить всё
root@unicron:/usr/home/hanggard# pfctl -nf /etc/pf.conf
/etc/pf.conf:33: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:34: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:35: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:36: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:37: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:38: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:39: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:40: Rules must be in order: options, normalization, queueing, translation, filtering
/etc/pf.conf:41: Rules must be in order: options, normalization, queueing, translation, filtering