第11章 网络设备及其配置
【知识要点】
1.网络设备配置方式:带外管理、带内管理。
2.交换机的端口配置。
3.VLAN的配置:创建VLAN、端口加入VLAN、Trunk链路、VTP协议。
4.生成树协议。
5.路由器端口的配置。
6.路由配置:静态路由、默认路由、动态路由。
7.ACL配置。
8.NAT配置。
9.防火墙的配置。
【学习内容】
11.1网络设备配置方式
通常情况下,可以通过以下几种方式登录交换机或路由器:
①Console端口:使用一根配置缆线连接计算机的串口和交换机或路由器的Console端口,启动Windows系统中的“超级终端”附件管理交换机或路由器。这种方式不占用网络带宽,因此被称为带外管理。下面将要介绍的几种方式都占用带宽,被称为带内管理。带外管理是带内管理的基础,因为只有通过带外管理开启相关的功能或配置相关的参数之后,带内管理才能够启用。
②Telnet:在DOS命令提示符下使用Telnet工具远程登录交换机或路由器。
③Web浏览器:通过浏览器访问交换机或路由器。
④网关软件:使用专门的网络管理软件管理网络设备。
一般而言,交换机和路由器存在以下几种命令行模式:
①普通用户模式(switch>):只能查看设备的基本信息,不能更改相关配置。
②特权用户模式(switch#):在普通用户模式下输入enable命令和正确的用户口令即可进入。在特权用户模式下可以查看设备的所有信息。
③全局配置模式(switch(config)#):在特权用户模式下输入configure terminal命令即可进入。在全局配置模式下可以设置一些全局性的参数,例如开启telnet、web、snmp等服务,配置设备名称、用户口令、系统时间等。
④接口配置模式(switch(config-if)):在全局配置模式下执行interface xxx(接口名称)命令进入相关接口,可以设置接口的通信参数、开启或关闭接口等。
⑤vlan配置模式(switch(config-vlan)):在全局配置模式下执行vlan xx(VLAN标识号)进入相应的VLAN,可以对VLAN的相关参数进行设置、修改。
⑥路由配置模式(router(config-router)):在全局配置模式下执行route xxx(路由协议名称及其参数)命令进入相关路由协议的配置模式,可以对动态路由协议的参数进行设置。
在网络设备的CLI操作中,无论何种模式和位置,都可以输入“?”(注:输入的应该是英文字符中的问号)得到OS系统的帮助。
下面以交换机为例说明如何对网络设备进行初始化配置(注:括号中的文字是对命令的解释)。
swithch>enable (进入特权用户模式)
switch#config t (进入全局配置模式)
switch(config)#hostname Lee (将主机名称更改为Lee)
Lee(config)#enable password ruijie (设置特权用户密码为ruijie)
Lee(config)#line console 0 (进入线路配置模式)
Lee(config-line)#password ruijie123 (设置控制台密码)
Lee(config-line)#login (允许用户使用带外管理方式)
Lee(config-line)#line vty 0 15 (设置Telnet登录用户数为16)
Lee(config-line)#password ruijie123 (设置Telnet登录口令)
Lee(config-line)#exit (返回上一级配置模式,即全局配置模式)
Lee(config)#int vlan 1 (进入VLAN接口配置模式)
Lee(config-if)#ip address 192.168.1.1 255.255.255.0(配置管理用IP地址)
Lee(config-if)#no shutdown (激活端口)
Lee(config-if)#end (返回特权用户模式)
Lee#copy running-config startup-config (保存配置)
11.2交换机的端口配置
在缺省情况下,交换机的所有端口都属于VLAN 1,且处于自动开启状态。交换机端口默认是二层端口,在支持三层交换的交换机上,可以开启端口的路由功能,使之成为三层端口。
一般情况下,交换机端口之间的速率和通信模式可以通过自协商来匹配。如果是不同设备之间的互连,有时需要手工设置端口的通信参数。
【例】将传输速率为10/100Mbps的自适应端口Fa0/3设置为100Mbps及全双工通信模式,配置命令如下:
switch#config t
switch(config)#int fa0/3
switch(config-if)#speed 100 (设置端口速率为100Mbps)
switch(config-if)#duplex full (设置通信模式为全双工)
switch(config-if)#end
switch#copy running-config startup-config
交换机上所指的三层端口就是具有路由功能的端口。下面这段代码说明了如何配置三层端口。
switch(config)#int fa0/1 (进入端口fa0/1的接口配置模式)
switch(config-if)#no switchport (关闭二层端口意味着开启三层端口)
switch(config-if)#ip address 192.168.1.1 255.255.255.0 (设置端口的IP地址)
switch(config-if)#ip default-gateway 192.168.1.254 (设置默认网关)
switch(config-if)#no shutdown (激活端口)
11.3 VLAN的配置
VLAN是对连接到二层交换机端口的网络用户的逻辑分组。一个VLAN就是一个广播域。VLAN具有隔离冲突域、缩小广播范围,提高网络安全性,简化网络管理的作用。通常基于交换机端口划分VLAN。对于跨越多台交换机划分VLAN,Cisco公司开发了VLAN中继协议(VTP),简化了VLAN的管理。如果要实现不同VLAN之间的通信,可以借助路由器进行单臂路由,或者使用三层交换机的三层交换功能。
11.3.1 基于端口划分VLAN
基于端口划分VLAN就是将交换机的端口划分到某个VLAN,连接到该端口的终端也就自动加入某个VLAN了。创建VLAN的步骤如下:
第1步:config terminal,进入全局配置模式
第2步:vlan vlan-id,创建VLAN,vlan-id是一个参数,标识VLAN的ID号
第3步:name vlan-name,给VLAN命名,也可以不命名而是使用系统默认名称
第4步:exit,返回到全局配置模式
对于级联的交换机,级联端口通常需要设置为Trunk模式,才能允许不同VLAN的数据帧通过,而其它端口则设置为默认的Access模式。
为了实现在一条Trunk链路上区分不同VLAN的数据帧,人们开发了相关封装协议。其中能够被不同厂家支持的国际标准是IEEE 802.1q。IEEE 802.1q使用了一种内部标记机制,将原先的以太网数据帧拆帧后加入4字节的标识字段重新封装。以下给出了配置Trunk链路经常使用到的命令:
①switchport mode trunk (设置当前端口为Trunk模式)
②switchport trunk encapsulation dot1q (使用IEEE 802.1q协议封装数据)
③switchport trunk allowed vlan all (允许所有VLAN的数据通过Trunk端口)
如果交换机端口加入VLAN,则可能需要使用下面的命令:
①switchport mode access (设置当前端口为Access模式,默认情况下不用设置)
②switchport access vlan vlan-id (将端口加入到指定的VLAN)
在特权模式下,可以使用show vlan命令查看VLAN信息。
11.3.2 VTP协议
对于跨越多台交换机的VLAN,分别在每一台交换机上创建VLAN固然能够解决问题,但是工作量肯定不小,而且还容易出错。Cisco公司开发的VTP协议极大地简化了VLAN的配置工作。以下是VTP协议中的几个重要概念。
VTP域:由一个以上共享VTP域名并相互连接的交换机组成。只有处于同一VTP域的交换机才能够相互转发VLAN信息。
VTP模式:VTP域中的交换机有三种模式,分别是Server模式、Client模式和Transparent模式。Server模式的交换机负责创建、修改VLAN,并向VTP域广播VLAN信息;Client模式的交换机无权创建、修改VLAN,只能转发VLAN信息;Transparent模式的交换机不参与VTP。
下面列出了配置VTP的步骤和命令:
第1步:vtp mode server/client/transparent (设置交换机的VTP模式)
第2步:vtp domain domain-name (设置VTP域名)
第3步:vtp password xxxxxx (设置VTP口令)
11.3.3 VLAN间的通信
实现VLAN间通信的方法有两种:一是通过路由器,二是使用具有路由功能的三层交换机。使用路由器实现VLAN间通信的方法俗称“单臂路由”。与具有路由功能的三层交换机相比,使用路由器进行VLAN间的通信存在转发速率低、资源消耗大的缺点。因此,VLAN间的通信更多的是使用三层交换机。
三层交换机的内部分别设置了交换模块和路由模块,路由模块使用了ASIC的专用硬件芯片,能够实现线速交换。使用三层交换机进行VLAN间通信,只需使用ip routing命令开启交换机的路由功能,并配置VLAN接口的IP地址即可。
11.4生成树协议
为了提高网络的可靠性,交换机级联时通常会设置两条或两条以上的链路,实现链路冗余和负载均衡。但是这种冗余链路会形成拓扑环,严重影响交换机的性能。生成树协议STP可以解决这一问题。STP采用生成树算法,首先创建一个拓扑数据库,然后搜索并消除冗余链路。这样就保证数据帧只会在没有环路的链路上发送。
运行STP的交换机向网络发送桥接协议数据单元BPDU。这些BPDU包括计算机网络的生成树所必需的信息。在一个逻辑网络上要达到收敛状态,STP的执行过程如下:
第1步:选举一个根桥。根桥是桥ID最小的交换机。桥ID由优先级和MAC地址决定。一个网络只能有一个根桥,在根桥上,所有端口都是指定端口。
第2步:在非根桥上选举根端口。根端口是从非根桥到根桥的最短路径。
第3步:在每个网段中选举指定端口。指定端口处于转发状态,非指定端口处于阻塞状态,从逻辑上打破拓扑环。
在网络拓扑发生变化时,会导致生成树重新计算。
在STP中,端口在四种状态间转换:阻塞、监听、学习和转发。
如果拓扑发生变化,对于STP来说,收敛时间太长,不能保证网络的可靠性。快速生成树协议RSTP在物理结构发生变化时,能够显著地加快重新计算生成树的速度。
RSTP新增加了两种端口角色:替代和备份。RSTP将端口状态重新定义为丢弃、学习和转发。
缺省情况下,交换机自动开启STP或RSTP。
11.5路由器端口的配置
与交换机相比,路由器的端口数量少但类型多。而且缺省情况下路由器的端口处于关闭状态,需要手工激活。下面以实例说明如何配置路由器的端口。
router(config)#int fa0/1 (进入端口fa0/1的接口配置模式)
router(config-if)#ip address 192.168.1.101 255.255.255.0 (配置端口fa0/1的IP地址)
router(config-if)#no shutdown (激活端口fa0/1)
router(config-if)#int s0/1 (进入端口se0/1的接口配置模式)
router(config-if)#ip address 172.16.1.11 255.255.0.0 (配置端口se0/1的IP地址)
router(config-if)#clock rate 128000 (对于串口需要设置时钟频率)
router(config-if)#no shutdown
router(config-if)#end
11.6路由配置
11.6.1 静态路由的配置
为了说明问题,我们设想这样一种情况:某大学的两个校区分布在同一城市的不同区域,如何把两个校区的网络融为一体呢?由于每个校区都有各自独立的网段,要实现不同网段之间的互联,就需要使用路由器或三次交换机。两个校区之间只有一条链路,两端各有一个路由器,配置静态路由即可满足需求了。配置过程如下:
router1(config)#int fa0/1
router1(config-if)#ip address 172.16.0.1 255.255.255.0
router1(config-if)#no shutdown
router1(config-if)#int fa0/0
router1(config-if)#ip address 10.10.10.1 255.255.255.0
router1(config-if)#no shutdown
router1(config-if)#exit
router1(config)#ip route 20.20.20.0 255.255.255.0 172.16.0.2
(在路由器router1上配置到目标网段20.20.20.0/24的路由)
router2(config)#int fa0/1
router2(config-if)#ip address 172.16.0.2 255.255.255.0
router2(config-if)#no shutdown
router2(config-if)#int fa0/0
router2(config-if)#ip address 20.20.20.1 255.255.255.0
router2(config-if)#no shutdown
router2(config-if)#exit
router2(config)#ip route 10.10.10.0 255.255.255.0 172.16.0.1
(在路由器router2上配置到目标网段10.10.10.0/24的路由)
11.6.2 默认路由的配置
如果网络中发往任何网段的数据包都经过某一个路由器,那么可以在该路由器上配置默认路由,命令是ip route 0.0.0.0 0.0.0.0 next hop。其中8个0表示是任意的目标网络,后面配置下一跳路由入口的IP地址或本路由出口的端口名称。
11.6.3 RIP协议配置
以上介绍了静态路由的配置,包括默认路由。显然,当网络规模较大或网络拓扑经常发生变化时,使用静态路由不仅工作量大,而且网络的路由不能及时更新从而影响网络的可靠性和稳定性。这种情况下就需要使用动态路由了。动态路由能够根据网络当前的拓扑结构自动建构路由表。
经常使用的动态路由协议是基于距离向量的RIP协议和基于链路状态的OSPF路由。
RIP认为路由跳数最少的路径为最优路径。路由器收集所有可达目标网络的路径,从中选择去往同一网络所用路由跳数最少的路径信息,生成路由表。然后把所能收集到的路由信息中的跳数加1后生成路由更新通告,发给相邻的路由器,最后依次扩散到全网,从而达到收敛状态。RIP路由的配置过程如下。
①启动RIP路由进程:router rip
②指定RIP版本:version 2,默认版本是RIPv1
③发布路由器的直连网络:network network-id,例如network 172.16.0.0
可以使用show ip route命令查看路由表。
RIP路由适用于大多数中小型的园区网。这种网络规模不大,通信链路不多,多数采用以太网技术。
11.6.4 OSPF协议配置
OSPF是一个适用于大型网络的动态路由协议,根据链路带宽计算最优路径,具体算法可参看Dijkstra提出的最短路径优先算法SPF。OSPF路由的配置过程如下。
①启动OSPF路由进程:router ospf process-id,例如router ospf 1
②发布路由器的直连网络:network network-id wildcard-mask area area-id,例如network 192.168.1.0 0.0.0.255 area 0,其中0.0.0.255是子网掩码的反码,称作通配符掩码
11.7访问控制列表
对路由器而言,访问控制列表ACL是作用在路由器端口上的指令列表,这些指令列表用来控制路由器接收哪些数据包,拒绝哪些数据包。访问控制的条件可以是源地址、目标地址和协议。ACL被放置在端口上,使得流经该端口的所有数据包都要按照ACL所规定的条件接受检测。
通常将ACL分为标准ACL和扩展ACL。
11.7.1 标准ACL
标准ACL只检查数据包的源地址,其ID范围是1~99。下面是一个创建和应用标准ACL的实例。
R1#config t
R1(config)#access-list 1 deny 10.10.1.0 0.0.0.255(禁止网络10.10.1.0/24的数据包通过)
R1(config)#access-list permit 10.10.3.0 0.0.0.255(允许网络10.10.3.0/24的数据包通过)
R1(config)#int fa0/1
R1(config-if)#ip access-group 1 out (将ACL应用到端口fa0/1的out方向上)
R1(config-if)#end
11.7.2 扩展ACL
扩展ACL既检查数据包的源地址,也检查数据包的目标地址,还检查协议类型、端口等其它参数,其ID范围是100~199。下面以一个实例说明扩展ACL的创建与应用。
R1#config t
R1(config)#access-list 100 permit tcp any host 192.168.1.4 eq www
(允许任意主机访问Web服务器192.168.1.4)
R1(config)#access-list 100 deny icmp 192.168.3.0 0.0.0.255 host 192.168.1.3
(禁止网络192.168.3.0/24到主机192.168.1.3的ICMP通信)
R1(config)#access-list 100 deny ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
(禁止网络192.168.2.0/24访问网络192.168.3.0/24)
R1(config)#access-list 100 deny ip host 192.168.3.3 host 192.168.1.5
(禁止主机192.168.3.3访问主机192.168.1.5)
R1(config)#access-list 100 permit ip any any
(允许所有的IP数据包通过)
R1(config)#int se0/1
R1(config-if)#no shutdown
R1(config-if)#clock rate 12800
R1(config-if)#ip access-group 100 in (在端口se0/1的in方向上使用ACL)
11.8网络地址转换
网络地址转换NAT是指为了实现内外网络之间的通信而将IP数据包中的IP地址转换为另外一个IP地址的方法或过程。使用NAT的目的主要是解决公网IP地址短缺的问题。当然,使用NAT隐藏了内网地址也起到了安全的作用。
NAT有三种类型:静态地址转换、动态地址转换和端口地址转换。
11.8.1 静态地址转换
静态地址转换就是将私用IP地址与公网IP地址一对一的转换并绑定。借助于静态地址转换,外网用户可以访问内网的服务器。静态地址转换配置步骤如下。
第1步:ip nat inside source static local-address global-address,在内部本地地址和内部全局地址之间建立映射关系,例如ip nat inside source static 192.168.0.1 218.22.50.18
第2步:ip nat outside,在与外网相连的端口上启用NAT
第3步:ip nat inside,在与内网相连的端口上启用NAT
11.8.2 动态地址转换
动态地址转换也是将私有IP地址与公网IP地址进行一对一的转换,但是这种转换只是从公网IP地址池中选择一个没有被使用的地址,私有地址与公网地址不进行绑定。动态地址转换配置步骤如下。
第1步:ip nat pool pool-name start-address stop-address netmask,定义合法的IP地址池
第2步:access-list acl-id permit network-id wildcard-mask,定义标准ACL确定哪些本地地址可以进行动态地址转换
第3步:ip nat inside source list access-list acl-id pool-id,ACL指定的网络地址可以使用IP公网地址池中的地址
第4步:ip nat outside,在与外网相连的端口上启用NAT
第5步:ip nat inside,在与内网相连的端口上启用NAT
11.8.3 端口地址转换
端口地址转换是一种特殊的NAT应用,内网的多个用户同时使用一个公网IP地址,各用户之间使用端口进行区分。也就是说一个内网地址将映射成一个公网地址和端口的拼接。端口地址转换配置步骤如下。
第1步:ip nat pool pool-name start-address stop-address netmask,定义合法的IP地址池
第2步:access-list acl-id permit network-id wildcard-mask,定义标准ACL确定哪些本地地址可以进行网络地址转换
第3步:ip nat inside source list access-list acl-id pool-id overload,ACL指定的网络地址可以使用IP公网地址池中的地址,关键字overload说明这是一种端口地址转换
第4步:ip nat outside,在与外网相连的端口上启用NAT
第5步:ip nat inside,在与内网相连的端口上启用NAT
可以看出,端口地址转换是一种特殊的动态地址转换。
可以使用show ip nat translation查看网络地址转换信息。
11.9防火墙的配置
防火墙的配置方法和交换机、路由器相似,包括初始化时必须通过console端口,同时支持Telnet、Web等方式。下面介绍的是防火墙的主要配置内容和命令。
①配置防火墙接口的名字和安全级别:nameif int-number security-level
②配置网络接口参数:int hardware-id xxx
③配置内外网卡的IP地址:ip address if-name ip-address netmask
④设置外网地址范围:global if-name nat-id start-ip-address stop-ip-address subnet-mast
⑤设置指向内网和外网的静态路由:route if-name destination-network subnet-mask