Поставили в одном филиале FreeBSD 7.2
Подняли ipsec тунель с головным офисом (cisco)Установил и настроил pf
конфиг
set block-policy drop
set state-policy floating
#set loginterface $wan_if
set limit { frags 100000, states 100000 }
set optimization normal
set skip on { lo0 $lan_if}
#
scrub in all
#
nat on $wan_if from $lan to any -> ($wan_if)
no nat from $lan to $mskantispoof quick for $wan_if
block on $wan_if all
pass out on $wan_if proto tcp to any port $tcp_ports keep state
pass out on $wan_if proto udp to any port $udp_ports keep statepass from {$ip_ak $msk} to any
pass to {$ip_ak $msk}
когда pf выключен то все работает, компы в обоих сетках другу друга видят трафик весь ходит.Как только включаем pf из филиала в головной офис проходит только icmp все остальное режется. причем правилом block in on $wan_if all
Из головного офиса при этом все робит.
Что я делаю не так? помогите уже мозг вспотел :)
При использовании PF в правилах фаера должны быть строки (у мене так работает):
ip_tun1="IP1"
Ip_tun2="IP2"pass out quick on $ext proto udp from $ip_tun1 port = isakmp to $ip_tun2 port = isakmp
pass out quick on $ext proto esp from $ip_tun1 to $ip_tun2
pass out quick on $ext proto ipencap from $ip_tun1 to $ip_tun2pass in quick on $ext proto udp from $ip_tun2 port = isakmp to $ip_tun1 port = isakmp
pass in quick on $ext proto esp from $ip_tun2 to $ip_tun1
pass in quick on $ext proto ipencap from $ip_tun2 to $ip_tun1
pass from {$ip_ak $msk} to any
pass to {$ip_ak $msk}
на сколько я понимаю мои правила шири и поглощают ваш пример.у меня происходит блок на in wan, режется обратка это видно в логах
tcpdump: WARNING: pflog0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pflog0, link-type PFLOG (OpenBSD pflog file), capture size 96 bytes
000000 rule 1/0(match): block in on rl0: 192.168.0.6.3389 > 192.168.2.200.55985: tcp 32 [bad hdr length 0 - too short, < 20]
2. 108460 rule 1/0(match): block in on rl0: 93.157.177.16.60519 > 255.255.255.255.1947: UDP, length 40
1. 022291 rule 1/0(match): block in on rl0: 192.168.0.6.3389 > 192.168.2.200.55985: tcp 32 [bad hdr length 0 - too short, < 20]
6. 562174 rule 1/0(match): block in on rl0: 192.168.0.6.3389 > 192.168.2.200.55985: tcp 32 [bad hdr length 0 - too short, < 20]это пример телнет сессии с компа 192,168,2,200 на 192,168,0,6
, я вообще не понимаю как туда попадают пакеты из тунеля.
да отдельных интерфейсов для тунеля я не использую.
дак
$wan_if
чему равен ??????
>дак
> $wan_if
>чему равен ??????wan_if="rl0"
lan_if="rl1"
вот такой конфиг работает как надо,только вот терзают смутные сомнения на сколько правильна такая конструкция -- block log on $wan_if from ! $msk###########################################################################
set block-policy drop
set state-policy floating
#set loginterface $wan_if
set limit { frags 100000, states 100000 }
set optimization normal
set skip on { lo0 $lan_if}
################################################################################
#
scrub in log all
#
nat on $wan_if from $lan to any -> ($wan_if)
no nat from $lan to $msk###############################################################################################
antispoof quick for $wan_if#block log all
block log on $wan_if from ! $msk#################################################################
pass out log on $wan_if proto tcp to any port $tcp_ports keep state
pass out log on $wan_if proto udp to any port $udp_ports keep statepass log from {$ip_ak $msk} to any
pass log to {$ip_ak $msk}