>>> 此貼的回復 >> 以下是我根據你的情況,自己總結的,你試一下
CODE:[Copy to clipboard]# echo "200 DIANXIN" >;>; /etc/iproute2/rt_table # ip route add default via 222.168.1.2 table DIANXIN # iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d $電信IP -j MARK --set-mark 1 # ip rule add fwmark 1 table DIANXIN # ip route flush cache # iptables -t nat -F # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE 參考文檔: http://iptables-tutorial.frozentux.net/cn/iptables-tutorial-cn-1.1.19.html http://www.linuxaid.com.cn/engineer/ideal/article/policy_pouting.htm http://bbs.chinaunix.net/forum/viewtopic.php?t=304033&highlight=platinum
>>> 此貼的回復 >> # echo "200 DIANXIN" >;>; /etc/iproute2/rt_table # ip route replace default via 222.168.1.2 table DIANXIN # iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d $電信IP -j MARK --set-mark 1 # ip rule add fwmark 1 table DIANXIN # ip route flush cache # iptables -t nat -F # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d $電信地址-j SNAT --to $電信網卡的WAN地址 # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to $網通網卡的WAN地址
哈哈哈哈
一切終於正常了
額且最有意思的就是與順序有關
得先
iptables -t mangle -I PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.222.5.0/15 -j MARK --set-mark 1 iptables -t mangle -I PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.240.0.0/13 -j MARK --set-mark 1
再這個
iptables -t nat -I POSTROUTING -s $PRIVATE -d 222.222.5.0/15 -j SNAT --to $DIANXIN iptables -t nat -I POSTROUTING -s $PRIVATE -d 222.240.0.0/13 -j SNAT --to $DIANXIN
然後規則用
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to $網通網卡的WAN地址
一切OK
如果點到了SNAT,呵呵.默認的網通就成電信了
>>> 此貼的回復 >> 呵呵,這也就是我為什麼 iptables -t nat -F 的原因了
我沒寫mangle表,你也可以加一個 iptables -t mangle -F 然後把-I換成-A就可以了
我總結一下,正確的是
CODE:[Copy to clipboard]# echo "200 DIANXIN" >;>; /etc/iproute2/rt_table(這個是添加到文件,執行一次即可) # ip route replace default via 222.168.1.2 table DIANXIN # ip rule add fwmark 1 table DIANXIN(這個注意順序,用ip rule可以查看) # iptables -t nat -F # iptables -t mangle -F # iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.222.5.0/15 -j MARK --set-mark 1 # iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.0/24 -d 222.240.0.0/13 -j MARK --set-mark 1 # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.222.5.0/15 -j SNAT --to $DIANXIN # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 222.240.0.0/13 -j SNAT --to $DIANXIN # iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to $接網通線路網卡的地址 # ip route flush cache 這樣的結果,是訪問222.222.5.0/15和222.240.0.0/13走電信網卡、電信路由,偽裝成電信出口地址,其他默認網通
參考文檔: http://iptables-tutorial.frozentux.net/cn/iptables-tutorial-cn-1.1.19.html http://www.linuxaid.com.cn/engineer/ideal/article/policy_pouting.htm http://bbs.chinaunix.net/forum/viewtopic.php?t=304033&highlight=platinum
__________________________________
摘自:chinaunix.net