TCP MSS钳制解决Wireguard访问github超时问题

用OpenVPN的时候自带的有mssfix功能,但是Wireguard是没有的,这就导致访问某些网站(github.com)的时候超时无响应
– iptables用法
iptables -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu
– nftables用法
nft add rule ip filter FORWARD tcp flags syn tcp option maxseg size set rt mtu
– Openwrt的话可以直接在防火墙中配置MSS钳制

其它的系统可以放到wireguard的PostUp脚本里面,asus merlin可以放到/jffs/scripts/wgclient-start里面。后来发现如果是从界面配置的wireguard则会自动添加TCPMSS规则,如果是自己用wg-quick手动配置的则需要用上述方法自己添加TCPMSS规则。

这个问题是由于某些网站ICMP或者PMTU不能正常工作导致的,我用ping测试github.com的MTU就测试不出来
参考:
https://www.procustodibus.com/blog/2022/02/wireguard-over-tcp/
https://www.vinoca.org/wireguardzhi-mtu-mss/

发表回复