China Open source community
站内导航:
站内排行前50热点文章

精华文章  GDB调试精粹及使用实例
普通文章  STL中map用法详解
精华文章  负载均衡软件比较(Hapr...
普通文章  头文件的重复引用
普通文章  递归函数的调用过程
普通文章  TCP三次握手/四次挥手详解
普通文章  贪心策略的理论基础——...
普通文章  BMH算法原理与实现(模...
普通文章  排列组合与回溯算法
普通文章  DP动态规划
精华文章  Android线程模型
普通文章  Linux socket编程之套接字
普通文章  Linux内核中的红黑树
精华文章  linux下使用minicom的几...
普通文章  Java开源Html解析类库
精华文章  enum类型的本质
普通文章  memcached server LRU ...
普通文章  linux设置环境变量的方法
普通文章  android核心模块及相关...
普通文章  linux源代码包(.tar.g...
普通文章  L.A.M.P配置过程
普通文章  在ubuntu9.10下安装QT4...
普通文章  C/C++程序员常见面试题...
普通文章  gcc编译过程概述
普通文章  python的memcache和jso...
普通文章  应用程序二进制接口---ABI
普通文章  linux内核编译问题
普通文章  Java多线程实现简单实例
普通文章  Python程序员常用的IDE...
普通文章  brk和sbrk详述
普通文章  优化C语言代码(程序员必...
普通文章  python非贪婪,多行匹配...
普通文章  函数指针传递和全局指针...
普通文章  Unix操作系统的历史演变
普通文章  网络编程之C10K问题
普通文章  发行版发布:CentOS 5.4
普通文章  在windows中构建gtk开发...
普通文章  i++循环与i--循环的执行...
普通文章  关于Qvariant类--万能的...
普通文章  Debian sudo 设置
普通文章  busybox1.15.x 交叉编译
普通文章  关于僵死进程zombie
普通文章  递归思想的妙用
普通文章  判断链表是否存在环并找...
普通文章  Android Porting Exper...
普通文章  关于/etc/bashrc和$HOM...
普通文章  [翻译]Django初窥
普通文章  Python list的排序
普通文章  Django实现大数据量分页...
普通文章  Debug方式取代printf满...

 
 
 
当前位置: 首页 >> 开源操作系统 >> 基于Linux策略路由的实现
 
 

基于Linux策略路由的实现

作者:      来源:cqs1015.cublog.cn     发表时间:2006-12-12     浏览次数:      字号:    

基于LINUX策略路由的实现
一、网络结构
eth0 10.43.128.10  gw 10.43.0.254  -->internel
eth1 61.144.64.106 gw 61.144.64.1  -->internel
eth2 192.168.0.2   gw 192.168.0.1  -->internel

二、实现目的:
1.不改变现有网络拓扑结构。
2.根据目的地址确定数据走向,所有到10.45.0.0/16、10.10.0.0/16的走10.43.0.254。
3.根据源地址确定数据走向,10.43.128.63走adsl路由,其它走默认main路由。

三、软件要求:
IPROUTE
[root@ADSL root]# rpm -qa |grep iproute (查看是否有iproute软件包)
iproute-2.4.7-7.AS21.1

四、实现步骤:
[root@ADSL root]# ip link (查看本地链路)
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:90:27:99:1d:fa brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:11:fe:78 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:42:65:88 brd ff:ff:ff:ff:ff:ff
[root@ADSL root]# ip add (查看本地地址)
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:90:27:99:1d:fa brd ff:ff:ff:ff:ff:ff
inet 10.43.128.10/16 brd 10.43.255.255 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:11:fe:78 brd ff:ff:ff:ff:ff:ff
inet 61.144.64.106/24 brd 61.144.64.255 scope global eth1
4: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:40:05:42:65:88 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.2/24 brd 192.168.0.255 scope global eth2
[root@ADSL root]# ip route (查看本地路由和ip route ls table main 或route命令相等)
192.168.0.0/24 dev eth2 scope link
61.144.64.0/24 dev eth1 scope link
10.10.0.0/16 via 10.43.0.254 dev eth0
10.43.0.0/16 dev eth0 scope link
10.45.0.0/16 via 10.43.0.254 dev eth0
127.0.0.0/8 dev lo scope link
default via 61.144.64.1 dev eth1
[root@ADSL root]# ip rule (查看本地路由策略)
0: from all lookup local (本地路由表系统默认id=255,优先级0)
32766: from all lookup main (默认的标准路由表id=254,优先级32766)
32767: from all lookup default (本地默认路由表系统默认id=253,优先级32767)
[root@ADSL root]# echo "200 adsl" >>/etc/iproute2/rt_tables (添加一个新的路由表)
[root@ADSL root]# ip route add 10.10.0.0/16 via 10.43.0.254 dev eth0 table adsl
[root@ADSL root]# ip route add 10.45.0.0/16 via 10.43.0.254 dev eth0 table adsl
(为adsl路由表添加到HK AND QY的路由)
[root@ADSL root]# ip route add 10.10.0.0/16 via 10.43.0.254 dev eth0 table adsl
(为adsl路由表添加一条默认路由)
[root@ADSL root]# ip rule add from 10.43.128.63 table adsl pref 32765
(添加adsl路由表策略,这里添加10.43.128.63机器从adsl路由表走,而不是local,main,default表。设置adsl表优先级是32765,数值越小优先级别越高)
[root@ADSL root]# ip route ls table adsl (查看adsl表路由设置)
10.10.0.0/16 via 10.43.0.254 dev eth0
10.45.0.0/16 via 10.43.0.254 dev eth0
default via 192.168.0.1 dev eth2
[root@ADSL root]# ip rule (查看路由策略设置)
0: from all lookup local
32765: from 10.43.128.63 lookup adsl (新加id=200,优先级32765)
32766: from all lookup main
32767: from all lookup default
[root@ADSL root]# ip route flush cache (使新路由生效)
[root@ADSL root]# iptable -t nat -A POSTROUTING -s 10.43.128.63 -j SNAT –to 192.168.0.2 (让eth0 流向eth2)

五、验证:
C:\Documents and Settings\mis>tracert 10.10.0.14 (查看到hk的路由路径)
Tracing route to 10.10.0.14 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 10.43.128.10
2 1 ms <1 ms <1 ms 10.43.0.254
3 24 ms 12 ms 31 ms 10.255.0.170
4 31 ms 12 ms 10 ms 10.10.0.14
Trace complete.

C:\Documents and Settings\mis>tracert 10.45.0.254 (查看到qy的路由路径)
Tracing route to 10.45.0.254 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 10.43.128.10
2 1 ms 1 ms 1 ms 10.43.0.254
3 4 ms 4 ms 4 ms 10.45.0.254
Trace complete.

C:\Documents and Settings\mis>tracert www.163.com (测试外部路由路径)
Tracing route to www.cache.split.netease.com [220.181.28.42]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 10.43.128.10
2 1 ms 1 ms 1 ms 192.168.0.1
3 11 ms 9 ms 10 ms 61.144.65.1
4 9 ms 8 ms 9 ms 218.19.169.244
5 10 ms 14 ms 8 ms 61.144.0.57
6 11 ms 10 ms 10 ms 61.140.17.6
7 13 ms 10 ms 10 ms 202.97.25.5
8 9 ms 9 ms 9 ms 202.97.40.113
9 42 ms 41 ms 40 ms 202.97.34.117
10 40 ms 41 ms 40 ms 218.30.25.49
11 41 ms 41 ms 46 ms 218.30.25.74
12 45 ms 50 ms 55 ms 220.181.16.14
13 52 ms 50 ms 50 ms 220.181.17.58
14 41 ms 43 ms 41 ms 220.181.28.42
Trace complete.

编辑 webmaster

 
 
 
评论
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •  
    中国源码网 - www.YuanMa.org - 中国 开放源代码+编程 社区