Lede软路由开启Softether UDP加速

最近被梅林固件折腾的没脾气了,总是运行一段时间就无法SSH、服务无法重启、DNS无法解析等问题,内存、CPU、日志也都看不出来问题。

昨天终于把家里的出口设备从华硕的AC66U-B1换成了运行在ESXi中的Lede软路由,把VPN服务也从OpenVPN换成了Softether,发现Softether真的是比OpenVPN强太多了,但是遇到一个小问题,就是无论如何都开启不了UDP加速,状态里显示是支持UDP加速,但是未激活。

最开始我以为是因为要给Softether设置UDP监听端口,但是找了半天也没找到设置UDP端口的地方,最后在Google里找到一篇关于在防火墙中为Softether开启UDP加速的文章,文章指向了Softether Github中的一段源码。Link

// Range of port numbers
#define	UDP_SERVER_PORT_LOWER				40000		// Minimum port
#define	UDP_SERVER_PORT_HIGHER				44999		// Maximum port

这段代码指示了其UDP是在这个端口区间中监听,后来通过Wireshark抓包也证实了客户端真的在很努力的连接服务器的40000端口,但是一直连接失败。

这时我想到有可能是Lede防火墙的问题,因为OpenWRT系列操作系统的防火墙策略相对比较严格,我SSH连接上去发现,果然没有开启40000到44999区间端口的连接允许。然后运行:

iptables -I INPUT 1 -p udp --dport 40000:44999 -j ACCEPT

再使用客户端测试。完美启动了UDP加速。

留下评论

电子邮件地址不会被公开。 必填项已用*标注