Код: Выделить всё
load anchor rdr_tun from "/usr/local/etc/pf/anchor-rdr-tun"
источник
http://www.openbsd.org/faq/pf/anchors.html
смысл загружаются правила сразу при загрузке основных правил
Сделал ради интереса вместо rdr-anchors значение nat-anchors - визуально не изменилось:
Код: Выделить всё
pfctl -sn
nat on age0 inet from <all_hosts> to any -> (age0) port 1024:65535 round-robin
nat-anchor "int_tun_rdr/*" all
pfctl -a int_tun_rdr -sn
rdr pass on tun1 inet proto tcp from <trust_net> to 10.20.24.17 port = rdp -> 192.168.2.100
pfctl -a int_tun_filtr -sr
pass in quick on tun1 all flags S/SA keep state
pass out quick on tun1 all flags S/SA keep state
Т.е. выглядит что RDR есть
И правило фильтрации есть
При попытки подключении по RDP
Код: Выделить всё
pfctl -sa | grep 3389
all tcp 10.20.24.17:3389 <- 10.20.24.1:60621 TIME_WAIT:TIME_WAIT
all tcp 10.20.24.17:3389 <- 10.20.24.1:51481 TIME_WAIT:TIME_WAIT
all tcp 10.20.24.17:3389 <- 10.20.24.1:59094 TIME_WAIT:TIME_WAIT
tcpdump -nettt -i tun1 | grep 17.3389
00:00:00.507945 AF IPv4 (2), length 52: 10.20.24.1.59094 > 10.20.24.17.3389: Flags [S], seq 2009236445, win 8192, options [mss
Т.е. выглядит пакет на tun1 приходит, а вот в таблице состояний нет упоминания про rdr
При нормальном RDR таблица состояний выглядит так
all tcp 192.168.2.100:3389 (10.20.24.17:3389) <- 10.20.24.1:52352 TIME_WAIT:TIME_WAIT
all tcp 10.20.24.1:52352 -> 192.168.2.100:3389 TIME_WAIT:TIME_WAIT
all tcp 192.168.2.100:3389 (10.20.24.17:3389) <- 10.20.24.1:54604 ESTABLISHED:ESTABLISHED
all tcp 10.20.24.1:54604 -> 192.168.2.100:3389 ESTABLISHED:ESTABLISHED