DD-WRT内置的iptables真心蛋疼。。。

用iptables的mark标记实现虚拟网卡间的有选择的NAT


在ubuntu下试验的好好的,但是把命令敲到ddwrt上就不能用了


最后发现ddwrt默认不加载mark模块


不光不加载连输入命令时的错误提示都省了。。。


蛋疼要死,看了

http://www.dd-wrt.com/phpBB2/viewtopic.php?t=75582&sid=28aea78828836df14c53cc28251e638a

http://www.dd-wrt.com/phpBB2/viewtopic.php?p=622213


才知道用mark要先

insmod ipt_mark 
insmod xt_mark 

加载模块。。。唉


iptables -t mangle -N my_nat_1
iptables -t mangle -A my_nat_1 -d {大陆IP段} -j MARK --set-mark 111
......
iptables -t mangle -A my_nat_1 -d {大陆IP段} -j MARK --set-mark 111
iptables -t mangle -A my_nat_1 -m mark --mark 111 -j RETURN
iptables -t mangle -A my_nat_1 -j MARK --set-mark 222

iptables -t mangle -N my_nat_2
iptables -t mangle -A my_nat_2 -j MARK --set-mark 111

iptables -t mangle -A PREROUTING -s 10.8.0.0/24 -j my_nat_1

iptables -t nat -A POSTROUTING -m mark --mark 111 -j SNAT --to-source {路由外网IP}
iptables -t nat -D POSTROUTING -m mark --mark 222 -o ppp0 -j MASQUERADE

ip route add default dev ppp0 table 2

ip rule add fwmark 222 table 2


PS:有问题还是去国外论坛找答案靠谱啊,国内的,都是谈论多拨啊FQ啊,毛技术的都没,不说了,,,

你可能感兴趣的:(DD-WRT内置的iptables真心蛋疼。。。)