小米路由器r3d 局域网通过某端口流量

假设,你路由器安装了某端口的流量,比如11808,你懂得的。

那么想让局域网设备默认走这个端口。

处理方案:ipset+iptables

ipset --version

先检查,我的小米路由器默认是有。

然后下载
https://github.com/17mon/china_ip_list/raw/master/china_ip_list.txt
我放在
/opt/etc/china_ip_list.txt
注意,txt换行符为LF也就是\n
下载完执行下面的命令

ipset -N china hash:net
ipset flush china
for iprange in `cat /opt/etc/china_ip_list.txt`; do
ipset -A china $iprange
done

iptables,比如服务端口11808,仅TCP

iptables -t nat -N TROJAN
iptables -t nat -A TROJAN -d 0.0.0.0 -j RETURN
iptables -t nat -A TROJAN -d 127.0.0.0 -j RETURN
iptables -t nat -A TROJAN -d 0/8 -j RETURN
iptables -t nat -A TROJAN -d 127/8 -j RETURN
iptables -t nat -A TROJAN -d 10/8 -j RETURN
iptables -t nat -A TROJAN -d 169.254/16 -j RETURN
iptables -t nat -A TROJAN -d 172.16/12 -j RETURN
iptables -t nat -A TROJAN -d 192.168/16 -j RETURN
iptables -t nat -A TROJAN -d 224/4 -j RETURN
iptables -t nat -A TROJAN -d 240/4 -j RETURN
iptables -t nat -A TROJAN -d 192.168.31.0/24 -j RETURN
iptables -t nat -A TROJAN -p tcp -m set --match-set china dst -j RETURN
# From lans redirect to local port
iptables -t nat -A TROJAN -s 192.168.31.0/24 -p tcp -j REDIRECT --to-ports 11808
iptables -t nat -A PREROUTING -p tcp -j TROJAN

以上ipset和iptables脚本会在重启后失效,处理办法

把脚本放在

/etc/rc.local

附:UDP,未测试

UDP需要 iptables-mod-tproxy 模块

# With UDP support
ip rule add fwmark 1 table 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -N TROJAN
iptables -t mangle -A TROJAN -d 0.0.0.0 -j RETURN
iptables -t mangle -A TROJAN -d 127.0.0.0 -j RETURN
iptables -t mangle -A TROJAN -d 192.168.31.0/24 -j RETURN
# From lans redirect to local port
iptables -t mangle -A TROJAN -p tcp -s 192.168.31.0/24 -j TPROXY --on-port 11808 --tproxy-mark 1
iptables -t mangle -A TROJAN -p udp -s 192.168.31.0/24 -j TPROXY --on-port 11808 --tproxy-mark 1
iptables -t mangle -A PREROUTING -j TROJAN

点赞

发表评论

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