OpenWrt 18.06-SNAPSHOT
iptables v1.6.2
libxtables.so.12
架构 arm_cortex-a7_neon-vfpv4
经过命令检查后发现内核侧 TPROXY 其实是有的,xt_TPROXY、xt_socket、nf_tproxy_ipv4/ipv6 都已加载;但是用户态 iptables 扩展库缺失,libxt_TPROXY.so 和libxt_socket.so 没有,这可能是根本原因。
sed -i '2i export XTABLES_LIBDIR=/data/ShellCrash/xtlib' \
/data/ShellCrash/starts/fw_iptables.sh
Verify steps
Description
情况:
小米路由器BE6500使用ShellCrash,选择Tproxy模式然后重启启用的时候,显示说“当前设备内核可能缺少kmod_ipt_tproxy模块支持,已放弃启动相关规则!”实际启动后没有效果,代理节点不生效,连接里看不到有活跃连接。
检查:
BE6500属性,
经过命令检查后发现内核侧 TPROXY 其实是有的,xt_TPROXY、xt_socket、nf_tproxy_ipv4/ipv6 都已加载;但是用户态 iptables 扩展库缺失,
libxt_TPROXY.so和libxt_socket.so没有,这可能是根本原因。网上找到这个ipk文件,
https://archive.openwrt.org/releases/18.06.9/targets/sunxi/cortexa7/packages/iptables-mod-tproxy_1.6.2-3_arm_cortex-a7_neon-vfpv4.ipk
从中取出
libxt_TPROXY.so和libxt_socket.so;新建路径,将两个文件放在
/data/ShellCrash/xtlib/,然后对这两个文件chmod 755;然后修改
fw_iptables.sh,命令为:接着正常设置Tproxy模式然后重启服务后,代理工作正常,连接里也看得到Tproxy|TCP和Tproxy|UDP等各个活跃连接了。