IPsec VPN 配置与排错
IPsec 在网络层加密和认证流量,常用于站点到站点 VPN。Linux 上常用 strongSwan(swanctl/ipsec)或 Libreswan,配置包括 IKE、ESP、路由和防火墙。
ipsec statusall
ipsec up site-a
ipsec down site-a
swanctl --load-all
swanctl --list-conns
swanctl --list-sas
swanctl --list-pols
swanctl --stats
swanctl.conf 要点:
connections {
site-a {
local_addrs = 10.0.0.1
remote_addrs = 203.0.113.2
proposals = aes256-sha256-modp2048
local { auth = psk; id = 10.0.0.1 }
remote { auth = psk; id = 203.0.113.2 }
children {
net {
local_ts = 10.1.0.0/16
remote_ts = 10.2.0.0/16
esp_proposals = aes256-sha256
dpd_action = restart
}
}
}
}
local_ts/remote_ts 与实际子网、路由不一致时,隧道起来但流量不通。ipsec statusall/swanctl --list-sas 看 SA 状态,不要只看接口。ipsec / swanctl — strongSwan 管理ip route — 路由tcpdump — 抓 IKE/ESP