Android连接strongswan问题

关键字:android、strongswan、vpn、mtu、1360、无法上网
时间:2019年11月

现象

iPhone手机连接已经配置好strongswan的VPN服务器,已经能够正常访问公网。
Android手机连接同一台VPN服务器,手机状态栏已经出现VPN图标,但无法打开网页。

解决办法

在VPN服务器端执行如下脚本

root@debian:~# iptables -t mangle -A FORWARD -s 10.0.0.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360

10.0.0.0/24为你的手机连接vpn获取的ip地址池。

原因分析

Android手机连接VPN后的MTU协商值不太合适,通过iptables拦截MTU协商包并强行修改为1360。