重新启动特定的浣熊隧道

重新启动特定的浣熊隧道

我有一些动图*我的 FreeBSD 机器上的接口。它们代表隧道,使用racoon+加密ipsec。如果在某个时刻,其中一个隧道挂断了,我将被迫以racoon这种方式重置:

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

但在这种情况下,所有隧道都会重置,这会导致我的所有隧道短暂失去连接(3-5 秒,但仍然如此)。

有没有什么方法可以重置一个特定的 gif 隧道,同时不接触任何其他隧道?

答案1

您可以通过删除隧道安全关联 (SA) 来强制单个 IPSec 隧道重新连接。

使用它来查找您当前的 SA:

# setkey -D
# setkey -DP

人设置键 (8)

或者也许使用安全/ipsec 工具

答案2

我写了一些东西来帮助我解决这个问题并放入我的 .bash_login 文件中

dtun()
{
  while read a b _ _ 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

相关内容