LINUX.ORG.RU
решено ФорумAdmin

IPSec drops connections without traffic

 , , ,


0

1

Доброго дня.

Есть 2 настроенных VPN туннеля между хостом с CentOS 6.5 (openswan-2.6.49) и двумя Cisco ASA (разные страны). Все поднимается, работает. Но проходит несколько минут (10-20), когда к хостам никто не обращается и туннели отваливаются. Работает одинаково для обоих подключений.
В нормальном состоянии ipsec status показывает вот это:

000 «telenor_bd/0x1»: local_ip/32===local_ip...remote_ip===10.21.9.4/32; erouted; eroute owner: #124
000 «conn/0x1»: myip=unset; hisip=unset;
000 «conn/0x1»: ike_life: 86400s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0
000 «conn/0x1»: policy: PSK+ENCRYPT+TUNNEL+UP+IKEv2ALLOW+SAREFTRACK+lKOD+rKOD; prio: 32,32; interface: ppp0; kind=CK_PERMANENT
000 «conn/0x1»: newest ISAKMP SA: #0; newest IPsec SA: #124; eroute owner: #124;
000 «conn/0x1»: aliases: conn
000 «conn/0x1»: IKE algorithms wanted: AES_CBC(7)_256-SHA1(2)_000-MODP1024(2); flags=-strict
000 «conn/0x1»: IKE algorithms found: AES_CBC(7)_256-SHA1(2)_160-MODP1024(2)
000 «conn/0x1»: ESP algorithms wanted: AES(12)_256-SHA1(2)_000; flags=-strict
000 «conn/0x1»: ESP algorithms loaded: AES(12)_256-SHA1(2)_160
000 «conn/0x1»: ESP algorithm newest: AES_256-HMAC_SHA1; pfsgroup=<N/A>
000 #124: «conn/0x1»:500 IKEv1.0 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 26752s; newest IPSEC; eroute owner; isakmp#123; idle; import:admin initiate
000 #124: «conn/0x1» esp.59554b65@remote_ip esp.4393755@local_ip tun.0@remote_ip tun.0@local_ip ref=0 refhim=4294901761

Когда подключение отваливается, остается только первая часть (без последних двух строчек).
В /var/log/secure есть такие строчки:
localhost pluto[10708]: pending Quick Mode with remote_ip «conn/0x1» took too long — replacing phase 1
Конфиг такой:
conn conn
type=tunnel
authby=secret
auth=esp
ikelifetime=86400s
keylife=28800s
phase2alg=aes256-sha1
ike=aes256-sha1;modp1024
keyexchange=ike
pfs=no
left=loal+ip
leftsubnet=local_ip/32
right=remote_ip
rightsubnets={a.a.a.a/32,b.b.b.b/32,c.c.c.c/32}
dpddelay=30
dpdtimeout=60
dpdaction=restart_by_peer
auto=start

Насколько я понимаю, вот этот самый DPD должен рестартовать все SAs после того, как он решит, что удаленный пир мертв. Но он этого не делает. Админ со стороны Cisco говорит, что у него нет настроек аналогичных dpdaction.
Пробовал выставлять keep_alive в ipsec.conf - команда status говорила, что все SAs установлены, а трафик не идет.
Не подскажете, что нужно еще настроить?



Последнее исправление: dagger_nn (всего исправлений: 1)

Ответ на: комментарий от mky

Как-то это костылем каким-то попахивает. Да и к тому же иногда бывает так, что отваливается коннекшен даже если я прям на удаленном хосте через SSH сижу.

dagger_nn
() автор топика
Ответ на: комментарий от anc

Без дебага в лог только вот это попадает:
pending Quick Mode with remote_ip «conn/0x1» took too long — replacing phase 1
packet from remote_ip:500: phase 1 message is part of an unknown exchange

dagger_nn
() автор топика
Ответ на: комментарий от dagger_nn

Сейчас возможно вы меня закидаете «тряпками», но все-таки...
Если я правильно понял, со стороны кисководов вы не ожидаете вменяемого ответа. Проблема *swan в невменяемых логах, что есть то есть. Попробуйте racoon, гемор конечно в настройке (когда не пользовал), и логи при дэбаге разгребать то еще удовольствие, но вот в отличии от swan после долгого(на самом деле относительно долгого) курения логов найти проблему можно, и потом внести изменения в конфиг swan.
ЗЫ Совет не пальцем в небо, а реально меня тестовый racoon выручал благодаря логам.

anc ★★★★★
()
Ответ на: комментарий от anc

Туннели у меня в два места - в обоих стоят циски. С одними вполне можно договориться, но они сами ничего не предлагают, кроме попытки настроить DPD. Со второй стороной просто бессмысленно пытаться договориться, им нужно четко написать, что нужно сделать.
А racoon можно еще использовать в более-менее современных дистрибах? Я почему-то был уверен, что *swan'ы как раз и пришли на смену racoon.

dagger_nn
() автор топика

Скорее всего, на цисках эти туннели в ondemand (сталкивался неоднократно, когда натягивал со своих линукс-хостов до чужих цисок). Проще, действительно, не парить мозг и пустить периодический пинг.

sand_circle
()
Ответ на: комментарий от sand_circle

отваливается коннекшен даже если я прям на удаленном хосте через SSH сижу

Правда не уточнено, с этой же ошибкой в логах или что-то другое.

mky ★★★★★
()
Ответ на: комментарий от dagger_nn

А racoon можно еще использовать в более-менее современных дистрибах? Я почему-то был уверен, что *swan'ы как раз и пришли на смену racoon.

Вы ошиблись. А уж модераторы на вас вообще смотрят с недоумением :)
На linux серверах я использую как strongswan так и racoon, исторически сложилось, в разных местах под разные задачи. Брат жив :)
ЗЫ просто считается что *swan'ы удобнее в настройке. Это так же как говорить что postfix+dovecot пришел на смену sendmail+cyrus-imapd. Что не верно, и одно и второе и в разных комбинациях работает.

anc ★★★★★
()
18 ноября 2016 г.

Итак, решения найдено не было, поэтому пришлось сочинять костыль. Так как в одну из сетей пинг был запрещен, написал 2 скрипта, в которых по ssh выполняется команда date на каждом из хостов по списку. Теперь ВПН почти не отваливается.

dagger_nn
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.