Перезапустить конкретный туннель для racoon

У меня есть несколько интерфейсов gif * в моем блоке FreeBSD. Они представляют туннели, зашифрованные с использованием racoon + ipsec . Если в какой-то момент один из туннелей зависает, я вынужден сбросить racoon таким образом:

 /usr/local/etc/rc.d/racoon restart 

Но в этом случае все туннели сбрасываются, что приводит к короткому отсутствию соединения на всех моих туннелях (3-5 секунд, но тем не менее).

Есть ли способ сбросить один конкретный туннель gif, не касаясь других туннелей?

Вы можете принудительно подключить один туннель IPSec, удалив ассоциацию безопасности туннелей (SA).

Используйте это, чтобы найти свои текущие SA:

 # setkey -D # setkey -DP 

мужчина setkey (8)

Или, возможно, используйте инструменты безопасности / ipsec

Я написал что-то, чтобы помочь мне с этим и вставить файл .bash_login

 dtun() { while read ab _ _ c _ do c=${c#*=} echo "delete ${a%[*} ${b%[*} esp ${c%(*}; " | setkey -c done < <(setkey -D | grep $1 -A 1 | tr -d '\n' | sed -e 's/--/\n/g' ) } 

Просто позвоните dtun <IP> чтобы удалить SA