在 centos7 拉取 github 源码编译经常连不上,找了许多资料发现透明代理比较合适。
一番折腾 TCP 终于正常转发,UDP 如果配置 PREROUTING 就没任何转发效果,配置成 OUTPUT 可以转发不过报文不对:
;; reply from unexpected source: 192.168.0.101#1080, expected 119.29.29.29#53
求大佬帮忙
#!/usr/bin/env bash
start() {
stop
iptables -t nat -A OUTPUT -p tcp -m mark --mark 0x255 -j ACCEPT
iptables -t nat -A OUTPUT -p udp -m mark --mark 0x255 -j ACCEPT
# tcp
iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 1080
# udp
# ip rule add fwmark 0x2333/0x2333 pref 100 table 100
# ip route add local default dev lo table 100
# iptables -t mangle -A PREROUTING -p udp --dport 53 -j TPROXY --tproxy-mark 0x2333/0x2333 --on-ip 127.0.0.1 --on-port 1080
# --dport 53
# iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 192.168.6.10
iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 1080
}
stop() {
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
ip rule delete fwmark 0x2333/0x2333 pref 100 table 100 &>/dev/null
ip route delete local default dev lo table 100 &>/dev/null
}
if [[ $1 == "start" ]]; then
start
elif [[ $1 == "stop" ]]; then
stop
fi
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.