第三章 构建安全的局域网
3.1 交换机概述
交换机是目前局域网中使用最广的网络设备,它工作在数据链路层。由于其能够根据局域网的拓扑结构自动形成端口地址表,并依此表线速的转达发数据包,减少了网络的冲突,增加了网络带宽。
交换机拥有一条很高带宽的内部总线和内部交换结构。交换机的所有的端口都挂在这条内部总线上,控制电路收到数据包以后,端口处理程序会查找内存中的地址对照表以确定目的MAC地址的NIC(网卡)挂接在哪个端口上,通过内部交换机构迅速将数据包传送到目的的端口。只有当目的MAC不存在时,才将数据广播到所有的端口。接收端口响应后,交换机会学习新的地址,并把它添加到内部地址表中。
使用交换机可以把网络“分段”,通过地址对照表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效地隔离广播风暴,减少错包的出现,避免出现共享冲突。
交换机在同一时刻可进行多个端口对之间的数据传输。每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部带宽,无须同其他设备竞争使用。
冲突域:用同轴电缆构建或以集线器(Hub)为核心构建的共享式以太网,其所有节点同处于一个共同的冲突域,一个冲突域内的不同的设备同时发出的以太帧互相冲突;同时,冲突域内的一台主机发送的数据,同处于一个冲突域的其他主机都可以接收到。可见,一个冲突域内的主机太多会导致每台主机得到的可用带宽降低,网上冲突可能性成倍增加,信息安全得不到保证。
广播域:广播域是网上一组设备的集合,当这些设备中的一个发出一个广播帧时,所有其他设备都能接收到该帧。
广播域和冲突域是两个比较容易混淆的概念,在这里一定要注意区分这两个概念:连接在一个Hub上的所有设备构成一个冲突域,同时也构成了一个广播域;连接在交换机上的每个设备都分别属于不同的冲突域,交换机每个端口构成一个冲突域,而属于同一个VLAN中的主机都属于同一个广播域。
桥接:桥接又称网桥,它用来连接两个或更多的共享式以太网段,不同的网段分别属于各自的冲突域,所有网段处于同一个广播域,桥接的工作模式是交换机工作原理的基础。
交换:局域网交换的概念来自桥接,从基本功能上讲,它于桥接使用相同的算法,只是交换的实现是由专用硬件实现,而传统的桥接是由软件来实现的。并且局域网交换机具有丰富的功能,如VLAN划分、生成树协议、组播支持、服务质量保证等。
MAC地址表:交换机内有一个MAC地址表,用于存放该交换机端口所连接设备的MAC地址于端口号的对应信息。MAC地址表是交换机正常工作的基础,它的生成过程也是我们应该重点掌握的内容。
3.2交换机的配置管理方式
对网络互连设备的配置通常有以下几种方法:
- 通过设备的Console(控制台)端口接超级终端或运行终端仿真软件的PC机
- 通过设备的AUX端口接MODEM,通过电话线与远方的终端
- 通过Telnet程序
- 通过浏览器
- 通过网管软件
但是网络互连设备的第一次配置必须通过第一种方法来实现,同时第一种方法也是最常用最直接有效的方法。其它方法必须建立在网络设备已有一些基本配置的基础上。本实验手册对网络设备的配置都是通过Console配置方法来实现。
3.2.1 Console口配置管理
具体操作步骤如下:
- 连接Console口配置线缆,如果已经连接,确认连接的主机串口是com1还是com2
- 创建超级终端会话,按照如下路径打开超级终端:windows开始—>程序—>附件—>通讯—>超级终端
- 选择通讯串口(com1或com2)
- 配置串口工作参数;具体配置界面如图1-1所示:
图1-1 端口设置
完成上述配置之后,如果交换机已经启动,回车即可建立与交换机的通信。若未启动,请检查交换机电源是否打开。
3.2.2 Telnet配置管理
Telnet配置管理方法是网络工程师或网络管理员使用最广泛的一种设备访问控制方式。它通过局域网或广域网实现本地或远程地访问控制。但是它的使用必须要求首先对设备进行初始化配置,否则用户无法正确登陆和访问。初始化配置只能通过Console口登陆进行配置。
如果要想访问某交换机,必须能够唯一确定被访问的交换机。所以我们进行Telnent配置管理的前提是交换机必须具有唯一的IP地址。
配置交换机的IP地址:
Switch>en
Switch#config terminal (进入全局配置模式)
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface vlan 1 (进入交换机管理接口配置模式)
Switch(config-if)#ip address 192.168.0.1 255.255.255.0 (配置交换机管理接口IP地址)
Switch(config-if)#no shut (开启交换机管理接口)
Switch(config-if)#exit
Switch(config)#
此时请配置你的主机IP地址与Vlan 1处于同一网段,然后用windows附带的Telnet终端软件访问192.168.0.1。如图1-2所示:
图1-5 单台交换机VLAN划分
3.7.5 实验步骤
根据如上图所示,为了清晰起见,建议删除交换机上所有配置并且重新启动交换机。
现在我们在交换机上划分两个VLAN,即VLAN 2、VLAN 3。一台在没有经过任何配置的交换机默认是将所有的端口划分在VLAN 1中。RG S2126G交换机共有24个端口,现在我们将前面从1—12个端口划分在VLAN 2中,将后面的从13—24端口划分在VLAN 3中。然后通过PC机之间看能否Ping通,同一个VLAN间的PC机 若能Ping通,而不同VLAN间的PC机不能Ping通,说明VLAN配置成功。具体操作如下:
Switch >
Switch >enable 14 (进入特权模式)
Password: (输入14级密码star)
Switch #
Switch #conf t
Switch(config)#hostname S2126_1 (交换机重命名为S2126_1)
S2126_1(config)#
S2126_1(config)#vlan ? (查看当前命令下的子命令)
<1-4094> VLAN IDs
range VLAN range command
S2126_1(config)#vlan 2 (创建VLAN 2)
S2126_1(config-vlan)#name ?
WORD Ascii name of the VLAN
S2126_1(config-vlan)#name Workgroup2 (为VLAN 2命名:Workgroup2)
2008-07-30 17:46:01 @5-CONFIG:Configured from outband
S2126_1(config-vlan)#exit
S2126_1(config)#vlan 3 (创建VLAN 3)
S2126_1(config-vlan)#name Workgroup3 (为VLAN 3命名:Workgroup3)
S2126_1(config-vlan)#exit
S2126_1(config)#
S2126_1(config)#interface range fastEthernet 0/1 – 12 (定义端口范围)
S2126_1(config-if-range)#switchport access vlan 2 (将所定义的端口划分到VLAN2)
S2126_1(config-if-range)#no shut (激活所定义的端口)
S2126_1(config-if-range)#exit
S2126_1(config)#
S2126_1(config)#interface range fastEthernet 0/13 – 24 (定义端口范围)
S2126_1(config-if-range)#switchport access vlan 3 (将所定义的端口划分到VLAN3)
S2126_1(config-if-range)#no shut (激活所定义的端口)
S2126_1(config-if-range)#exit
S2126_1(config)#exit
S2126_1#sh vlan (查看VLAN数据库信息)
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active
2 Workgroup2 active Fa0/1 ,Fa0/2 ,Fa0/3
Fa0/4 ,Fa0/5 ,Fa0/6
Fa0/7 ,Fa0/8 ,Fa0/9
Fa0/10,Fa0/11,Fa0/12
3 Workgroup3 active Fa0/13,Fa0/14,Fa0/15
Fa0/16,Fa0/17,Fa0/18
Fa0/19,Fa0/20,Fa0/21
Fa0/22,Fa0/23,Fa0/24
S2126_1#
S2126_1# write memory (保存配置信息)
注意:在定义端口范围的时,如S2126_1(config)#interface range fastEthernet 0/1 – 12,“fastEthernet 0/1 – 12”中“-”的左右两边都加空格也可以都不加。
配置完成后,将PC1和PC2同时接入VLAN 2中,测试一下同一VLAN内的主机之间是否可以Ping通,答案是肯定的。接下来将PC 2接入VLAN 3中,测试一下不同VLAN内的主机是否可以Ping 通,答案是否定的。因为PC 1和PC 2不属于同一个VLAN中。
通过测试可以知道不在同一个VLAN中的计算机之间不能通信,同一个VLAN中的计算机可以相互通信。
3.8 跨交换机实现VLAN
3.8.1 实验目的
跨交换机实现VLAN的划分和配置
3.8.2 背景描述
假设某公司的两个主要部分:研发部和销售部。两个部门的个人计算机系统分散在两台交换机上,公司要求,部门内的计算机能够相互通信,部门间不能进行互访,现能过跨交换机进行配置实现这一目标。
3.8.3 实验设备
- 两台RG S2126G交换机
- 五台PC机,其中一台可以打开管理端网页,进行设备配置
- 直通双绞线若干,交叉双绞线若干
3.8.4 实验拓扑图
实验拓扑如图1-6所示:
图1-7 Trunk配置
3.9.5 实验步骤
为了清晰起见,建议删除交换机上所有配置并且重新启动交换机。
- 说明
如果我们的实验设备是Cisco的,那么我们可以通过配置VTP(VLAN Trunking Protocol)减少我们在VLAN条目比较多的情况下创建VLAN的工作量。
VTP在系统级管理增加,删除,调整的VLAN,自动地将信息向网络中其它的交换机广播。此外,VTP减小了那些可能导致安全问题的配置。便于管理,只要在vtp server做相应设置,vtp client会自动学习vtp server上的vlan信息。
但是VTP 是通过网络中ISL帧或cisco私有DTP帧保持VLAN配置统一性,因此在锐捷交换机产品中没有相关的配置。我们不得不使用笨拙的办法来完成跨交换机实现VLAN,就是在每一台交换机上都要做VLAN的配置(创建VLAN)。
- 配置VLAN Trunk端口
分别在服务器和客户端进行中继端口设置
S2126_1(config)#interface fastEthernet 0/24
S2126_1(config-if)#switchport mode trunk (f0/24端口链路模式设置为Trunk)
S2126_1(config-if)#switchport trunk ?
allowed Set allowed VLAN characteristics when interface is in
trunking mode
native Set trunking native characteristics when interface is
in trunking mode
S2126_1(config-if)#switchport trunk allowed ?
vlan Set allowed VLANs when interface is
in trunking mode
S2126_1(config-if)#switchport trunk allowed vlan ?
add Add VLANs to the current list
all All VLANs
except All VLANs except the following
remove Remove VLANs from the current list
S2126_1(config-if)#switchport trunk allowed vlan all (允许所有VLAN信息通过此Trunk链路口)
S2126_1(config-if)#Switch(config-if)#exit
S2126_1(config)#exit
在Switch 2中做同样的配置。
- 创建VLAN
VLAN信息可以在服务器模式或透明模式交换机上创建。
交换机1:
S2126_1(config)#vlan 2
S2126_1(config-vlan)#name Workgroup2 (为VLAN 2命名:Workgroup2)
S2126_1(config-vlan)#exit
S2126_1(config)#vlan 3 (创建VLAN 3)
S2126_1(config-vlan)#name Workgroup3 (为VLAN 3命名:Workgroup3)
S2126_1(config-vlan)#exit
S2126_1(config)# exit
交换机2:
Switch #conf t
Switch(config)#hostname S2126_2 (交换机重命名为S2126_2)
S2126_2(config)#vlan 2 (创建VLAN 2)
S2126_2(config-vlan)#name Workgroup2 (为VLAN 2命名:Workgroup2)
S2126_2(config-vlan)#exit
S2126_2(config)#vlan 3 (创建VLAN 3)
S2126_2(config-vlan)#name Workgroup3 (为VLAN 3命名:Workgroup3)
S2126_2(config-vlan)#exit
S2126_2(config)#
- 在交换机1和交换机2中分别将端口加入VLAN中
S2126_1(config)#interface range fastEthernet 0/1 - 8
S2126_1(config-if-range)#switchport access vlan 2
S2126_1(config-if-range)#no shut
S2126_1(config-if-range)#exit
S2126_1(config)#interface range fastEthernet 0/9 - 16
S2126_1(config-if-range)#switchporta access vlan 3
S2126_1(config-if-range)#no shut
S2126_1(config-if-range)#exit
S2126_1(config)#exit
S2126_1#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/17,Fa0/18,Fa0/19
Fa0/20,Fa0/21,Fa0/22
Fa0/23,Fa0/24
2 Workgroup2 active Fa0/1 ,Fa0/2 ,Fa0/3
Fa0/4 ,Fa0/5 ,Fa0/6
Fa0/7 ,Fa0/8 ,Fa0/24
3 Workgroup3 active Fa0/9 ,Fa0/10,Fa0/11
Fa0/12,Fa0/13,Fa0/14
Fa0/15,Fa0/16,Fa0/24
S2126_1# write memory
S2126_1#
交换机2中做一样的配置。
接下来将PC1用直通双绞线连接到S2126_1交换机C2连接到VLAN 3中,PC3用直通双绞线连接到S2126_2交换机C4连接到VLAN 3中。测试VLAN间的内部通信。
3.10 STP(生成树协议)
3.10.1 实验目的
掌握生成树协议STP的配置及原理
3.10.2 背景描述
某公司为了开展业务,增开了一个分公司,现在总部和分公司间通过两台交换机互连组成内部企业网,为了提高网络的可靠性,网络管理员用两条链路将交换机互连,但是这样将会产生网络环路,我们可以通过配置STP协议来解决这个问题。
3.10.3 实验设备
- 两台RG S2126G交换机
- 五台PC机,其中一台可以打开管理端网页,进行设备配置
- 直通双绞线若干,交叉双绞线若干
3.10.4 实验拓扑图
实验拓扑如图1-8、1-9所示
图1-8 通过配置STP端口权值实现
图1-9通过配置STP端口路径值实现
3.10.5 实验步骤
1.通过配置STP端口权值来实现负载均衡
基于端口权值的网络环境如图1-8所示。我们划分了2个VLAN,2条Trunk,提高链路冗余。在两台交换机上创建VLAN,然后按照VLAN分配端口,并把f0/23和f0/24配置成Trunk。具体配置命令省略。
- 现在我们在总部交换机的f0/23和 f0/24上配置STP。
交换机1:
S2126_1#config Terminal
S2126_1(config)#interface f0/23 (进入端口f0/23配置模式)
S2126_1(config-if)#spanning-tree port-priority ?
<0-240> Port priority in increments of 16 ( 权值以16为增量)
S2126_1(config-if)#spanning-tree port-priority 32 (将f0/23的端口权值设为32)
S2126_1 (config)#interface f0/24 (进入端口f0/24配置模式)
S2126_1 (config-if)#spanning-tree vlan 2 port-priority 64(将f0/24的端口权值设为64)
S2126_1 (config-if)#end
S2126_1#write memory
交换机2:
配置同上。
这样我们就在不同Trunk链路上设置了不同的STP权值,这样STP协议就可以根据权值的大小来决定数据走哪条Trunk,在两条不同的Trunk链路中,STP权值大(数字较小)的链路端口将处于转发状态,STP权值小(数字较大)的链路端口将处于阻塞状态。任何一个时间,两条冗余的Trunk链路中只有一条能够转发数据,而另一条链路端口被阻塞,这样就防止了环路的产生。
2.通过配置STP路径值来实现负载均衡
基于路径值的网络环境如图1-9所示。
- 在两台交换机上创建VLAN,然后按照VLAN分配端口,并把f0/23和f0/24配置成Trunk。具体配置命令省略。
- 现在我们在总部交换机的f0/23和 f0/24上配置STP。
S2126_1#config Terminal
S2126_1(config)#interface f0/23 (进入端口23配置模式,Trunk1)
S2126_1(config-if)#spanning-tree cost 19 (将生成树路径值设为19)
S2126_1(config-if)#exit
S2126_1(config)#interface f0/24 (进入端口24配置模式,Trunk2)
S2126_1(config-if)#spanning-tree cost 30 (将生成树路径值设为30)
S2126_1(config-if)#end
S2126_1# write memory
路径值小的的链路将被用来转发数据,通过路径值大的链路将被阻塞。
至此交换机已经通过配置STP协议实现了Trunk线路的负载均衡,使具有冗余链路结构网络中避免了产生环路。