1.项目背景
近年来,随着教育信息化的不断推进,成都市政府加大了对教育基础设施的投入。今年,成都新投入建设了一批重点小学,旨在为学生提供更加优质的教育资源和环境。为了满足这些学校在教学、管理以及学生活动等方面的信息化需求,我们计划为这些学校规划并组建小型局域网。本项目的主要目标是为成都新建设的重点小学设计并构建稳定、高效、安全的小型局域网,以实现以下功能:
提供高速稳定的网络连接,满足师生在教学、科研和日常学习中的网络需求。
实现校园内资源的共享,包括教学资源、图书资料、学生作品等。
支持学校各项管理系统的运行,如学生信息管理系统、教务管理系统等
2.组网需求
在小学校园网场景中,采用接入层、汇聚层和核心层三层方式部署。用户希望:
- 考虑到业务的可靠性,接入层和汇聚层之间部署VRRP,在一条上行链路断开的时候,流量能切换到另外一条上行链路转发。
- 避免冗余备份链路导致的环网问题,消除接入层和汇聚层之间的环路。
- 汇聚层和核心层部署OSPF协议实现三层互通。
- 设置服务器区域,能够部署校园网站,外部用户可以访问;部署DHCP服务器,实现IP地址的自动下发,但是要防止有人员私接DHCP路由器。
- 保证网络流量的可靠性,租用运营商双线路,采用一主一备的流量出口方式。要求能够在主线路故障时快速切换至备用线路。
- 要求管理人员和财务处不能访问外部网络和其他内部网络。
3.需求分析
- 通过在汇聚层设备SWA1和SWA2、SWB1和SWB2之间部署VRRP,并追踪上行链路。实现链路冗余备份。
- 通过在汇聚层设备SWA1、SWA2汇聚层设备SWB1、SWB2和接入层设备SWJA、SWJB之间部署MSTP,消除网络中的环路。
- 通过在汇聚层设备SWA1、SWA2、SWB1、SWB2和核心层设备HE1、HE2之间部署OSPF,实现网络三层互通。
- 通过在服务器区设置接入交换机FUWU、接入Web服务器和DHCP服务器,在核心HE1和核心HE2上部署VRRP实现网关冗余;在交换机上设置DHCP中继实现跨广播域下发IP地址;设置DHCP snooping防止私接DHCP服务器。
- 通过在出口设备FW,采用浮动路由部署双出口链路,一主一备。使用BFD关联默认路由,实现快速切换。
- 通过在出口设备FW,部署NAT实现内部网络可以访问公网;部署端口映射,使得外网用户可以访问内网服务器;部署访问控制列表,让管理人员和财务处不能访问公网和其他内部网络。
4.设计与规划
4.1拓扑结构
4.2 各部门IP地址划分
部门 | VLAN | VLAN名称 | IP | 子网掩码 | 网关 |
办公室 | 10 | bangong10 | 192.168.10.0 | 255.255.255.0 | 192.168.10.254 |
财务处 | 20 | caiwu20 | 192.168.20.0 | 192.168.20.254 | |
语文组 | 30 | chinese30 | 192.168.30.0 | 192.168.30.254 | |
数学组 | 40 | math40 | 192.168.40.0 | 192.168.40.254 | |
英语组 | 50 | english50 | 192.168.50.0 | 192.168.50.254 | |
科学组 | 60 | science60 | 192.168.60.0 | 192.168.60.254 | |
DHCP服务 | 70 | dhcp70 | 192.168.70.0 | 192.168.70.254 | |
Web服务 | 80 | web80 | 192.168.80.0 | 192.168.80.254 | |
管理员 | 99 | Vlan99 | 192.168.99.0 | 192.168.99.254 |
4.3 设备VLAN、IP、端口划分
设备 | VLAN | IP地址 | 接口编号 | 描述 |
SWJA | VLAN:10 | — | 0/3 | To_Host_BGS |
VLAN:20 | — | 0/4 | To_Host_CW | |
trunk | — | 0/1 | To_SWA1 | |
trunk | — | 0/2 | To_SWA2 | |
SWJB | VLAN:30 | — | 0/3 | To_Host_YW |
VLAN:40 | — | 0/4 | To_Host_SX | |
VLAN:50 | — | 0/5 | To_Host_YY | |
VLAN:60 | — | 0/6 | To_Host_KX | |
trunk | — | 0/1 | To_SWJB1 | |
trunk | — | 0/2 | To_SWJB2 | |
SWA1 | VLAN:10 | IP地址:192.168.10.253/24 虚拟地址:192.168.10.254/24 | 0/5 | To_SWJA |
VLAN:20 | IP地址:192.168.20.252/24 虚拟地址:192.168.20.254/24 | 0/5 | To_SWJA | |
链路聚合 | 0/3 | To_Link-SWA2 | ||
0/4 | ||||
VLAN:11 | 192.168.11.2/30 | 0/1 | To_HE1 | |
VLAN:21 | 192.168.21.2/30 | 0/2 | To_HE2 | |
SWA2 | VLAN:10 | IP地址:192.168.10.252/24 虚拟地址:192.168.10.254/24 | 0/5 | To_SWJA |
VLAN:20 | IP地址:192.168.20.253/24 虚拟地址:192.168.20.254/24 | 0/5 | ||
链路聚合 | 0/3 | To_Link-SWA1 | ||
0/4 | ||||
VLAN:12 | 192.168.12.2/30 | 0/1 | To_HE1 | |
VLAN:22 | 192.168.22.2/30 | 0/2 | To_HE2 | |
SWB1 | VLAN:30 | IP地址:192.168.30.253/24 虚拟地址:192.168.30.254/24 | 0/5 | To_SWJB 5 |
VLAN:40 | IP地址:192.168.40.253/24 虚拟地址:192.168.40.254/24 | 0/5 | ||
VLAN:50 | IP地址:192.168.50.252/24 虚拟地址:192.168.50.254/24 | 0/5 | ||
VLAN:60 | IP地址:192.168.60.252/24 虚拟地址:192.168.60.254/24 | 0/5 | ||
链路聚合 | 0/3 | To_SWB2 | ||
0/4 | ||||
VLAN:13 | 192.168.13.2/30 | 0/1 | To_HE1 | |
VLAN:23 | 192.168.23.2/30 | 0/2 | To_HE2 | |
SWB2 | VLAN:30 | IP地址:192.168.30.252/24 虚拟地址:192.168.30.254/24 | 0/5 | To_SWJB |
VLAN:40 | IP地址:192.168.40.252/24 虚拟地址:192.168.40.254/24 | 0/5 | ||
VLAN:50 | IP地址:192.168.50.253/24 虚拟地址:192.168.50.254/24 | 0/5 | ||
VLAN:60 | IP地址:192.168.60.253/24 虚拟地址:192.168.60.254/24 | 0/5 | ||
链路聚合 | 0/3 | To_SWB1 | ||
0/4 | ||||
VLAN:14 | 192.168.14.2/30 | 0/1 | To_HE1 | |
VLAN:24 | 192.168.24.2/30 | 0/2 | To_HE2 | |
HE1 | — | 192.168.11.1/30 | 0/5 | To_SWA1 |
— | 192.168.12.1/30 | 0/6 | To_SWA2 | |
— | 192.168.13.1/30 | 0/7 | To_SWB1 | |
— | 192.168.14.1/30 | 0/8 | To_SWB2 | |
— | 192.168.100.1/30 | 0/1 | To_FW | |
链路聚合 | 0/2 | To_HE2 | ||
0/3 | ||||
VLAN:70 | IP地址:192.168.70.253/24 虚拟地址:192.168.70.254/24 | 0/4 | To_SW_Server | |
VLAN:80 | IP地址:192.168.80.252/24 虚拟地址:192.168.80.254/24 | 0/4 | To_SW_Server | |
VLAN:99 | P地址:192.168.99.252/24 虚拟地址:192.168.99.254/24 | 0/4 | To_SW_Server | |
HE2 | — | 192.168.21.1/30 | 0/5 | To_SWA1 |
— | 192.168.22.1/30 | 0/6 | To_SWA2 | |
— | 192.168.23.1/30 | 0/7 | To_SWB1 | |
— | 192.168.24.1/30 | 0/8 | To_SWB2 | |
— | 192.168.200.1/30 | 0/1 | To_FW | |
VLAN:70 | IP地址:192.168.70.252/24 虚拟地址:192.168.70.254/24 | 0/4 | To_SW_Server | |
VLAN:80 | IP地址:192.168.80.253/24 虚拟地址:192.168.80.254/24 | 0/4 | To_SW_Server | |
VLAN:99 | IP地址:192.168.99.253/24 虚拟地址:192.168.99.254/24 | 0/4 | To_SW_Server | |
SW_Server | VLAN:70 | — | 0/3 | To_DHCP_Server |
VLAN:80 | — | 0/4 | To_Web_Server | |
VLAN:99 | — | 0/5 | To_Host_GL | |
0/1 | To_HE1 | |||
0/2 | To_HE2 | |||
FW | — | 192.168.100.2/30 | 0/0 | TO_HE1 |
— | 192.168.200.2/30 | 0/1 | TO_HE2 | |
— | 100.0.0.1/30 | S1/0 | To_ISP1 | |
— | 200.0.0.1/30 | S1/1 | To_ISP2 |
5.思科模拟器配置
5.1内部网络配置
(1)接入层与汇聚层之间的链路冗余-链路聚合-生成树协议配置
对应名称如下所示:
链路聚合配置:
假设已创建vlan 10 ,20
#链路聚合
sw1
Switch(config)#int port-channel 1 //创建链路聚合组 1
Switch(config-if)#no shutdown //保证链路聚合组是开启状态
Switch(config-if)#exit
Switch(config)#int range f0/1-2 //同时配置多条链路
Switch(config-if-range)#sw trunk encapsulation dot1q //配置端口为trunk模式
Switch(config-if-range)#sw mo trunk
Switch(config-if-range)#sw trunk allowed vlan all
Switch(config-if-range)#channel-group 1 mode on //加入数据链路,且状态为主动
Switch(config-if-range)#exit
sw2做相同配置
检查:Switch#show etherchannel summary
Group Port-channel Protocol Ports
------+-------------+-----------+----------------------------------------------
1 Po1(SU) - Fa0/1(P) Fa0/2(P)
#保证链路聚合为启用状态,且端口正确
生成树协议配置:
#思科模拟器默认开启私有生成树协议PVST
SW1:
Switch(config)#spanning-tree mode pvst //令生成树协议模式为pvst
Switch(config)#spanning-tree vlan 10 priority 0 //在vlan模式中,设置vlan10为主
Switch(config)#spanning-tree vlan 20 priority 4096 //在vlan模式中,设置vlan20为副
SW2:
Switch(config)#spanning-tree mode pvst
Switch(config)#spanning-tree vlan 10 priority 4096 //副
Switch(config)#spanning-tree vlan 20 priority 0 //主
SW3:
Switch(config)#spanning-tree mode pvst //默认32768
查看SW3的spanning-tree
Switch#show spanning-tree
链路冗余配置(standby)
#在vlan中配置代理,代理网关实现冗余
sw1:
Switch(config)#int vlan 10
Switch(config-if)#ip address 10.1.1.253 255.255.255.0
Switch(config-if)#standby 10 preempt
Switch(config-if)#standby 10 priority 200 //主(数值越大越优先)
Switch(config-if)#standby 10 ip 10.1.1.254
Switch(config-if)#exit
Switch(config)#int vlan 20
Switch(config-if)#ip address 20.1.1.252 255.255.255.0
Switch(config-if)#standby 20 preempt
Switch(config-if)#standby 20 priority 100 //备
Switch(config-if)# standby 20 ip 20.1.1.254
sw2:
Switch(config)#int vlan 10
Switch(config-if)#ip address 10.1.1.252 255.255.255.0
Switch(config-if)#standby 10 preempt
Switch(config-if)#standby 10 priority 100 //备
Switch(config-if)#standby 10 ip 10.1.1.254
Switch(config-if)#exit
Switch(config)#int vlan 20
Switch(config-if)#ip address 20.1.1.253 255.255.255.0
Switch(config-if)#standby 20 preempt
Switch(config-if)#standby 20 priority 200 //主
Switch(config-if)# standby 20 ip 20.1.1.254
检查:Switch#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Vl10 10 200 P Active local 10.1.1.252 10.1.1.254
Vl20 20 100 P Standby 20.1.1.253 local 20.1.1.254
(2)汇聚层-核心层-安全设备(FW)使用OSPF 建立路由邻居关系
将所有直连网段写入OSPF area 0 中,自动联通
在安全设备处设置出口路由下发,令所有设备都能找到出口路由位置,避免静态路由配置
出口路由的OSPF下发
出口路由已经存在静态路由0.0.0.0 0.0.0.0 下一跳
FW(config)#router ospf 10
FW(config-router)#default-information originate
(3)服务器区配置DHCP,以及汇聚交换机配置DHCP_snooping安全策略
DHCP服务器配置:
汇聚层配置DHCP寻址服务:
三层交换机:
(1)开启DHCP服务:
SWA1(config)#service dhcp
(2)开启路由转发功能
SWA1(config)#ip routing
(3)VLAN配置,查找DHCP服务器:
SWB2(config)#server dhcp //开启DHCP服务
SWB2(config)#int vlan 30
SWB2(config-if)#ip helper-address 192.168.70.1 //DHCP服务器ip地址
#DHCP snooping安全配置
SWB2(config)#ip dhcp snooping vlan 30,40,50,60
SWB2(config)#int range f0/3-5
SWB2(config-if-range)#ip dhcp snooping trust
检查:show run
SWA1#show ip dhcp snooping
(4)在出口设备FW,采用浮动路由部署双出口链路,一主一备,实现快速切换
利用浮动路由绑定端口
FW(config)#ip route 0.0.0.0 0.0.0.0 s1/0 10 //主
FW(config)#ip route 0.0.0.0 0.0.0.0 s1/1 20 //副
然后在OSPF中,植入静态路由下发:
Router(config-router)# default-information originate
检查;检查接口状态:Router# show ip interface brief
验证路由:Router# show ip route
当设备会自动监听端口状态,当主链路断开,主链路端口down掉,能自动切换使用备用出口路由
切换成备用路由,实现主备切换,当主链路恢复正常,切换回主端口
5.2 动态NAT转化+端口映射
在安全设备上配置NAT转换访问外部网络
access-list 1 permit 192.168.0.0 0.0.255.255
ip nat inside //将入口端口配置为inside
ip nat outside //将出口端口配置为outside
ip nat inside source list 1 interface Serial1/0 overload
查看NAT配置:
查看NAT转换情况
将服务器网站端口映射到出口,让外网可以访问
FW(config)#ip nat inside source static tcp 192.168.80.1 80 100.0.0.1 8080
FW(config)#access-list 101 permit tcp any host 100.0.0.1 eq 8080
FW(config)#int s1/0
FW(config-if)#ip access-group 101 in
FW(config-if)#exit
外部网络只能访问100.0.0.1:8080 ----> 192.168.80.1:80
5.3 ACL配置
隔离vlan20 财务处不能与其他网络主机通信
acl 隔离三层协议,将ACL布置在SWA1、SWA2上,隔离三层互联,保证二层同vlan20的财务处互通
SWA1(config)# access-list 100 deny ip 192.168.20.0 0.0.0.255 any
SWA1(config)# access-list 100 permit ip any any
SWA1(config)# interface vlan 20
SWA1(config-if)# ip access-group 100 in
SWA2同上