首页 > 学技术 > 技术网文 > 网络技术 > 正文

[原创] 用两种方式实现基于源地址的策略路由(redwolf);


来源 chinaunix.net 酷勤网整理

实验环境:有一台路由器两个S口,一个E0口,其中E0地址段为:10.1.1.1/24;
S0口配置:192.168.1.5/30,S1口配置:192.168.2.5/30;姑且我们这样看待;
其中策略路由如下:只允许E0口中的10.1.1.2地址从S0口上网,只允许10.1.1.3地址从S1口上网,至于回来的路由方式不由我们这里控制;
1. 通过静态路由以及列表上网;此上网方式会使上网速度比较慢,原因如下:
对于上联端口,其实到E0的路由(不论那个地址,路由都不会变),但是对于E0口,同样的一个IP地址,他即可以通过S0,也可以通过S1口,但是通过S1口时,会因为列表的问题而将包丢掉,这样TCP连接时候,数据包可以继续发送,所以中途不会丢失数据,诸如打开网页之类的问题(走TCP协议)会正常打开,但是比较慢。而对于UDP包,问题会很多,比如DNS服务,有可能使E0口下面的机器出现解析不了域名,所以要选择此方式时候必须想好自己的服务是否会影响很大。。如果对下面的用户影响很大的话,不建议此方案。但是对于一些低端产品可能会用到。
2. 通过策略路由实现上网服务;此上网方式需要路由器支持。
方案1的实现方法:
大概配置如下:
int e0
ip add 10.1.1.1 255.255.255.0
no shut
int s0
ip add 192.168.1.5 255.255.255.252
ip access-group 1 out
no shut
int s1 
ip add 192.168.2.5 255.255.255.252
ip access-group 2 out
no shut
ip route 0.0.0.0 0.0.0.0 192.168.1.8
ip route 0.0.0.0 0.0.0.0 192.168.2.8
access-list 1 permit 10.1.1.2
access-list 2 permit 10.1.1.3
   方案2的实现方法:
   大概配置如下:
int e0
ip add 10.1.1.1 255.255.255.0
no shut
ip police route-map net1
int s0
ip add 192.168.1.5 255.255.255.252
no shut
int s1 
ip add 192.168.2.5 255.255.255.252
no shut
ip police route-m net1
access-list 1 permit 10.1.1.2
access-list 2 permit 10.1.1.3
route-map lab1 permit 10
match ip add 1
set ip next-top 192.168.1.6
match ip add 2
set ip next-top 192.168.2.6
这些配置大概这样,其于别的配置要看具体情况;



 redwolf 回复于:2003-11-11 11:37:07

可能有些命令不大对,但是基本意思是这样。。


 webfox 回复于:2003-11-12 23:07:00

问个问题,以上的
ip policy route-map net10
这条命令我在该借口上输入后,在 enable模式下 show run时候看不到它的存在,是什么原因?我已经试过多次在int e0下输入该命令,也没有提示任何错误。


 eagerly1 回复于:2003-11-13 07:17:31

:lol: 有点意思


 redwolf 回复于:2003-11-13 08:17:40

引用:原帖由 "webfox" 发表:
问个问题,以上的
ip policy route-map net10
这条命令我在该借口上输入后,在 enable模式下 show run时候看不到它的存在,是什么原因?我已经试过多次在int e0下输入该命令,也没有提示任何错误。

你的设备是什么系列的?


 webfox 回复于:2003-11-13 08:32:39

cisco  c3550三层交换机,里面确实是有这条命令,但sh run出不来,其他的route-map  match 什么的都可以show出来


 nxzyj 回复于:2003-12-05 10:05:04

我现在用的是一个CISCO3640路由。有两个S端口,一个E0端口。其中两个S端口分别接到教育网和公网,我用的是教育网的地址。由于ISP的限制,教育网的地址不能从公网我这走,所以我只能做NAT,而教育网我是采用静态路由的办法。
默认路由为公网的端口。有人说这种方法不对,应该采用路由策略,可路由策略我又不会做,所以请你能否指点一下,怎么配置更为合理?谢谢您!最好能给我一个配置的实例。


 longlei 回复于:2004-08-21 18:01:53

用CISCO4006可以这么做吗!?


 太极球 回复于:2006-07-29 15:25:47

顶!


 太极球 回复于:2006-07-29 15:26:29

目前NAT一共有三种用法,
第一:是一个公有地址对应一个私有地址 。

第二: 几个私有地址对应几个公有地址。
(数量不需要相等,公有地址多的话,就不会做NAT转换了,还不如一个人直接给一个公有地址。这点别搞胡涂了。所以这个一般出现在一群私有地址对应几个公有IP地址情况) 

第三种是:一个公有地址对应一大群私有地址(这个目前叶用地很多)

设置NAT功能的路由器至少要有一个内部端口(Inside),一个外部端口(Outside)。内部端口连接的网络用户使用的是内部IP地址。 内部端口可以为任意一个路由器端口。外部端口连接的是外部的网络,如Internet 。外部端口可以为路由器上的任意端口。 
  设置NAT功能的路由器的IOS应支持NAT功能(本文事例所用路由器为Cisco2501,其IOS为11.2版本以上支持NAT功能)。 

四、关于NAT的几个概念: 
  内部本地地址(Inside local address):分配给内部网络中的计算机的内部IP地址。 
  内部合法地址(Inside global address):对外进入IP通信时,代表一个或多个内部本地地址的合法IP地址。需要申请才可取得的IP地址。 
五、NAT的设置方法: 
  NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。 
  1、静态地址转换适用的环境 
静态地址转换将内部本地地址与内部合法地址进行一对一的转换,且需要指定和哪个合法地址进行转换。如果内部网络有E-mail服务器或FTP服务器等可以为外部用户提供的服务,这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。 
  静态地址转换基本配置步骤: 
   (1)、在内部本地地址与内部合法地址之间建立静态地址转换。在全局设置状态下输入: 
    Ip nat inside source static 内部本地地址 内部合法地址 
  (2)、指定连接网络的内部端口 在端口设置状态下输入: 
     ip nat inside 
  (3)、指定连接外部网络的外部端口 在端口设置状态下输入: 
     ip nat outside 
  注:可以根据实际需要定义多个内部端口及多个外部端口。 
实例1: 
本实例实现静态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。其中10.1.1.2,10.1.1.3,10.1.1.4的内部本地地址采用静态地址转换。其内部合法地址分别对应为192.1.1.2,192.1.1.3,192.1.1.4。 
路由器2501的配置: 
Current configuration: 
version 11.3 
no service password-encryption 
hostname 2501 
ip nat inside source static 10.1.1.2 192.1.1.2 
ip nat inside source static 10.1.1.3 192.1.1.3 
ip nat inside source static 10.1.1.4 192.1.1.4 
interface Ethernet0 
ip address 10.1.1.1 255.255.255.0 
ip nat inside 
interface Serial0 
ip address 192.1.1.1 255.255.255.0 
ip nat outside 
no ip mroute-cache 
bandwidth 2000 
no fair-queue 
clockrate 2000000 
interface Serial1 
no ip address 
shutdown 
no ip classless 
ip route 0.0.0.0 0.0.0.0 Serial0 
line con 0 
line aux 0 
line vty 0 4 
password cisco 
end 
配置完成后可以用以下语句进行查看: 
show ip nat statistcs 
show ip nat translations 
  2、动态地址转换适用的环境: 
动态地址转换也是将本地地址与内部合法地址一对一的转换,但是动态地址转换是从内部合法地址池中动态地选择一个末使用的地址对内部本地地址进行转换。 
  动态地址转换基本配置步骤: 
  (1)、在全局设置模式下,定义内部合法地址池 
   ip nat pool 地址池名称 起始IP地址 终止IP地址 子网掩码 
   其中地址池名称可以任意设定。 
  (2)、在全局设置模式下,定义一个标准的access-list规则以允许哪些内部地址可以进行动态地址转换。 
   Access-list 标号 permit 源地址 通配符 
   其中标号为1-99之间的整数。 
  (3)、在全局设置模式下,将由access-list指定的内部本地地址与指定的内部合法地址池进行地址转换。 
   ip nat inside source list 访问列表标号 pool内部合法地址池名字 
  (4)、指定与内部网络相连的内部端口在端口设置状态下: 
   ip nat inside 
  (5)、指定与外部网络相连的外部端口 
   Ip nat outside 
实例2: 
   本实例中硬件配置同上,运用了动态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。其中10.1.1.0网段采用动态地址转换。对应内部合法地址为192.1.1.2~192.1.1.10 
Current configuration: 
version 11.3 
no service password-encryption 
hostname 2501 
ip nat pool aaa 192.1.1.2 192.1.1.10 netmask 255.255.255.0 
ip nat inside source list 1 pool aaa 
interface Ethernet0 
ip address 10.1.1.1 255.255.255.0 
ip nat inside 
interface Serial0 
ip address 192.1.1.1 255.255.255.0 
ip nat outside
no ip mroute-cache 
bandwidth 2000 
no fair-queue 
clockrate 2000000 
interface Serial1 
no ip address 
shutdown 
no ip classless 
ip route 0.0.0.0 0.0.0.0 Serial0 
access-list 1 permit 10.1.1.0 0.0.0.255 
line con 0 
line aux 0 
line vty 0 4 
password cisco 
end 
  3、复用动态地址转换适用的环境: 
  复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。只申请到少量IP地址但却经常同时有多于合法地址个数的用户上外部网络的情况,这种转换极为有用。 
  注意:当多个用户同时使用一个IP地址,外部网络通过路由器内部利用上层的如TCP或UDP端口号等唯一标识某台计算机。   
  复用动态地址转换配置步骤: 
  在全局设置模式下,定义内部合地址池 
  ip nat pool 地址池名字 起始IP地址 终止IP地址 子网掩码 
  其中地址池名字可以任意设定。 
  在全局设置模式下,定义一个标准的access-list规则以允许哪些内部本地地址可以进行动态地址转换。 
  access-list 标号 permit 源地址 通配符 
  其中标号为1-99之间的整数。 
  在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。 
 ip nat inside source list 访问列表标号 pool 内部合法地址池名字 overload 
  在端口设置状态下,指定与内部网络相连的内部端口 
  ip nat inside 
  在端口设置状态下,指定与外部网络相连的外部端口 
  ip nat outside 
实例:应用了复用动态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。10.1.1.0网段采用复用动态地址转换。假设企业只申请了一个合法的IP地址192.1.1.1。 
2501的配置 
Current configuration: 
version 11.3 
no service password-encryption 
hostname 2501 
ip nat pool bbb 192.1.1.1 192.1.1.1 netmask 255.255.255.0 
ip nat inside source list 1 pool bbb overload 
interface Ethernet0 
ip address 10.1.1.1 255.255.255.0 
ip nat inside 
interface Serial0 
ip address 192.1.1.1 255.255.255.0 
ip nat outside 
no ip mroute-cache 
bandwidth 2000 
no fair-queue 
clockrate 2000000 
interface Serial1 
no ip address 
shutdown 
no ip classless 
ip route 0.0.0.0 0.0.0.0 Serial0 
access-list 1 permit 10.1.1.0 0.0.0.255 
line con 0 
line aux 0 
line vty 0 4 
password cisco 
end


 dzskyhgy 回复于:2006-07-30 23:05:00

不错的帖子,受益匪浅




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=199812
转载请注明作者名及原文出处



收藏本页到: