用iptables MAKR + ip rule实现策略路由的问题

catoran
用iptables MAKR + ip rule实现策略路由的问题

我在adsl上连接着两个网路,想用iptables + ip rule来实现策略路由.
两个网络是这样的:
nas_6_60        Link encap:Ethernet  HWaddr 00:C0:02:FF:21:14  
                inet addr:172.21.7.30  Bcast:172.21.255.255  Mask:255.255.255.0
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:389 errors:0 dropped:0 overruns:0 frame:0
                TX packets:169 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000
                RX bytes:76128 (74.3 KiB)  TX bytes:33853 (33.0 KiB)
nas_6_61        Link encap:Ethernet  HWaddr 00:C0:02:FF:21:15  
                inet addr:172.21.14.10  Bcast:172.21.255.255  Mask:255.255.255.0
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:741 errors:0 dropped:1 overruns:0 frame:0
                TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000
                RX bytes:47695 (46.5 KiB)  TX bytes:1858 (1.8 KiB)

我想完成的是:
当我去网络地址是 220.181.28.0/24 时,我用网路 nas_6_61
我的做法是:
给目的地址是 220.181 .28.0/24的包 set MARK:
#iptables -t mangle -D PREROUTING  -d  220.181.28.0/24 -j MARK --set-mark 6

建路由表,编号:110
#ip route add via 172.21.14.248 default dev nas_6_61 table 110

建rule:
#ip rule add fwmark 6 table 110
最后:
#ip route flush cache
完成后,我 ping [url=http://www.163.com]www.163.com[/url], result:
ping [url=http://www.163.com]www.163.com[/url]
Pinging [url=http://www.cache.split.netease.com]www.cache.split.netease.com[/url] [220.181.28.53] with 32 bytes of data:
Request timed out.
Request timed out.
....

我看iptables:
# iptables -t mangle -L PREROUTING -n -v
Chain PREROUTING (policy ACCEPT 6459 packets, 1674K bytes)
pkts bytes target     prot opt in     out     source               destination         
   51  3060 MARK       all  --  *      *       0.0.0.0/0            220.181.28.0/24    MARK set 0x6
#

route table 110:
# ip route list table 110
default via 172.21.14.248 dev nas_6_61
#

rule:
# ip rule
0:      from all lookup local
32765:  from all fwmark        6 lookup 110
32766:  from all lookup main
32767:  from all lookup 253
#

另外,我能在wan端抓到[url=http://www.163.com]www.163.com[/url]  reply的包.

我不知道为什么我的包只出不进,请帮我看看,不胜感激!

ssffzz1
怎么搞得这么麻烦呢?
直接配置静态路有,加到路有表即可。你有不是做源IP策略路有。

catoran
[quote]原帖由 [i]ssffzz1[/i] 于 2008-5-9 22:12 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6582793&ptid=1001598][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
怎么搞得这么麻烦呢?
直接配置静态路有,加到路有表即可。你有不是做源IP策略路有。 [/quote]


谢谢.
不过我就是要实现在让人可以有路由器上配置静态路由的功能.

[[i] 本帖最后由 catoran 于 2008-5-12 11:55 编辑 [/i]]