Closed void285 closed 1 year ago
问题解决了,跟防火墙没关系,iptables和nftables的混用、那个提示都没关系。原因是服务器使用了fix-gro参数,而这次客户端这里忘记了加fix-gro参数。
前两年配置老路由器的时候修改了/etc/init.d/udp2raw,让它运行二进制文件前在临时生成的配置文件中加入这个参数,这次在新路由器上重新配置系统,忘记做这个修改了,改了就好了。
最后一行就是需要加的内容,如果luci-app-udp2raw可以配置这个选项会好些,可以帮助排查配置项上的差异。
[ -n "$log_level" ] && echo "--log-level ${log_level}" >> $config_file
echo "--disable-color" >> $config_file
echo "--fix-gro" >> $config_fil
之前客户端一直运行在OpenWrt19.07上,分别试用两年前和最新的版本,都没有问题。 另一台设备安装了22.03的OpenWrt,运行同样两个版本的udp2raw客户端,尝试连接相同的服务器,但始终无法与服务器建立稳定连接。
服务器日志中循环以下内容:
一开始完全没头绪,后来发现22.03版OpenWrt的
概览->防火墙
url为 http://192.168.1.1/cgi-bin/luci/admin/status/nftables,页面有如下提示,于是怀疑是防火墙导致的:作为对比,旧版本的OpenWrt的
概览->防火墙
url为http://192.168.1.1/cgi-bin/luci/admin/status/iptables,另外OpenWrt的wiki页面提示:Since OpenWrt 22.03, [fw4](https://openwrt.org/docs/guide-user/firewall/overview) is used by default, and it generates nftables rules.
,我怀疑nftables导致了握手失败。