Есть схема LAN1<->FBSD1<->internet<->Router(nat+port forwarding)<->FBSD2<->LAN2
Нужно поднять IPsec так, чтобы виделись LAN1 & LAN2. На router'е все соединения проброшены на FBSD2 (на fake адреса). Отключить NAT не реально, таковы условия подключения провайдера. Для обмена ключами исползую racoon. В ядре поддержка IPsec включена. Использую следующую конфигурацию:
FBSD1:rc.conf
gif_interfaces="gif0"
gifconfig_gif0="62.33.32.133 217.106.168.165"
ifconfig_gif0="inet 192.168.100.253 192.168.0.253 netmask 255.255.255.255"
static_routes="vpn"
route_vpn="192.168.0.0/24 -interface gif0"
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
FBSD1:ipsec.conf
flush;
spdflush;
spdadd 62.33.32.133/32 217.106.168.165/32 ipencap -P out ipsec esp/tunnel/62.33.32.133-217.106.168.165/require;
spdadd 192.168.50.2/32 62.33.32.133/32 ipencap -P in ipsec esp/tunnel/217.106.168.165-62.33.32.133/require;
FBSD1:ifconfig:
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 62.33.32.133 netmask 0xffffffc0 broadcast 62.33.32.191
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.100.254 netmask 0xffffff00 broadcast 192.168.100.255
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet 62.33.32.133 --> 217.106.168.165
inet 192.168.100.253 --> 192.168.0.253 netmask 0xffffffff
FBSD2:rc.conf
gif_interfaces="gif0"
gifconfig_gif0="192.168.50.2 62.33.32.133"
ifconfig_gif0="inet 192.168.0.253 192.168.100.253 netmask 255.255.255.255"
static_routes="vpn"
route_vpn="192.168.100.0/24 -interface gif0"
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
FBSD2:ipsec.conf
flush;
spdflush;
spdadd 192.168.50.2/32 62.33.32.133/32 ipencap -P out ipsec esp/tunnel/192.168.50.2-62.33.32.133/require;
spdadd 62.33.32.133/32 217.106.168.165/32 ipencap -P in ipsec esp/tunnel/62.33.32.133-192.168.50.2/require;
FBSD2:ifconfig:
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.50.2 netmask 0xfffffffc broadcast 192.168.50.3
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet 192.168.50.2 --> 62.33.32.133
inet 192.168.0.253 --> 192.168.100.253 netmask 0xffffffff
На роутере IP: 217.106.168.165 port forwarding > 192.168.50.2
С выключеным IPsec все работет. Туннель пакеты пересылает пинги ходят. При включении IPsec транспорт не работает, в логах особых замечаний нет. Но пинги не идут. Реально реализовать такую схему с использованием NAT+Potr forwarding? Если видны ошибки прошу высказываться.
P.S. Без NAT данная схема работет уже не в одном месте.
Заранее благодарен всем за ответы