设置旁路由
什么是旁路由
不是主路由,不负责拨号与分配 IP,作为设备的网关 只负责部分流量转发或功能增强
旁路由配置
v2ray inbounds增加一条
{
"tag": "tproxy",
"port": 1080,
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"streamSettings": {
"sockopt": {
"tproxy": "tproxy"
}
}
}
iptables配置
# 为透明代理标记
sudo ip rule add fwmark 1 lookup 100
sudo ip route add local 0.0.0.0/0 dev lo table 100
# iptables 分流
sudo iptables -t mangle -N V2RAY
# 按顺序添加排除规则(从最具体到最通用)
# 1. 本地回环地址
sudo iptables -t mangle -A V2RAY -d 127.0.0.0/8 -j RETURN
sudo iptables -t mangle -A V2RAY -d ::1/128 -j RETURN
# 2. A类私有地址段
sudo iptables -t mangle -A V2RAY -d 10.0.0.0/8 -j RETURN
# 3. B类私有地址段
sudo iptables -t mangle -A V2RAY -d 172.16.0.0/12 -j RETURN # 172.16.0.0-172.31.255.255
# 4. C类私有地址段
sudo iptables -t mangle -A V2RAY -d 192.168.0.0/16 -j RETURN
# 5. 链路本地地址(Link-local)
sudo iptables -t mangle -A V2RAY -d 169.254.0.0/16 -j RETURN
# 6. 组播地址(Multicast)
sudo iptables -t mangle -A V2RAY -d 224.0.0.0/4 -j RETURN
# 7. 广播地址
sudo iptables -t mangle -A V2RAY -d 255.255.255.255 -j RETURN
# 8. 保留地址
sudo iptables -t mangle -A V2RAY -d 0.0.0.0/8 -j RETURN
# IPv6 本地地址
sudo ip6tables -t mangle -A V2RAY -d ::1/128 -j RETURN
# IPv6 链路本地地址(fe80::/10)
sudo ip6tables -t mangle -A V2RAY -d fe80::/10 -j RETURN
# IPv6 唯一本地地址(ULA,fc00::/7)
sudo ip6tables -t mangle -A V2RAY -d fc00::/7 -j RETURN
# IPv6 多播地址(ff00::/8)
sudo ip6tables -t mangle -A V2RAY -d ff00::/8 -j RETURN
sudo iptables -t mangle -A V2RAY -p tcp -j TPROXY --on-port 1080 --tproxy-mark 1
sudo iptables -t mangle -A V2RAY -p udp -j TPROXY --on-port 1080 --tproxy-mark 1
sudo iptables -t mangle -A PREROUTING -j V2RAY
配置终端网关地址
将终端或者路由器网关地址配置成旁路由的ip
删除刚刚设置的iptables
在不用的时候可以删除
#删除 PREROUTING 中对 V2RAY 链的引用
sudo iptables -t mangle -D PREROUTING -j V2RAY
# 必须先删这条,否则后面不能删除链
# 清空并删除 V2RAY 链(IPv4)
sudo iptables -t mangle -F V2RAY
sudo iptables -t mangle -X V2RAY
# 删除策略路由(ip rule / ip route)
sudo ip rule del fwmark 1 lookup 100
sudo ip route del local 0.0.0.0/0 dev lo table 100
sudo ip6tables -t mangle -F V2RAY
sudo ip6tables -t mangle -X V2RAY