Доступ по обоим не помог.
и вот все что происходит на внешнем ифейсе при попытке подключения к ssh:
# tcpdump -n -tttt -i rl2 host xxx.xxx.xxx.xxx
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rl2, link-type EN10MB (Ethernet), capture size 96 bytes
Код: Выделить всё
2010-12-09 13:34:52.700185 IP xxx.xxx.xxx.xxx.60974 > yyy.yyy.yyy.yyy.5522: S 2315574011:2315574011(0) win 64512 <mss 1460,nop,nop,sackOK>
может я в pf.conf чего напортачил
Код: Выделить всё
ext_if1="rl0" #Телеконнект
ext_if2="rl2" #Хоумнет
ext_gw2="222.222.222.222" #шлюз Хоумнет
ext_gw1="111.111.111.111" #шлюз Телеконнект
int_if="rl1" #локальный интерфейс
localnet="192.168.1.0/24" #локальная сеть
den_host="192.168.1.39" #моё
#пропустить проверку на петле
set skip on lo0
#включить логи на интерфейсах
set loginterface rl0
set loginterface rl1
set loginterface rl2
#нормализация трафа
scrub in all
scrub out all
#используем ftp-proxy для доступа к фтп серверам в инете
nat-anchor "ftp-proxy/*"
#используем ftp-proxy для доступа к фтп серверам в инете
rdr-anchor "ftp-proxy/*"
#редирект web запросов на squid
rdr on $int_if proto tcp from $localnet to any port http -> $int_if port 3232
#натим внешние интерфейсы
nat on $ext_if1 from $int_if:network to any -> ($ext_if1)
nat on $ext_if2 from $int_if:network to any -> ($ext_if2)
#редирект на ftp-proxy
rdr pass on $int_if proto tcp from $localnet to any port {ftp,ftp-data} -> 127.0.0.1 port 8021
block all #блок всего по-умолчанию
antispoof quick for { lo0 $int_if }
#используем frp-proxy для доступа к фтп серверам в инет
anchor "ftp-proxy/*"
#пропускаем все исходящие пакеты на внутреннем инт.
pass out log on $int_if from any to $localnet
#разрешаем доступ к ssh для меня
pass in quick log on $int_if proto tcp from $den_host to $int_if port 5522
#запрещаем доступ к ssh для лок.сети
block in quick log on $int_if proto tcp from $localnet to $int_if port 5522
#доступ к ssh из инета
pass in quick log on $ext_if2 proto tcp from any to $ext_if2 port 5522
pass in quick log on $ext_if1 proto tcp from any to $ext_if1 port 5522
#пропускаем все!!! пакеты для шлюза из лок.сети
pass in quick log on $int_if from $localnet to $int_if
#доступ к почтальону из инета
pass in quick log on $ext_if2 proto tcp from any to $ext_if2 port smtp
#доступ к ftp из инета
pass in quick log on $ext_if2 proto tcp from any to $ext_if2 port {ftp,ftp-data}
#доступ к зеркалу нода из инета
pass in log on $ext_if2 proto tcp from any to $ext_if2 port 2221
#балансировка
pass in route-to { ($ext_if2 $ext_gw2), ($ext_if1 $ext_gw1) } round-robin from $localnet to any
#основные выпускающие правила
pass out log on $ext_if1 proto tcp from any to any flags S/SA modulate state
pass out log on $ext_if1 proto {udp, icmp} from any to any
pass out log on $ext_if2 proto tcp from any to any flags S/SA modulate state
pass out log on $ext_if2 proto {udp, icmp} from any to any
#маршрутизация пакетов по принадлежности
pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any