路由器高级配置和实验.docx
《路由器高级配置和实验.docx》由会员分享,可在线阅读,更多相关《路由器高级配置和实验.docx(18页珍藏版)》请在冰点文库上搜索。
路由器高级配置和实验
第六章路由器高级配置和实验
路由器的基本功能就是为不同网络通信,为了能够更好的通信,需要通过路由表寻找通往目标的路径。
路由表就像地图,指明到达各个网络的信息,包括线路,经过的路由器,下一台转发的路由器等内容。
路由表可以是系统管理员设置好的静态路由(包括默认路由),也可以是由路由器自动调整、学习的动态路由。
一些大型网络,几十台、上百台甚至成千上万台路由器的网络环境中,或者说在Internet环境中,网络设备经常变动,拓扑结构也可能随时改变。
在这种复杂的网络环境中,如果让管理员手工配置静态路由,几乎是不可能的。
因为网络结构发生改变,静态路由往往无法及时更新。
在这种情况下产生了动态路由,就是让路由器之间互相学习网络分布状况,自动生成路由地址表,并根据网络系统情况自动进行调整,自动学习和记忆网络运行情况,自动计算数据传输的最佳路由并实现容错。
实验一动态路由之RIP协议
动态路由是路由器根据网络系统的运行情况自动计算调整路由。
每台路由器将自己知道的路由信息,发给相邻的路由器,最终每台路由器都会收到网络中所有的路由信息。
然后通过某种算法,计算出最终的路由表。
动态路由协议根据所连接网络的规模大小,又分为距离矢量路由协议和链路状态路由协议。
距离矢量路由协议一般用于小型网络,其中“距离”的意思是使用“跳数”作为度量值,来计算到达目的地要经过的路由器数,根据距离的远近(“跳数”),来决定最好的路径。
距离矢量路由协议不适用与大型网络,“跳数”过多将出现不可到达信息。
由于每个路由器都是从邻居那里得到路由信息来更新自己的路由表,所以相互传输路由信息可信度不高。
路由信息协议(RIP)是计算机网络中历史悠久的路由协议,也是较早推出的距离矢量路由协议,它是一种最简单的距离矢量路由协议,非常适用于小型网络。
RIP路由协议是以“跳数”作为度量值来计算路由的,“跳数”指的是一个包,从源到达目标网络过程中经过的路由器个数。
每经过一台路由器,“跳数”加1。
“跳数”越多,路由越长,RIP会根据原则,优先选择“跳数”少的路径作为最优路径。
虽然到达相同目标有不等速或不同带宽的网络,但只要“跳数”一样,则RIP认为这两条路由是一样的。
同理,低带宽“跳数”少的,优于高带宽“跳数”多的,这种情况有时是不合理的。
RIP支持最大的“跳数”是15,超过则被认为不可到达。
RIP还经过了Version1和Version2两个版本,早期的V1版本早已被淘汰,现在网络中都是采用V2版本。
有时在实验时还要设置版本为Version2。
RIP路由具体配置非常简单:
全局配置模式下,启用RIP路由协议。
在路由器配置模式下,用Network命令发布本路由器的直连网络网段,子网掩码可以不输入。
目前绝大多数路由器和三层交换机都支持默认动态路由,即network0.0.0.0命令,发布本路由器直连的所有网段,减少输入命令的条数。
相对应的命令:
1、Router(config)#routerrip!
启用RIP
2、Router(config-router)#networkx.x.x.x!
发布直连网段
或3、Router(config-router)#network0.0.0.0!
默认路由
为使实验贴近实际应用,我们采用如下图6-1所示的拓扑结构:
图6-1RIP路由实验拓扑图
拓扑编址:
SW3:
F0/0——IP:
192.168.0.1/24
Vlan10——IP:
172.18.0.1/24
PC1——IP:
172.18.0.2/24,网关为Vlan10的IP
R1:
E0/0——IP:
192.168.0.2/24
E0/1——IP:
192.168.1.1/24
R2:
E0/1——IP:
192.168.1.2/24
E0/0——IP:
10.0.0.1/8
PC2——IP:
10.0.0.2/8,网关为R2上的E0/0的IP
顺利的实现了全网互通,在实验过程中大家可以使用network0.0.0.0命令来进行实验,减少输入命令的条数。
本实验中路由器全部使用的是快速以太网接口,如果使用Serial串行接口,一定要在电缆DCE端的路由器上配置该串口的时钟频率,一般为64000。
Serial串行接口在仿真机上没办法做实验,其配置方法和普通以太网接口一样,不过进入的命令是:
intserial0,配置完IP地址后,要增加一条时钟频率命令:
clockrate64000,即可。
在线路两端,只能为其中一个串行端口配置时钟频率,不能在两个端口都配置,否则无法通信。
如图6-9:
图6-9路由器串口连接
实验二动态路由之OSPF协议
上一节提到的动态路由除了距离矢量路由协议之外,还有一种链路状态路由协议。
链路状态路由协议比距离矢量路由协议有更强的处理能力,可以提供更多的控制和提供更快的相应速度。
链路状态算法使用更多的方法,如根据链路的带宽,可靠性和负载变化,避开拥塞,选择线路,优化线路或提供更高的优先级来实现网络连通。
链路状态路由协议适合大型网络,它能在更短的时间发现新加入的路由器或中断,使得路由表更新时间更短。
不过由于它的复杂性,要求路由器CPU更快,内存更大。
OSPF协议,又称“开放最短路径优先”协议,该协议是开放的,因此,它可以在几乎所有路由器和三层交换机上使用。
OSPF协议的实现原理是:
处于同一个OSPF中的路由器选出这个区域内的一台主路由器,每台路由器根据自己的网络结构生成自己的链路状态,告知主路由器,而不是像RIP那样向邻居发送。
所有链路信息放在一起组成一个完整的链路情况数据库,每台路由器都得到这个数据库,每台路由器根据这个数据库,利用一定算法(SPF算法,由Dijkstra艾兹格·迪科斯彻发明,又叫最短路径算法),计算出以自己为根的最短路径,形成路由表。
因此OSPF协议不是通过邻居之间广播学习路由信息的,在同一个区域内拥有一个相同的路由信息数据库,OSPF协议关注的是链路的状态,它比RIP协议更可靠。
OSPF协议是一种典型的链路状态协议,它的适应范围比较广泛,支持各种规模的网络,反应速度更快,允许将大的网络划分为小的区域来管理,区域内部和区域间分别传送路由,从而减少占用网络带宽,减少对其他设备的干扰。
如图6-10:
图6-10OSPF路由中的区域
所有的OSPF路由协议中都存在一个骨干区域Area0,要求其余区域必须与骨干区域直接相连,骨干区域一般为0号区域。
每个区域内的路由器保持一个相同的链路状态数据库,不同区域内的路由器的链路状态数据库不同。
骨干区域是非常重要的,当一个区域的路由信息对外广播时,其路由信息先传递至骨干区域,再由骨干区域将该路由信息向其余区域广播。
本实验主要用于实现OSPF协议在单区域内的网络配置,OSPF协议配置命令为:
1、在全局配置模式下启动OSPF,进入OSPF路由协议配置模式:
Router(config)#Routerospfprocess-id
其中process-id是用来在这个路由器接口上启动的OSPF的唯一标识。
Process-id可以作为识别一台路由器上是否运行着多个OSPF进程的依据。
Process-id的取值范围为1——65535。
一个路由器的每个接口都可以选择不同的id,但一般来说不推荐在路由器上运行多个OSPF,因为多个id会有多个拓扑数据库,给路由器造成额外负担。
2、发布OSPF的网络号和指定端口所在区域号:
Router(config-router)#networkaddresswildcardareaarea-id
Addresswildcard:
表示运行OSPF端口所在网络网段地址以及相应的子网掩码的反码。
例如192.168.1.0/24,网段是:
192.168.1.0,子网掩码是:
255.255.255.0,子网掩码的反码是:
0.0.0.255。
反码就是按位变反,1变0,0变1。
如:
255.0.0.0的反码是:
0.255.255.255。
那么192.168.1.00.0.0.255表示192.168.1.0——192.168.1.255这个地址范围,这个0.0.0.255表示通配符。
通配符为0的位,IP地址不能更改,通配符为1的位,IP地址可以变化。
255表示8位的变化范围是:
00000000——11111111(0——255),所以192.168.1.00.0.0.255表示192.168.1.0——192.168.1.255这个地址范围。
area-id:
表示OSPF路由器接口的区域号。
骨干区域为0。
设计本实验的拓扑图如下图6-11:
图6-11OSPF路由实验拓扑图
拓扑编址:
SW3:
Vlan10——IP:
192.168.0.1/24
Vlan20——IP:
172.18.0.1/24
PC1——IP:
172.18.0.2/24,网关为Vlan20的IP
R1:
E0/1——IP:
192.168.0.2/24
E0/0——IP:
192.168.1.1/24
R2:
E0/0——IP:
192.168.1.2/24
E0/1——IP:
10.0.0.1/8
PC2——IP:
10.0.0.2/8,网关为R2上的E0/1的IP
验证某设备的端口配置情况,可以在其中一台设备上运行:
“showipintbrief”命令来查看所配置的端口运行情况,下图6-12是R1的显示结果:
图6-12查看R1的OSPF动态路由
使用“showiproute”命令查看三层交换机SW3的路由配置情况如下图6-13:
图6-13查看交换机的OSPF动态路由
图中“C”表示直连路由,有两条:
172.18.0.0网段和192.168.0.0网段。
“O”表示OSPF路由,有两条:
10.0.0.0和192.168.1.0网段。
在虚拟PC上做最终检验,PC1和PC2之间是可以Ping通的。
如图6-14:
图6-14验证连通性
实验三静态NAT
NAT(NetworkAddressTranslation)网络地址翻译,指的是将一个内网私有IP地址转换成外网(公网)IP地址。
NAT可以将多个内部网络地址翻译(映射)成几个外网(公网)IP地址,让内部网络中的私有IP“伪造”成公网IP访问互联网,为网络带来了相对的安全。
在NAT技术中有一种特殊的方法,可以将一段私有IP转换成一个或少数几个公网IP地址,从而节省了公网IP地址资源,这种技术称为PAT(PortAddressTranslation端口地址翻译)。
有的地方称为NAPT(NetworkAddressPortTranslation网络地址端口转换),意思是一样的。
静态NAT的工作原理很简单。
NAT将网络分为内部网络(inside)和外部网络(outside),内部网络指的是单位内部局域网,外部网络指的是公共网络,一般是指Internet。
如图6-15,PC4假设是公共网络,是内部网络需要访问的外网,假设它的IP地址是:
100.0.0.4/24。
PC1有一个私有IP:
192.168.0.2/24,当它需要访问Internet时,它先向路由器发出请求,路由器会根据静态NAT的设置,把私有IP(192.168.0.2)转换为公网IP(100.0.0.2),然后把数据包发送出去。
Internet需要返回数据时,返回的数据是发送给100.0.0.2,然后由路由器根据对应关系,把这个数据包发送到192.168.0.2。
可以看出,静态NAT实现的是一对一的转换,将内部私有IP固定的转换为外网合法IP,这是不可能节省IP地址资源的。
它的好处是,内网中建立了服务器,比如Web,Ftp,E-mail等服务器,这些服务器往往同时为内网和外网提供服务,对于这样的服务,就必须建立静态NAT进行转换。
配置命令如下:
端口模式下:
Ipnatinside!
将某端口指定为内部端口
Ipnatoutside!
将端口指定为外部端口
全局模式下:
Ipnatinsidesourcestaticinside_ipoutside_ip
Inside_ip,指的是内部IP地址
Outside_ip,指的是翻译成的外部IP地址
假设某单位在单位内部创建了Web服务器和Ftp服务器,它们的内部IP地址分别为:
192.168.0.2/24、192.168.0.3/24,允许内部网络访问。
要想让外部网络也可以访问这两台服务器,该单位准备采用静态NAT,这时该单位又申请了两个公网IP地址:
100.0.0.2/24和100.0.0.3/24与这两个内网IP相对应来实现静态NAT。
那么,内网用户访问服务器时用内网IP,外网用户访问服务器时用外网IP,其访问效果是一样的。
如图6-15:
图6-15静态NAT实验拓扑图
拓扑编址:
SW1:
没有Vlan,没有IP地址,不用设置
PC1——IP:
192.168.0.2/24,网关为R1上E0/0的IP
PC2——IP:
192.168.0.3/24,网关为R1上E0/0的IP
PC3——IP:
192.168.0.4/24,网关为R1上E0/0的IP
PC4——IP:
100.0.0.4/24,网关为R1上E0/1的IP
R1:
E0/1——IP:
100.0.0.1/24
E0/0——IP:
192.168.0.1/24
外网对应IP:
192.168.0.2——100.0.0.2
192.168.0.3——100.0.0.3
实验的想法是PC1和PC2分别对应有NAT转换的外网IP,PC3没有,PC4假设为外网Internet,设定好路由器端口IP后,因为是连在一个路由器上,属于直连路由,所以全网互通。
在R1上设置静态NAT后,外网100.0.0.4访问100.0.0.2和100.0.0.3可以访问。
但不能访问内网IP,如:
192.168.0.2等。
注意:
这个实验中,假设PC4是Internet,又因为在一台路由器上,是直连路由,所以实现了连通。
但是Internet上的IP地址可是千差万别,各不相同的。
这样就不行了,必须在R1上配置一条默认路由,就是说凡是从E0/1出去的访问,访问任何IP都允许。
这就是默认路由的最大用处,当存在末梢网络时,这种网络只有一个唯一的路径可以到达其他网络,而Internet的IP又不可能预知,所以只有唯一的选择,配置一条默认路由。
表示内网无论访问Internet哪个网段,都允许,都从这个端口默认转发。
R1(config)#IProute0.0.0.00.0.0.0E0/1
扩展实验:
我们增加一台路由器R2,同时重新设置一下IP地址,如图6-22:
图6-22静态NAT扩展实验拓扑图
再做这个实验时,在R1上设置默认路由,更好的理解静态NAT。
实验四动态NAT
静态NAT是实现私有IP地址和公网IP地址之间的一一对应的转换,如果内网有服务器,需要同时为内网和外网提供服务,这是最好的一种方法,因为私有IP和公网IP是固定的对应关系,不会改变。
而动态NAT则不是这样。
动态NAT也是实现私有IP和公网IP之间的一一对应转换,但是它们的关系是不固定的,就是说私有IP访问外网时也要进行转换,转换成公网IP,但是转换时不是固定转换成某一IP,而是随机的。
动态NAT的原理是这样的:
首先还是要地址转换,内网转换成外网。
和静态的不同,是动态的转换。
动态NAT是定义了一个地址池(pool),其中地址池中的地址是一组连续的外网IP地址,所有内网中允许的IP都可以使用地址池中的任意一个进行转换。
所谓允许的IP是指可以在路由器上使用访问控制列表来定义,允许哪一部分内网IP使用这个地址池进行转换。
(访问控制列表在第七章,可以提前看一下)根据访问控制列表的命令要求,允许的IP一般是某一个网段,如192.168.0.0/24等。
动态NAT的外网转换IP是动态的,不固定,当需要时从地址池随机选择。
用完后(通信结束)就需要把这个地址放回地址池,供其他主机使用。
这样就可以部分缓解外网IP地址压力。
比如需要访问外网的内部主机有100台,私有IP地址当然也是100个,访问控制列表允许这100台访问外网。
但是只能申请到50个公网IP,也就是说只能最多同时有50台内部电脑可以转换成公网IP访问外网。
可是单位里并不是每台电脑都需要同时访问外网的。
这样就保证了能访问外网,又不像静态NAT那样完全一对一固定关系,节约了部分公网IP。
注意,静态NAT和动态NAT可以共存。
如果有需要内外网都访问的服务器,可以采用静态NAT,别的可以采用动态NAT。
还有一个好处,因为内网主机访问出去的IP经常随机变化,增加了网络安全性。
命令格式:
端口模式下:
Ipnatinside!
将某端口指定为内部端口
Ipnatoutside!
将端口指定为外部端口
全局模式下:
1、Ipnatpoolnamestart_ipend_ipnetmasknetmask
或:
Ipnatpoolnamestart_ipend_ipprefix_length子网掩码位数
其中:
name指的是地址池的名称
start_ip和end_ip指的是地址池的开始IP和结束IP
netmask指的是地址池的IP地址的子网掩码
子网掩码位数指的是如果不用子网掩码表示,可以用位数表示如:
24表示255.255.255.0。
2、access_listnumberpermitsourcewildcard
其中:
number指的是访问控制列表的号码,1——99
sourcewildcard指的是允许地址转换的地址段和对应的通配符,和OSPF路由的那个意思一样。
3、ipnatinsidesourcelistnumberpoolname
其中:
number还是那个2号命令中的那个访问控制列表号
name还是那个1号命令中地址池的名字
单看命令格式介绍,容易看不懂,结合下面的实验,很容易就可以理解了。
某学校内部局域网使用的IP网段是192.168.0.0/24,现在它们申请了一段公网IP:
100.0.0.3——100.0.0.100/24,使用动态NAT访问互联网。
注意,这个实验中100.0.0.1和100.0.0.2用在路由器上了,如图6-23:
图6-23动态NAT实验拓扑图
拓扑编址:
SW1:
没有Vlan,没有IP地址,不用设置
PC1——IP:
192.168.0.2/24,网关为R1上E0/0的IP
PC2——IP:
192.168.0.3/24,网关为R1上E0/0的IP
PC3——IP:
192.168.0.4/24,网关为R1上E0/0的IP
PC4——IP:
200.0.0.2/24,网关为R2上E0/0的IP
R1:
E0/1——IP:
100.0.0.1/24
E0/0——IP:
192.168.0.1/24
R2:
E0/1——IP:
100.0.0.2/24
E0/0——IP:
200.0.0.1/24
进行地址转换时,192.168.0.0/24网段的主机可以动态转换成100.0.0.3——100.0.0.100之间的IP访问外网,外网则不能访问内网。
用了两个路由器,我们在R1上用默认路由指向外网。
PC4模拟为Internet。
实验五PAT
静态NAT主要用于企业网内部有服务器,并且服务器需要同时为内网和外网服务的情况。
动态NAT可以实现企业内部私有地址对外网的访问,但是不能完全解决公网IP地址不足的问题。
但是这两种NAT都是可以实现私有IP地址和公网IP地址之间的转换的,静态NAT转换成一对一的静态公网IP。
动态NAT,在某一确定的时间,也是一对一的转换成公网IP。
只不过在下一次连接时,可能会换另外一个公网IP,但它总是要占用一个公网IP的。
随着Internet的飞速发展,上国际互联网的人越来越多,不可能为每个人,每台主机都分配IP地址。
IP地址短缺已经非常严重,而静态NAT根本不能解决这个问题,动态NAT也只是部分解决,仍需要大量的公网IP。
很多单位根本申请不到那么多,往往只能申请一个公网IP。
使用PAT(PortAddressTranslations,端口地址翻译),允许将多个内网私有IP地址映射到同一个公网IP上。
实际上PAT和动态NAT几乎是一样的,只不过在地址转换的时候没有地址池,或说地址池内只有一个地址,所有的私有地址都转换成同一个公网IP地址,转换时对网关路由器的外网接口IP地址进行复用(overload)。
复用技术是通过利用对话的端口号来实现的。
如图6-25(和6-23一样):
图6-25PAT实验拓扑图
PC1、PC2等需要访问Internet,它们的私有地址段位192.168.0.0/24,只申请到了一个公网IP:
100.0.0.1,配置在R1的E0/1接口上。
在进行地址转换时,转换的映射中包括两项(IP地址和端口号)。
如PC1地址为:
192.168.0.2|1001,那么转换成公网IP就是:
100.0.0.1|1001。
回应包会根据端口号1001判断出应该发给哪个主机,不至于混乱。
配置命令和动态NAT几乎一样:
端口模式下:
Ipnatinside!
将某端口指定为内部端口
Ipnatoutside!
将端口指定为外部端口
全局模式下:
1、Ipnatpoolnamestart_ipend_ipnetmasknetmask
或:
Ipnatpoolnamestart_ipend_ipprefix_length子网掩码位数
其中:
name指的是地址池的名称
start_ip和end_ip指的是地址池的开始IP和结束IP,在PAT时,这两个IP地址是一样的,但要写两个,不能省略。
如100.0.0.1100.0.0.1
netmask指的是地址池的IP地址的子网掩码
子网掩码位数指的是如果不用子网掩码表示,可以用位数表示如:
24表示255.255.255.0。
2、access_listnumberpermitsourcewildcard
其中:
number指的是访问控制列表的号码,1——99
sourcewildcard指的是允许地址转换的地址段和对应的通配符,和OSPF路由的那个意思一样。
3、ipnatinsidesourcelistnumberpoolnameoverload
其中:
number还是那个2号命令中的那个访问控制列表号
name还是那个1号命令中地址池的名字
overload是实现PAT的关键字,不能省略
和动态NAT对照比较可以看出,有两处不同:
在IP地址池的地方换成一个IP地址和最后增加overload。
PAT还有一种不设置地址池的命令格式:
1、不定义地址池,那个第一条命令就省略了。
2、此条命令不变:
R1(config)#access-list10permit192.168.0.00.0.0.255
!
定义访问控制列表,10为访问控制列表号,192.168.0.0,表示允许的IP地址段,0.0.0.255表示这个地址段的每一个IP地址都被允许。
3、此条命令发生改变,因为没有定义地址池,pool关键字省略,改为:
R1(config)#ipnatinsidesourcelist10interE0/1overloa