Пытаюсь настроить новый шлюз на базе FreeBSD + PF PF заменательно работает и даже rdr отрабатывает завозачивая запрос на проксю на внутреннем интерфейсе но когда дело касается прослушивания внешнего порта и проброски на локальную машину затыкается. Помогите ПЛЗ ???
pfctl -ss
serv# pfctl -ss
No ALTQ support in kernel
ALTQ related functions disabled
all tcp 192.168.1.77:21 <- 192.168.1.79:1183 ESTABLISHED:ESTABLISHED
all udp 192.168.1.255:137 <- 192.168.1.100:137 NO_TRAFFIC:SINGLE
all udp 192.168.1.255:137 <- 192.168.1.198:137 NO_TRAFFIC:SINGLE
all tcp 195.239.111.59:5222 <- 192.168.1.152:1043 ESTABLISHED:ESTABLISHED
all tcp 192.168.1.152:1043 -> 85.113.204.19:63181 -> 195.239.111.59:5222 ESTABLISHED:ESTABLISHED
all tcp 205.188.5.81:5190 <- 192.168.1.152:1046 ESTABLISHED:ESTABLISHED
all tcp 192.168.1.152:1046 -> 85.113.204.19:50691 -> 205.188.5.81:5190 ESTABLISHED:ESTABLISHED
all tcp 217.15.142.234:22 <- 192.168.1.152:1053 FIN_WAIT_2:FIN_WAIT_2
all tcp 192.168.1.152:1053 -> 85.113.204.19:63262 -> 217.15.142.234:22 FIN_WAIT_2:FIN_WAIT_2
all tcp 217.15.142.234:21 <- 192.168.1.152:1060 TIME_WAIT:TIME_WAIT
all tcp 192.168.1.152:1060 -> 85.113.204.19:62587 -> 217.15.142.234:21 TIME_WAIT:TIME_WAIT
all udp 192.168.1.255:137 <- 192.168.1.188:137 NO_TRAFFIC:SINGLE
all tcp 192.168.1.77:445 <- 192.168.1.123:3233 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 63.245.209.93:80 <- 192.168.1.152:1069 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 77.67.20.16:80 <- 192.168.1.152:1071 FIN_WAIT_2:FIN_WAIT_2
all tcp 85.113.204.19:57886 -> 77.67.20.17:80 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 212.58.246.91:80 <- 192.168.1.152:1073 FIN_WAIT_2:FIN_WAIT_2
all tcp 85.113.204.19:41303 -> 212.58.246.91:80 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 77.67.20.26:80 <- 192.168.1.152:1075 FIN_WAIT_2:FIN_WAIT_2
all tcp 85.113.204.19:50120 -> 77.67.20.41:80 FIN_WAIT_2:FIN_WAIT_2
all tcp 192.168.1.77:23 <- 192.168.1.79:1876 ESTABLISHED:ESTABLISHED
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1077 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1079 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1081 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1083 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1090 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1093 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1095 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1097 TIME_WAIT:TIME_WAIT
all udp 192.168.1.255:138 <- 192.168.1.30:138 NO_TRAFFIC:SINGLE
all udp 192.168.1.255:137 <- 192.168.1.141:137 NO_TRAFFIC:SINGLE
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1099 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1101 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1108 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1109 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1107 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1112 FIN_WAIT_2:FIN_WAIT_2
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1113 FIN_WAIT_2:FIN_WAIT_2
all udp 192.168.1.255:138 <- 192.168.1.112:138 NO_TRAFFIC:SINGLE
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1115 TIME_WAIT:TIME_WAIT
all tcp 127.0.0.1:3128 <- 192.168.1.77:80 <- 192.168.1.152:1117 FIN_WAIT_2:FIN_WAIT_2
all udp 192.168.1.255:137 <- 192.168.1.6:137 NO_TRAFFIC:SINGLE
all udp 192.168.1.255:138 <- 192.168.1.121:138 NO_TRAFFIC:SINGLE
all udp 192.168.1.255:138 <- 192.168.1.137:138 NO_TRAFFIC:SINGLE
all udp 192.168.1.255:138 <- 192.168.1.110:138 NO_TRAFFIC:SINGLE
all udp 192.168.1.255:138 <- 192.168.1.155:138 NO_TRAFFIC:SINGLE
all tcp 192.168.1.79:3389 <- 85.113.204.19:3389 <- 217.15.140.70:57261 PROXY:DST
all tcp 217.15.140.70:57261 -> 192.168.1.79:3389 SYN_SENT:CLOSED
all udp 192.168.1.255:137 <- 192.168.1.136:137 NO_TRAFFIC:SINGLE
сам pf.conf
ext_if = "em0" # macro for external interface - use tun0 for PPPoE
int_if = "em1" # macro for internal interface
lan_net = "192.168.1.0/24"
table <firewall> const {"внешка"}
table <users> persist file "/etc/nat.conf"
table <blacklist> persist file "/etc/black.list"
tcp_ports="{20,21,23,80,443,25,110,465,995,1494,1495,2106,3182,3050,3306,3389,3724,4020,4899,5190,7777,8000,8080,8083,8086}"
tcp_port_in="{ 20,21,22,23,3389 }"
terminal="192.168.1.79/32"
rdr on $int_if inet proto tcp from <users> to any port www -> 127.0.0.1 port 3128
#rdr on $ext_if inet proto tcp from any to any port 23 -> 192.168.1.15
nat on $ext_if from <users> to any -> ($ext_if)
rdr on $ext_if proto tcp from any to any port rdp -> $terminal
#rdr pass on $ext_if proto {tcp} to any port 23 -> 192.168.1.15
#rdr on $ext_if proto tcp from any to any port 3389 -> 192.168.1.79
# не фильтровать трафик на кольцевом интерфейсе
set skip on lo0
# нормализовать входящие пакеты
#scrub in all
# установка политики по умолчанию
block all
# активировать спуфинг защиту для всех интерфейсов
block in quick from urpf-failed
# разрешить ssh соединения только из локальной сети доверенного
# компьютера, 192.168.0.15. Используйте "block return" для того чтобы
# высылался TCP флаг RST для закрытия блокированных соединений немедленно.
# используйте "quick" чтобы правило не было перекрыто правилами расположенными
# ниже.
block return in quick on $int_if proto tcp from ! <users> \
to $int_if port $tcp_ports
# пропускать весь трафик в и из локальной сети.
# эти правила будут создавать записи в таблице состояний,
# благодаря дефолтной опции "keep state", которая будет применена
# автоматически
pass in on $int_if from $lan_net to any
pass out on $int_if from any to $lan_net
# выпустить tcp, udp и icmp трафик на внешнем (Интернет) интерфейсе.
# tcp соединения буду модулироваться, udp/icmp будут отслеживаться
# по таблице состояний.
pass out on $ext_if proto { tcp udp icmp } to any modulate state
# разрешить входящие ssh соединения на внешнем интерфейсе, если они НЕ
# предназначены брандмауэру (например, они предназначены машине внутри
# сети). Логировать инициализационный пакет, так чтобы позже мы смогли
# сказать кто пытался соединиться. используйте tcp syn proxy для проксирования
# соединения. Флаг "S/SA" используемый по умолчанию будет автоматически
# применён к правилу.
pass in log on $ext_if proto tcp from any to ! <firewall> \
port $tcp_port_in synproxy state
pass in log on $ext_if proto tcp from any to $terminal port rdp flags S/SA synproxy state
pass in inet proto icmp all
#block all
#block out on $ext_if all
#pass out quick on $ext_if from <users> keep state
#pass in on $ext_if proto tcp from any to $ext_if port 23 \
rdr-to <firewall> port 23