1я сеть
rc.conf
..
defaultrouter="192.168.242.2" #
..
gif_interfaces="gif0"
gifconfig_gif0="192.168.242.5 192.168.242.6"
ifconfig_gif0="inet 192.168.50.1 192.168.254.1 netmask 0xffffffff"
static_routes="RemoteLan"
route_RemoteLan="192.168.254.0/24 -interface gif0"
racoon_enable="YES"
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
racoon_enable="YES"
ipsec.conf
..
flush;
spdflush;
spdadd 192.168.50.0/24 192.168.254.0/24 any -P out ipsec esp/tunnel/192.168.242.5-192.168.242.6/require;
spdadd 192.168.254.0/24 192.168.50.0/24 any -P in ipsec esp/tunnel/192.168.242.6-192.168.242.5/require;
firewall.sh
/sbin/ipfw add 1110 allow udp from 192.168.242.5 to 192.168.242.6 isakmp
/sbin/ipfw add 1120 allow udp from 192.168.242.6 to 192.168.242.5 isakmp
/sbin/ipfw add 1130 allow esp from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1140 allow esp from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1150 allow ipencap from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1160 allow ipencap from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1170 allow ip from 192.168.50.0/24 to 192.168.254.0/24
/sbin/ipfw add 1180 allow ip from 192.168.254.0/24 to 192.168.50.0/24
кстати, если здесь все разрешить (allow all, вообще, постваить) - результат будет аналогичным
2я сеть
rc.conf
..
defaultrouter="192.168.242.2"
..
gif_interfaces="gif0"
gifconfig_gif0="192.168.242.6 192.168.242.5"
ifconfig_gif0="inet 192.168.254.1 192.168.50.1 netmask 0xffffffff"
static_routes="RemoteLan"
route_RemoteLan="192.168.50.0/24 -interface gif0"
racoon_enable="YES"
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
racoon_enable="YES"
ipsec.conf
flush;
spdflush;
spdadd 192.168.254.0/24 192.168.50.0/24 any -P out ipsec esp/tunnel/192.168.242.6-192.168.242.5/require;
spdadd 192.168.50.0/24 192.168.254.0/24 any -P in ipsec esp/tunnel/192.168.242.5-192.168.242.6/require;
firewall.sh
..
/sbin/ipfw add 1110 allow udp from 192.168.242.6 to 192.168.242.5 isakmp
/sbin/ipfw add 1120 allow udp from 192.168.242.5 to 192.168.242.6 isakmp
/sbin/ipfw add 1130 allow esp from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1140 allow esp from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1150 allow ipencap from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1160 allow ipencap from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1170 allow ip from 192.168.254.0/24 to 192.168.50.0/24
/sbin/ipfw add 1180 allow ip from 192.168.50.0/24 to 192.168.254.0/24
..
аналогично и здесь, с allow all. ничего не движется.
Пинги, между внешними интерфейсами идут. Пингуются, также, удаленные имена внешней реальной сети.
по ifconfig, gif интерфейсы существуют
tcpdump -i gif0 на машине, откуда производится пинг с внутреннего адреса на внутренний адрес удаленной стороны, говорит о нулевой активности.
Есть два момента, после которых все началось. Это лабораторка на vmware 5.5
FreeBSD 5.5 p17
Либо, из-за того, что я поставил статические адреса этим серверам, либо из-за пересборки ядра.
Опции мною добавленные в ядро:
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
options DUMMYNET
options QUOTA
options SUIDDIR
Все, что по IPSEC*, было и раньше и все работало.
Последнне добавил из за отваливания цепочек:
/sbin/ipfw add 5000 divert natd ip from x.x.x.0:255.255.255.0 to any out xmit em0
/sbin/ipfw add 5100 divert natd ip from any to a.a.a.a
x.. и a.. - Переменные. Там другие адреса, на самом деле. просто машины две и решил сюда написать переменные.
До того, как вообще ядро не пересобирал - диверты пахали.
Не думал, что GENERIC (конфиг) отличается от той конфигурации, что ставится с диска. Ибо ничего особо и не трогал.
sysctl.conf пуст был и раньше.
Кстати, раньше были другие правила в firewall.conf
/sbin/ipfw add 1110 pass in log quick proto esp from any to any
/sbin/ipfw add 1120 pass in log quick proto udp from any port = 500 to any port = 500
сейчас, оны вываливаться стали
либо, что-то в ядре перекручено, либо одно из двух
rc.conf
..
defaultrouter="192.168.242.2" #
..
gif_interfaces="gif0"
gifconfig_gif0="192.168.242.5 192.168.242.6"
ifconfig_gif0="inet 192.168.50.1 192.168.254.1 netmask 0xffffffff"
static_routes="RemoteLan"
route_RemoteLan="192.168.254.0/24 -interface gif0"
racoon_enable="YES"
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
racoon_enable="YES"
ipsec.conf
..
flush;
spdflush;
spdadd 192.168.50.0/24 192.168.254.0/24 any -P out ipsec esp/tunnel/192.168.242.5-192.168.242.6/require;
spdadd 192.168.254.0/24 192.168.50.0/24 any -P in ipsec esp/tunnel/192.168.242.6-192.168.242.5/require;
firewall.sh
/sbin/ipfw add 1110 allow udp from 192.168.242.5 to 192.168.242.6 isakmp
/sbin/ipfw add 1120 allow udp from 192.168.242.6 to 192.168.242.5 isakmp
/sbin/ipfw add 1130 allow esp from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1140 allow esp from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1150 allow ipencap from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1160 allow ipencap from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1170 allow ip from 192.168.50.0/24 to 192.168.254.0/24
/sbin/ipfw add 1180 allow ip from 192.168.254.0/24 to 192.168.50.0/24
кстати, если здесь все разрешить (allow all, вообще, постваить) - результат будет аналогичным
2я сеть
rc.conf
..
defaultrouter="192.168.242.2"
..
gif_interfaces="gif0"
gifconfig_gif0="192.168.242.6 192.168.242.5"
ifconfig_gif0="inet 192.168.254.1 192.168.50.1 netmask 0xffffffff"
static_routes="RemoteLan"
route_RemoteLan="192.168.50.0/24 -interface gif0"
racoon_enable="YES"
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
racoon_enable="YES"
ipsec.conf
flush;
spdflush;
spdadd 192.168.254.0/24 192.168.50.0/24 any -P out ipsec esp/tunnel/192.168.242.6-192.168.242.5/require;
spdadd 192.168.50.0/24 192.168.254.0/24 any -P in ipsec esp/tunnel/192.168.242.5-192.168.242.6/require;
firewall.sh
..
/sbin/ipfw add 1110 allow udp from 192.168.242.6 to 192.168.242.5 isakmp
/sbin/ipfw add 1120 allow udp from 192.168.242.5 to 192.168.242.6 isakmp
/sbin/ipfw add 1130 allow esp from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1140 allow esp from 192.168.242.5 to 192.168.242.6
/sbin/ipfw add 1150 allow ipencap from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1160 allow ipencap from 192.168.242.6 to 192.168.242.5
/sbin/ipfw add 1170 allow ip from 192.168.254.0/24 to 192.168.50.0/24
/sbin/ipfw add 1180 allow ip from 192.168.50.0/24 to 192.168.254.0/24
..
аналогично и здесь, с allow all. ничего не движется.
Пинги, между внешними интерфейсами идут. Пингуются, также, удаленные имена внешней реальной сети.
по ifconfig, gif интерфейсы существуют
tcpdump -i gif0 на машине, откуда производится пинг с внутреннего адреса на внутренний адрес удаленной стороны, говорит о нулевой активности.
Есть два момента, после которых все началось. Это лабораторка на vmware 5.5
FreeBSD 5.5 p17
Либо, из-за того, что я поставил статические адреса этим серверам, либо из-за пересборки ядра.
Опции мною добавленные в ядро:
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
options DUMMYNET
options QUOTA
options SUIDDIR
Все, что по IPSEC*, было и раньше и все работало.
Последнне добавил из за отваливания цепочек:
/sbin/ipfw add 5000 divert natd ip from x.x.x.0:255.255.255.0 to any out xmit em0
/sbin/ipfw add 5100 divert natd ip from any to a.a.a.a
x.. и a.. - Переменные. Там другие адреса, на самом деле. просто машины две и решил сюда написать переменные.
До того, как вообще ядро не пересобирал - диверты пахали.
Не думал, что GENERIC (конфиг) отличается от той конфигурации, что ставится с диска. Ибо ничего особо и не трогал.
sysctl.conf пуст был и раньше.
Кстати, раньше были другие правила в firewall.conf
/sbin/ipfw add 1110 pass in log quick proto esp from any to any
/sbin/ipfw add 1120 pass in log quick proto udp from any port = 500 to any port = 500
сейчас, оны вываливаться стали
либо, что-то в ядре перекручено, либо одно из двух