下图是模拟A公司的网络拓扑简图,在A公司各接入级的二层交换机(S1)按部门划分了VLAN,各接入级交换机连接到汇聚层交换机S2上,然后连接到公司出口路由器R1,R1通过DDN连接到互联网服务提供商ISP的路由器R2,最后连接到ISP的一台PC(用配有公网IP地址的PC4模拟),实现连接Internet。请对该公司的交换机和路由器进行相应的配置实现以下功能。
注意:不同协议之间进行路由交换,需要实现路由协议重发布,具体如下
在路由器R1上加上如下命令,把默认路由重发布到RIPv2协议中,使公司内部的所有路由器都可 以经过RIP协议学习到默认路由
R1(config)#router rip
R1(config-router)#default-information originate
本次实验涉及以下几个要点:
正在整理,快更了。
之前我们做过交换机下划分vlan的实验,而这次我们需要实现vlan间的通信。实现vlan间的互通的方法有单臂路由、多臂路由、三层交换机,本次实验使用的是三层交换机的方法。交换机本来是数据链路层的设备,只具有在同个局域网下交换数据的功能。而三层交换机具有部分路由转发的功能。路由器转发数据需要设置网关,三层交换机同样需要,三层交换机实现vlan间通信的网关是虚拟接口SVI。只有添加了vlan后才能设置相应的虚拟接口作为该vlan的网关。接下来我们来实现一个简单的仿真实验。
实验内容:将PC1和PC2分别划分到vlan10和vlan20,实现不同vlan间的通信。
拓扑图:
PC1
IP:192.168.1.1
子网掩码:255.255.255.0
网关:192.168.1.254
PC2
IP:192.168.2.1
子网掩码:255.255.255.0
网关:192.168.2.254
交换机配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#ip routing //打开交换机的路由转发功能
Switch(config)#vlan 10 //添加vlan
Switch(config-vlan)#ex
Switch(config)#vlan 20
Switch(config-vlan)#ex
Switch(config)#int fa0/1
Switch(config-if)#sw acc vlan 10 //将接口下的主机划分至vlan
Switch(config-if)#ex
Switch(config)#int fa0/2
Switch(config-if)#sw acc vlan 20
Switch(config-if)#ex
Switch(config)#int vlan 10 //设置vlan的虚拟接口作为网关
Switch(config-if)#
Switch(config-if)#ip add 192.168.1.254 255.255.255.0
Switch(config-if)#no sh //手动开启vlan虚拟接口
%LINK-5-CHANGED: Interface Vlan10, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan10, changed state to up
Switch(config-if)#ex
Switch(config)#int vlan 20
Switch(config-if)#ip add 192.168.2.254 255.255.255.0
Switch(config-if)#no sh
%LINK-5-CHANGED: Interface Vlan20, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan20, changed state to up
此时两台不同vlan下的主机就ping得通了。
RIP协议能在内网的多个路由器之间自主学习并同步路由表。路由器启用RIP协议后,应在协议中宣布自己的路由表(所有路由器的初始路由表都只有与自己接口相邻的网段),随后将这些路由表发送给邻居路由器,对方的RIP收到后,通过整理更新出自己的路由表。接下来我们来实现一个简单的仿真实验。
实验内容:配置路由器的RIP协议,使两台在不同网络下的主机能通信。
拓扑图:
PC1
IP:192.168.1.1
子网掩码:255.255.255.0
网关:192.168.1.254
PC2
IP:192.168.2.1
子网掩码:255.255.255.0
网关:192.168.2.254
路由器1
fa0/0 IP:192.168.1.254
子网掩码:255.255.255.0
se2/0 IP:192.168.3.1
子网掩码:255.255.255.0
路由器2
fa0/0 IP:192.168.2.254
子网掩码:255.255.255.0
se2/0 IP:192.168.3.2
子网掩码:255.255.255.0
路由器1配置
(接口的配置不再赘述,请自行配置后再进行RIP协议的配置)
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router rip //进入RIP协议的配置
Router(config-router)#v 2 //选择版本2
Router(config-router)#net 192.168.1.0 //宣告自己的网段(路由器各个接口的网段)
Router(config-router)#net 192.168.3.0
Router(config-router)#ex
路由器2配置
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router rip
Router(config-router)#v 2
Router(config-router)#net 192.168.2.0
Router(config-router)#net 192.168.3.0
Router(config-router)#ex
此时两台主机就ping得通了。
OSPF在功能上与RIP相似,原理上的区别在于OSPF通过组播的方式在所有开启OSPF的接口发送Hello包,用来确定OSPF邻居。建立邻居关系后互相发送链路状态通告,形成链路状态数据库。再通过SPF算法,计算最佳路径后放入路由表。接下来我们来实现一个简单的仿真实验。
实验内容:配置路由器的RIP协议,使两台在不同网络下的主机能通信。
PC1
IP:192.168.1.1
子网掩码:255.255.255.0
网关:192.168.1.254
PC2
IP:192.168.2.1
子网掩码:255.255.255.0
网关:192.168.2.254
路由器1
fa0/0 IP:192.168.1.254
子网掩码:255.255.255.0
se2/0 IP:192.168.3.1
子网掩码:255.255.255.0
路由器2
fa0/0 IP:192.168.2.254
子网掩码:255.255.255.0
se2/0 IP:192.168.3.2
子网掩码:255.255.255.0
路由器1配置
(接口的配置不再赘述,请自行配置后再进行OSPF协议的配置)
Router(config)#router os 100 //进入ospf协议的配置 100是标识号
Router(config-router)#net 192.168.1.0 0.0.0.255 area 1 //宣告自己的网段、反掩码和区域号
Router(config-router)#net 192.168.3.0 0.0.0.255 area 1
路由器2配置
Router(config)#router os 100
Router(config-router)#net 192.168.2.0 0.0.0.255 area 1
Router(config-router)#net 192.168.3.0 0.0.0.255 area 1
两个路由器都配置后,终端会有以下提示
00:03:48: %OSPF-5-ADJCHG: Process 100, Nbr 192.168.3.2 on Serial2/0 from LOADING to FULL, Loading Done
此时两台不同vlan下的主机就ping得通了。
内网访问外网需要NAT技术,有静态NAT、动态NAT、PAT。原理是将内网的IP映射到外网IP接口上。这里我们只介绍PAT。PAT能让多个内网IP映射到同一个外网IP接口上,实现端口复用。接下来我们实现一个简单的仿真实验。
实验内容;PC1和PC2是内网IP,路由器2是外网路由器,PC3是外网IP。通过在路由器1上配置NAT使内网主机能和外网主机通信。
PC1
IP:192.168.1.1
子网掩码:255.255.255.0
网关:192.168.1.254
PC2
IP:192.168.2.1
子网掩码:255.255.255.0
网关:192.168.2.254
PC3
IP:221.98.1.1
子网掩码:255.255.255.0
网关:221.98.1..254
路由器1
fa0/0 IP:192.168.1.254
子网掩码:255.255.255.0
fa1/0 IP:192.168.2.254
子网掩码:255.255.255.0
se2/0 IP:202.101.1.1
子网掩码:255.255.255.0
路由器2
fa0/0 IP:221.98.1.254
子网掩码:255.255.255.0
se2/0 IP:202.101.1.2
子网掩码:255.255.255.0
路由器1配置:
(接口和协议的配置不再赘述,务必先配置两个路由器的网关通信协议再配置NAT)
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255//定义一个标准的access-list列表,将允许访问外网的内网网段号加入
//access-list 标识号(1-99)permit 允许访问外网的内网网段 掩码
Router(config)#access-list 1 permit 192.168.2.0 0.0.0.255
Router(config)#ip nat inside source list a interface se2/0 overload//将列表和公网地址接口关联,overload字段启用了端口复用
Router(config)#int fa0/0 //设置内部端口
Router(config-if)#ip nat inside
Router(config-if)#ex
Router(config)#int fa1/0
Router(config-if)#ip nat inside
Router(config-if)#ex
Router(config)#int se2/0 //设置外部端口
Router(config-if)#ip nat outside
配置成功后可以先再内网主机PC1上尝试ping路由器1的外网端口se2/0,如果ping通了PAT的配置就成功了。如果ping通了路由器1的外网端口但ping不通PC3,那就是网关协议没配好。
这个实验比较简单,只有一个外网接口。当有多个外网接口时:
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255//定义一个标准的access-list列表,将允许访问外网的内网网段号加入
//access-list 标识号(1-99)permit 允许访问外网的内网网段 掩码
Router(config)#ip nat pool a 202.101.1.1 202.101.1.3 netmask 255.255.255.0
//添加公网IP地址池a,将外网接口IP添加进去
Router(config)#ip nat inside source list 1 pool a overload
//将公网地址池与列表关联,overload字段启用了端口复用
Router(config)#int fa0/0 //设置内部端口
Router(config-if)#ip nat inside
Router(config-if)#ex
Router(config)#int fa1/0
Router(config-if)#ip nat inside
Router(config-if)#ex
Router(config)#int se2/0 //设置外部端口
Router(config-if)#ip nat outside
在上一个实验,我们实现了内网主机访问外网。但要实现外网访问内网服务器,需要配置内网服务器与其外部接口的端口映射。PAT是动态为内网和外部端口分配端口映射,但我们在外网想要访问内网服务器时,却不能得知此时PAT为内网服务器分配的端口是多少,所以需要配置静态端口映射。在上一个实验的基础上,将PC2换成服务器,IP和网关也按原来PC2的配置。在路由器 1上配置:
Router(config)#ip nat inside source static tcp 192.168.2.1 80 202.101.1.1 80
//添加静态映射
//服务类型 内网地址 端口号 外部端口地址 端口号