You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

StrongSwan IKEv2 IPsec隧道已建立但本地服务器忽略回复报文的问题求助

StrongSwan IKEv2 IPsec隧道已建立但本地服务器忽略回复报文的问题求助

我遇到了一个StrongSwan IPsec隧道的棘手问题:隧道通过ESP和IKEv2配置完成,状态显示已正常建立,远程Checkpoint VPN端点也确认能收到我方发送的报文并给出回复,但我的Debian 11服务器却完全忽略了这些回复报文。

环境说明

我的服务器同时持有内网IP 10.0.1.1 和公网IP 100.100.100.100(本地无NAT配置),对端是由其他人负责配置的Checkpoint VPN端点。

本地swanctl配置

我的/etc/swanctl.d/conf.d/test.conf配置如下:

connections {

test {

local_addrs = 100.100.100.100

local {

id = 100.100.100.100

auth = psk

}

remote_addrs = 200.200.200.200

remote {

id = 200.200.200.200

}

children {

test_child {

local_ts = 10.0.1.0/24

remote_ts = 10.0.2.0/24

esp_proposals = aes256-sha256-modp2048

dpd_action = restart

start_action = start

ike {

proposals = aes256-sha256-modp2048

}

}

}

version = 2

dpd_delay = 300s

}

}

secrets {

ike-psk {

secret = "MY_PSK_KEY"

}

}

隧道状态检查

执行swanctl --list-sas查看状态,能看到隧道已建立,但入方向报文数为0,只有出方向有流量:

test: #1, ESTABLISHED, IKEv2, c7742fc57b157ccd_i* b75ae63221a8c6d7_r

local  '100.100.100.100' @ 100.100.100.100[4500]

remote '200.200.200.200' @ 200.200.200.200[4500]

AES_CBC-256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048

established 2326s ago, rekeying in 11899s

test_child: #1, reqid 1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA2_256_128

installed 2326s ago, rekeying in 916s, expires in 1634s

in  cb90145c,      0 bytes,     0 packets

out 883097a1,  15600 bytes,   260 packets,     2s ago

local  10.0.1.0/24

remote 10.0.2.0/24

抓包分析与对端反馈

对端确认能收到我用nc 10.0.2.1 4444发送的测试流量,并且已经回复了报文。我用tcpdump抓包后在Wireshark中解密分析,发现了以下异常:

  • 我方发送的TCP SYN报文(10.0.1.1 → 10.0.2.1)能正常到达对端
  • 对端回复的TCP SYN-ACK报文(10.0.2.1 → 10.0.1.1)已经回到本地,但我方服务器没有发送TCP ACK响应
  • 之后我方会重复发送TCP SYN,对端再次回复SYN-ACK,但始终没有ACK响应

另外,关闭UFW防火墙后,我方服务器会从公网IP 100.100.100.100(而非内网IP 10.0.1.1)发送一个ICMP“端口不可达”的报文,这个情况我在解密后的流量中也能看到。

本地防火墙规则

我配置的UFW规则如下:

ufw allow from 200.200.200.200 port 500,4500 proto udp to any
ufw allow from 10.0.2.0/24 to any

我没有配置任何NAT规则,因为本地服务器本身就在local_ts子网里,发送的流量也确实用了10.0.1.1作为源地址,所以我认为不需要NAT。

我的核心疑问

  1. 为什么对端回复的SYN-ACK会被我方服务器忽略?
  2. 为什么swanctl --list-sas显示入方向报文数为0,但我在Wireshark中明明能看到这些回复报文?

额外网络配置信息

IPsec策略(执行ip xfrm policy输出)

src 10.0.1.0/24 dst 10.0.2.0/24

dir out priority 371839 ptype main

tmpl src 100.100.100.100 dst 200.200.200.200

proto esp spi 0x649d7f4d reqid 1 mode tunnel

src 10.0.2.0/24 dst 10.0.1.0/24

dir fwd priority 371839 ptype main

tmpl src 200.200.200.200 dst 100.100.100.100

proto esp reqid 1 mode tunnel

src 10.0.2.0/24 dst 10.0.1.0/24

dir in priority 371839 ptype main

tmpl src 200.200.200.200 dst 100.100.100.100

proto esp reqid 1 mode tunnel

路由表(执行ip route show table 220输出)

10.0.2.0/24 via 100.100.100.255 dev enp33s0f0 proto static src 10.0.1.1

网卡配置(执行ip a输出)

2: enp33s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

link/ether ab:cd:ef:gh:ij:kl brd ff:ff:ff:ff:ff:ff

inet 100.100.100.100/24 brd 100.100.100.255 scope global dynamic enp33s0f0

valid_lft 81651sec preferred_lft 81651sec

inet 10.0.1.1/24 brd 10.0.1.255 scope global enp33s0f0:0

valid_lft forever preferred_lft forever

备注:内容来源于stack exchange,提问作者Tazq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:43:15