Добрый день! Ситуация такая: Раньше стоял pfsense шлюз с поднятым ipsec'ом, по которому осуществлялось соединение с двумя удалёнными офисами. Pfsense по неизвестным причинам перестал пропускать какие либо пакеты (даже знакомые гуру по сенсу не помогли). Был поставлен шлюз на ubuntu server 14.04, настроены интерфейсы, открыты порты для хождения почты и доступа к ней с внешних устройств. Осталась проблема с ipsec'ом - по моему скромному разумению не проходит аутентификацию. Был поставлен racoon и ipsec-tools.
eth0 - внешний интерфейс 213.79.*.162 eht1 - внутренний интерфейс 192.168.1.2
/etc/racoon/racoon.conf
log notify; path pre_shared_key «/etc/racoon/psk.txt»; path certificate «/etc/racoon/certs»;
listen { isakmp 213.79.*.162[500]; isakmp_natt 213.79.*.162[4500]; strict_address; } remote 79.171.*.10 { # IP нашего пира exchange_mode main; # режим обмена my_identifier address; peers_identifier address; lifetime time 24 hour; # время жизни первой фазы proposal { # секция определения предложений encryption_algorithm aes 256; # алгоритм криптования hash_algorithm md5; # алгоритм хеширования authentication_method pre_shared_key; #метод аутентификации, у нас - шаренные ключи dh_group modp1024; # группа Диффи-Хеллмана } generate_policy off; nat_traversal on; # отключаем nat-traversal } sainfo address 192.168.1.0/24 any address 192.168.2.0/24 any { # IPSEC SA pfs_group modp1024; # группа Диффи-Хеллмана lifetime time 1 hour; # время жизни второй фазы encryption_algorithm aes 256; # алгоритм криптования authentication_algorithm hmac_md5; # алгоритм аутентификации compression_algorithm deflate; # алгоритм компрессии }
remote 109.195.*.144 { # IP нашего пира my_identifier address; peers_identifier address; exchange_mode main; lifetime time 24 hour; # время жизни первой фазы proposal { # секция определения предложений encryption_algorithm aes 256; # алгоритм криптования hash_algorithm md5; # алгоритм хеширования authentication_method pre_shared_key; #метод аутентификации, у нас - шаренные ключи dh_group modp1024; # группа Диффи-Хеллмана } generate_policy off; nat_traversal on; # отключаем nat-traversal } sainfo address 192.168.1.0/24 any address 192.168.7.0/24 any { # IPSEC SA pfs_group modp1024; # группа Диффи-Хеллмана lifetime time 1 hour; # время жизни второй фазы encryption_algorithm aes 256; # алгоритм криптования authentication_algorithm hmac_md5; # алгоритм аутентификации compression_algorithm deflate; # алгоритм компрессии }
/etc/ipsec-tools.conf
flush; #сбросить ассоциации безопасности (SAD) spdflush; # сбросить политики безопасности (SPD)
spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec esp/tunnel/213.79.*.162-79.171.*.10/require; # добавление (SPD), исходящий трафик
spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/79.171.*.10-213.79.*.162/require; # добавление (SPD), входящий трафик
spdadd 192.168.1.0/24 192.168.7.0/24 any -P out ipsec esp/tunnel/213.79.*.162-109.195.*.144/require; # добавление (SPD), исходящий трафик
spdadd 192.168.7.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/109.195.*.144-213.79.*.162/require; # добавление (SPD), входящий трафик
Правила для iptables
iptables -A INPUT -i eth0 -s 79.171.*.10 -p udp --sport 500 --dport 500 -j ACCEPT iptables -A INPUT -i eth0 -s 79.171.*.10 -p udp --sport 4500 --dport 4500 -j ACCEPT iptables -A INPUT -s 79.171.*.10 -p esp -j ACCEPT iptables -A INPUT -s 192.168.2.0/24 -d 192.168.1.2 -m policy --dir in --pol ipsec --proto esp --mode tunnel --tunnel-src 79.171.*.10 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.0/24 -m policy --dir in --pol ipsec --proto esp --mode tunnel --tunnel-src 79.171.*.10 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.2.0/24 -m policy --dir out --pol ipsec --proto esp --mode tunnel --tunnel-dst 79.171.*.10 -j ACCEPT
iptables -A INPUT -i eth0 -s 109.195.*.144 -p udp --sport 500 --dport 500 -j ACCEPT iptables -A INPUT -i eth0 -s 109.195.*.144 -p udp --sport 4500 --dport 4500 -j ACCEPT iptables -A INPUT -s 109.195.*.144 -p esp -j ACCEPT iptables -A INPUT -s 192.168.7.0/24 -d 192.168.1.2 -m policy --dir in --pol ipsec --proto esp --mode tunnel --tunnel-src 109.195.*.144 -j ACCEPT iptables -A FORWARD -s 192.168.7.0/24 -d 192.168.1.0/24 -m policy --dir in --pol ipsec --proto esp --mode tunnel --tunnel-src 109.195.*.144 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.7.0/24 -m policy --dir out --pol ipsec --proto esp --mode tunnel --tunnel-dst 109.195.*.144 -j ACCEPT
В логах такая чехорда
Jul 21 17:56:57 gate racoon: WARNING: PF_KEY EXPIRE message received from kernel for SA being negotiated. Stopping negotiation. Jul 21 17:57:39 gate racoon: ERROR: phase1 negotiation failed due to time up. 5eaa6c5086a34cb1:1347626190b6d087 Jul 21 17:57:57 gate racoon: WARNING: PF_KEY EXPIRE message received from kernel for SA being negotiated. Stopping negotiation. Jul 21 17:58:43 gate racoon: ERROR: phase1 negotiation failed due to time up. d27de5fad48a13f6:368fb0a734ee2168 Jul 21 17:58:57 gate racoon: WARNING: PF_KEY EXPIRE message received from kernel for SA being negotiated. Stopping negotiation. Jul 21 17:59:43 gate racoon: ERROR: phase1 negotiation failed due to time up. cecdd6a4a16e5f97:1121b8b11f578a53 Jul 21 18:00:43 gate racoon: ERROR: phase1 negotiation failed due to time up. 5efa387377de67fc:69d2a8646a4e434a Jul 21 18:01:43 gate racoon: ERROR: phase1 negotiation failed due to time up. b0b49b87bbdea377:c57f065f7543fa9f Jul 21 18:02:43 gate racoon: ERROR: phase1 negotiation failed due to time up. 3abf8438d1033435:de7e003616256c5b Jul 21 18:03:43 gate racoon: ERROR: phase1 negotiation failed due to time up. 07bb694a52615e65:4a16504d3c616bf1
tcpdump -n -i eth0 port 500
18:09:13.928505 IP 109.195.*.144.500 > 213.79.*.162.500: isakmp: phase 2/others ? inf[E] 18:09:13.928701 IP 213.79.*.162.500 > 109.195.*.144.500: isakmp: phase 2/others ? inf[E] 18:09:23.970355 IP 109.195.*.144.500 > 213.79.*.162.500: isakmp: phase 2/others ? inf[E] 18:09:23.970543 IP 213.79.*.162.500 > 109.195.*.144.500: isakmp: phase 2/others ? inf[E] 18:09:25.844919 IP 213.79.*.162.500 > 79.171.*.10.500: isakmp: phase 1 I ident 18:09:25.850394 IP 79.171.*.10.500 > 213.79.*.162.500: isakmp: phase 1 R ident 18:09:25.853138 IP 213.79.*.162.500 > 79.171.*.10.500: isakmp: phase 1 I ident 18:09:25.882199 IP 79.171.*.10.500 > 213.79.*.162.500: isakmp: phase 1 R ident 18:09:25.885132 IP 213.79.*.162.500 > 79.171.*.10.500: isakmp: phase 1 I ident[E]
Что не так и как это поправить?