Debian Jessie 上的 StrongSwan 5.2.1 与 Juniper SSG 550M - 连接寿命短

Debian Jessie 上的 StrongSwan 5.2.1 与 Juniper SSG 550M - 连接寿命短

我们正在尝试针对 Juniper 盒子建立持久的 VPN 连接。然而,存在一些配置错误。当我们启动 StrongSwan 服务时,隧道已开通,所有交通均正常。但是,一旦几秒钟内没有流量,连接就会断开,并且必须重新启动服务。当我们在后台对 VPN 目标 IP 地址运行无限 ping 循环时,连接会继续存在。我们相信,这是某种与保活相关的问题。有人看到任何可能的配置不一致吗?

规格表 - 两个站点都同意以下 IPSec 设置:

第 1 阶段(密钥交换):
加密 {3DES、AES256}:AES256
数据完整性 {MD5,SHA1,SHA2}:SHA256
Diffie-Hellman {MD5,SHA1,SHA2}:5
重新协商 IKE SA {秒}:86400

第 2 阶段(数据传输):
IPSec:ESP
加密 {3DES、AES256}:AES256
数据完整性 {MD5、SHA1、SHA2}:SHA256
PFS:是
Diffie-Hellman:5
SA 生命周期{秒}:3600
IP 压缩:否

相关配置文件如下。

ipsec.conf:

config setup
  charondebug="ike 4, knl 4, cfg 4, net 4, esp 4, dmn 4,  mgr 4"
conn %default
  type=tunnel
  authby=secret
  ikelifetime=86400
  lifetime=3600
  keyexchange=ikev1
  compress=no
  dpdaction=restart
  dpddelay=10s
  dpdtimeout=500s
conn otto-105-183
  also=otto
  rightsubnet=10.108.105.183/32
conn otto-100-34
  also=otto
  rightsubnet=10.108.100.34/32
conn otto-100-35
  also=otto
  rightsubnet=10.108.100.35/32
conn otto
  auto=start
  ike=aes256-sha2_256-modp1536!
  esp=aes256-sha2_256-modp1536!
  left=%defaultroute
  leftsubnet=10.107.54.33/32
  leftfirewall=yes
  right=my_public_IP_address  ; redacted

卡戎.conf:

charon {
    keep_alive = 20s
    crypto_test {
    }
    host_resolver {
    }
    leak_detective {
    }
    processor {
        priority_threads {
        }
    }
    start-scripts {
    }
    stop-scripts {
    }
    tls {
    }
    x509 {
    }
}

答案1

VPN掉线、掉线似乎是一个(经常)超时协商的问题。

我建议更改设备上的 dpd 超时VPN 两端至 30 秒。两者必须具有相同的值。

在Linux端定义就足够了

dpdtimeout=30s

在某些情况下,在处理第 3 方硬件时,根据我的经验,选择较低的死对等超时似乎会更成功。

了解失效对等点检测

失效对等点检测 (DPD) 是网络设备用来验证其他对等设备当前是否存在和可用性的方法。
设备通过向对等方发送加密的 IKE 第 1 阶段通知有效负载(RU-THERE 消息)并等待来自对等方的 DPD 确认(RU-THERE-ACK 消息)来执行 DPD 验证。仅当设备在指定的 DPD 时间间隔内未收到来自对等方的任何流量时,才会发送 RU-THERE 消息。如果设备在此时间间隔内收到来自对等方的 RU-THERE-ACK 消息,则认为对等方处于活动状态。如果设备在隧道上收到来自对等方的流量,则会重置该隧道的 RU-THERE 消息计数器,从而开始新的间隔。如果设备在该时间内没有收到RU-THERE-ACK消息,则认为对端已死亡。

相关内容