>man racoon
>
> dpd_delay delay;
> По описанию - как раз то что мне нужно, но это не работает. Сегодня пол-дня записывал результаты tcpdump и racoon.log с разными значениями dpd_delay от 0 до 60.
Обобщенные результаты:
1. Туннель жив и функционирует:
#tcpdump src host $REMOTE_PEER or dst host $REMOTE_PEER
каждые (приблизительно) 20 секунд (не зависит от параметра dpd_delay)
IP XXX.XXX.XXX.XXX.isakmp > YYY.YYY.YYY.YYY.isakmp:isakmp:phase2/others I inf[E]
IP YYY.YYY.YYY.YYY.isakmp > XXX.XXX.XXX.XXX.isakmp:isakmp:phase2/others R inf[E]
IP XXX.XXX.XXX.XXX.isakmp > YYY.YYY.YYY.YYY.isakmp:isakmp:phase2/others I inf[E]
IP YYY.YYY.YYY.YYY.isakmp > XXX.XXX.XXX.XXX.isakmp:isakmp:phase2/others R inf[E]
2. Туннель упал на ASA, но со стороны Linux-клиента жив:
#tcpdump src host $REMOTE_PEER or dst host $REMOTE_PEER
периодичность пакетов не поддается класификации (не зависит от параметра dpd_delay)
IP XXX.XXX.XXX.XXX.isakmp > YYY.YYY.YYY.YYY.isakmp:isakmp:phase2/others I oakley-quick[E]
IP XXX.XXX.XXX.XXX.isakmp > YYY.YYY.YYY.YYY.isakmp:isakmp:phase2/others I oakley-quick[E]
IP XXX.XXX.XXX.XXX.isakmp > YYY.YYY.YYY.YYY.isakmp:isakmp:phase2/others I oakley-quick[E]
в racoon.log синхронно с отправкой этих пакетов наблюдаем ...resend phase2... когда истекает время у второй фазы (а оно истекает раньше чем у первой) получаем - IPSec-SA expired,...,ERROR YYY.YYY.YYY.YYY give up to get IPSec-SA due to time up to wait....
соответственно ответа от ASA нет и эта ситуация продолжается до тех пор пока не истечет время первой фазы, тогда в racoon.log - ISAKMP-SA expired, ISAKMP-deleted - снова восстанавливаются первая и вторые фазы и все повторяется заново.
Перед началом экспериметов пересобрал ipsec-tools-0.7.2 с нуля со следующими параметрами:
--enable-natt --enable-adminport --enable-stats --enable frag --enable-dpd --enable-fastquit --disable-ipv6 --disable-security-context
Также попробовал на версии ipsec-tools-0.7. И на разных ядрах 2.6.24.4 и 2.6.27.8.