前言
随着企业数字化转型加速与校园信息化建设深化,网络架构的复杂性与功能性需求持续提升。现代网络不仅需要实现终端设备的基础接入,更需满足多区域隔离、精细化访问控制、关键服务稳定部署及网络资源高效利用等核心诉求 。
一、 实验要求
本实验围绕企业 / 校园级网络架构需求,搭建包含三个区域的网络拓扑:区域一通过二层交换机 SW1 与 DCR1700_1 路由器连接,划分 VLAN 100、VLAN 200;区域二通过三层交换机 SW3 与 DCR1700_2 路由器连接,划分 VLAN 300、VLAN 400;区域三通过三层交换机 SW4 与 DCR1700_3 路由器连接,划分 VLAN 500、VLAN 600,同时将 SW4 与二层交换机 SW2 配置链路聚合以提升链路吞吐量与可靠性。实验中为各 VLAN 配置 DHCP 服务实现 IP 自动分配,在 VLAN 100 部署 Web、FTP、Email服务器并确保内网可访问;通过 ACL 协议在路由器 / 三层交换机接口出方向配置访问控制规则,满足各区域 VLAN 对 Internet、校园网及跨 VLAN 通信的差异化需求,同时为 VLAN 300、VLAN 500 添加工作时间(周一至周五 8:00-18:00)访问限制;此外,在 DCR1700 路由器上对各区域 VLAN 网段进行路由汇聚,核心路由器 DCR2600 通过 OSPF 协议更新全网路由,防火墙配置 NAT 实现内网地址转换为公网地址访问 Internet,最终完成符合通信规则、时间限制及服务可用性要求的多区域网络搭建与配置。
二、 根据要求绘制拓扑图
三、设计思路
3.1 划分VLAN
3.1.1 区域一
将SW1(二层交换机)与DCR1700相连,并划分VLAN 100和VLAN 200,同时给VLAN 100和VLAN 200划分C类IP地址 192.168.1.0/24 和192.168.2.0/24
3.1.2 区域二
将SW3(三层交换机)与DCR1700相连,并划分VLAN 300和VLAN 400,同时给VLAN 300和VLAN 400划分C类地址 192.168.3.0/24 和192.168.4.0/24
3.1.3 区域三
- 将SW4(三层交换机)与DCR1700相连,并划分 VLAN 500和VLAN 600,同时给VLAN 500和VLAN 600 划分C类地址 192.168.5.0/24 和192.168.6.0/24。
- 将SW4(三层交换机)与SW2(二层交换机)做交换机链路聚合(①排除热备份原因:在二层和三层两个交换机之间不容易配置虚拟IP,二层交换机不可配置IP,需额外增加路由器②不使用堆叠技术的原因:不直接增加宽带,且堆叠技术主要用于提高管理效率和一致性③选择链路聚合的原因:在人数为300的情况下可以提高链路的吞吐量和可靠性,可以降低硬件成本)
3.2 IP划分
对于6个VLAN,且人数最多仅有200人的情况下,采用C类地址192.168.0.0/24作为各个VLAN的网段,如:VLAN 100 IP地址可以划分为:192.168.1.0/24去除全1和全0作为广播地址和网络地址,同时考虑到网络的可拓展性,可以将除去全1和全0的192.168.1.0/24网段内剩余IP地址分给100名用户,同时使用DHCP协议自动分配给网段内的100名用户(待真机实验)
3.3 工程要求
3.3.1 区域一
VLAN 100 | VLAN200 | Internet | 校园网 | VLAN 500 | |
---|---|---|---|---|---|
VLAN 100 | \ | 不可以访问 | 可以访问 | 可以访问 | 不可以访问 |
VLAN 200 | 不可以访问 | \ | 可以访问 | 可以访问 | 不可以访问 |
VLAN 500 | 可以访问 | 可以访问 | 不可以访问 | 不可以访问 | \ |
3.3.2 区域二
VLAN 300 | VLAN 400 | Internet | 校园网 | VLAN 500 | |
---|---|---|---|---|---|
VLAN 300 | \ | 可以访问 | 不可以访问 | 可以访问 | 不可以访问 |
VLAN 400 | 可以访问 | \ | 不可以访问 | 可以访问 | 不可以访问 |
VLAN 500 | 可以访问 | 可以访问 | 不可以访问 | 不可以访问 | \ |
3.3.3 区域三
VLAN 500 | VLAN 600 | Internet | 校园网 | |
---|---|---|---|---|
VLAN 500 | \ | 可以访问 | 不可以访问 | 不可以访问 |
VLAN 600 | 不可以访问 | \ | 可以访问 | 可以访问 |
由此表可分析,如用隔离VLAN划分,①涉及到多个区域,使隔离VLAN不好划分;②不好确认主VLAN,隔离型从VLAN以及互通型从VLAN。故舍弃此方法,采用ACL协议配置(路由控制访问列表)根据ACL协议特性:ACL应用在设备接口出方向,报文先经过路由表路由后转至出接口,根据接口上应用的出方向ACL条件进行匹配,是允许permit还是拒绝deny,如果是允许,就根据路由表转发数据,如果是拒绝就直接将数据包丢弃了。在路由器的出口处仅需配置一次ACL便可以判断该通信是否可以到达
3.3.4 时间
在VLAN300和VLAN500当中,只能在工作时间可以访问其可以通讯的内容,于是,可在三层交换机上配置ACL协议
3.3.5 服务器
- Web服务器:
- 部署在VLAN 100的某个主机上。
- 配置HTTP服务(如Apache或Nginx),并确保可以通过内网访问。
- FTP服务器:
- 部署在VLAN 100,安装FTP服务(如vsftpd)。
- 配置目录权限,限制用户访问。
- Email服务器:
- 部署在VLAN 100,配置邮件服务(如Postfix)。
- 确保SMTP(25端口)和IMAP/POP3(143/110端口)服务正常。
3.3.6 路由汇聚
DCR1700路由器汇聚:
- DCR1700_1:VLAN 100 (192.168.1.0/24) + VLAN 200 (192.168.2.0/24) = 192.168.0.0/22
- DCR1700_2:VLAN 300 (192.168.3.0/24) + VLAN 400 (192.168.4.0/24) = 192.168.3.0/23
- DCR1700_3:VLAN 500 (192.168.5.0/24) + VLAN 600 (192.168.6.0/24) = 192.168.5.0/23
汇聚到DCR2600:
- 接收来自三个DCR1700的超级网段,并通过OSPF更新到全网。
防火墙配置:
- 配置NAT,以使所有内网地址通过防火墙的外部接口转换为公网地址进行访问。
补充说明:
- 路由汇聚就是将具有相同部分的01做统一,变成新的网络地址,而不同的则全变成0,由此来组成新的网络地址。
- 单臂路由就是指在路由器的一个接口上通过配置子接口的方式,实现原来相互隔离的不同VLAN之间的互联互通。
四、配置
4.1 防火墙(具体实验中发现利用图形化界面会更方便)
点击查看代码
#配置内网接口IP
ciscoasa>en
Password:
ciscoasa#conf t
ciscoasa(config)#int g1/1
ciscoasa(config-if)#nameif inside
INFO: Security level for "inside" set to 100 by default.
ciscoasa(config-if)#security-level 100
ciscoasa(config-if)#nameif inside
ciscoasa(config-if)#ip add 10.106.1.2 255.255.255.0
ciscoasa(config-if)#no sh#配置外网接口IP
ciscoasa(config-if)#int g1/2
ciscoasa(config-if)#security-level 0
ciscoasa(config-if)#nameif outside
ciscoasa(config-if)#ip add 10.106.177.3 255.255.255.0
ciscoasa(config-if)#no sh
4.2 配置核心路由器1(DCR2600)
点击查看代码
#配置端口IP
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int s2/0
Router(config-if)#ip add 10.106.2.2 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int s3/0
Router(config-if)#ip add 10.106.3.2 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int f1/0
Router(config-if)#ip add 10.106.4.1 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int f0/0
Router(config-if)#ip add 10.106.1.1 255.255.255.0
Router(config-if)#no sh
Router(config-if)#ex
Router(config)#router ospf 1
Router(config-router)#net 10.106.2.0 0.0.0.255 area 0
02:08:02: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.2.1 on Serial2/0 from LOADING to FULL, Load
Router(config-router)#net 10.106.3.0 0.0.0.255 area 0
Router(config-router)#net 10.106.4.0 0.0.0.255 area 0
Router(config-router)#net 10.106.1.0 0.0.0.255 area 0
4.3 配置接入层路由器2(DCR1700)
点击查看代码
#配置端口IP
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int s2/0
Router(config-if)#ip add 10.106.2.1 255.255.255.0
Router(config-if)#no sh
#Router(config-if)#int f0/0
#Router(config-if)#ip add 10.106.5.1 255.255.255.0
#Router(config-if)#ex
#多配置了(用no ip add可以撤销配置)Router(config)#int f0/0
Router(config-if)#int f0/0.100
Router(config-subif)#encapsulation dot1q 100
Router(config-subif)#ip add 192.168.1.1 255.255.255.0
Router(config-subif)#no sh
Router(config-subif)#int f0/0.200
Router(config-subif)#encapsulation dot1q 200
Router(config-subif)#ip add 192.168.2.1 255.255.255.0
Router(config-subif)#no sh
Router(config-subif)#ex
Router(config)#interface F0/0
Router(config-if)#no shutdown
Router(config-if)#ex
Router(config)#router ospf 1
Router(config-router)#net 192.168.1.0 0.0.0.255 area 0
Router(config-router)#net 192.168.2.0 0.0.0.255 area 0
Router(config-router)#net 10.106.2.0 0.0.0.255 area 0
4.4 配置接入层路由器3(DCR1700)
点击查看代码
#配置端口IP
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int s2/0
Router(config-if)#ip add 10.106.3.1 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int f0/0.300
Router(config-subif)#encapsulation dot1Q 300
Router(config-subif)#ip add 192.168.3.3 255.255.255.0
Router(config-subif)#no sh
Router(config-subif)#int f0/0.400
Router(config-subif)#encapsulation dot1Q 400
Router(config-subif)#ip add 192.168.4.3 255.255.255.0
Router(config-subif)#no sh
Router(config-subif)#ex
Router(config)#router ospf 1
Router(config-router)#net 192.168.3.0 0.0.0.255 area 0
Router(config-router)#net 192.168.4.0 0.0.0.255 area 0
Router(config-router)#net 10.106.3.0 0.0.0.255 area 0
4.5 配置接入层路由器4(DCR1700)
点击查看代码
#配置端口IP
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int f0/0
Router(config-if)#ip add 10.106.4.2 255.255.255.0
Router(config-if)#no sh
Router(config-subif)#int f1/0.500
Router(config-subif)#enc
Router(config-subif)#encapsulation dot
Router(config-subif)#encapsulation dot1Q 500
Router(config-subif)#ip add 192.168.5.2 255.255.255.0
Router(config-subif)#no sh
Router(config-subif)#int f1/0.600
Router(config-subif)#encapsulation dot1Q 600
Router(config-subif)#ip add 192.168.6.2 255.255.255.0
Router(config-subif)#no sh
Router(config-subif)#int f1/0
Router(config-if)#no sh
Router(config-if)#ex
Router(config)#router ospf 1
Router(config-router)#net 192.168.5.0 0.0.0.255 area 0
Router(config-router)#net 192.168.6.0 0.0.0.255 area 0
Router(config-router)#net 10.106.4.0 0.0.0.255 area 0
4.6 交换机0(SW1)
点击查看代码
#划分VLAN
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 100
Switch(config-vlan)#name Users_VLAN100
Switch(config-vlan)#vlan 200
Switch(config-vlan)#name Users_VLAN200
Switch(config-vlan)#int vlan 100
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan100, changed state to upSwitch(config-if)#ip add 192.168.1.2 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#int vlan 200
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan200, changed state to upSwitch(config-if)#ip add 192.168.2.1 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#int f3/1
Switch(config-if)#sw mode access
Switch(config-if)#sw access vlan 100
Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan100, changed state to upSwitch(config-if)#no sh
Switch(config-if)#
Switch(config-if)#int f1/1
Switch(config-if)#sw mode access
Switch(config-if)#sw access vlan 100
Switch(config-if)#no sh
Switch(config-if)#int f2/1
Switch(config-if)#sw mode access
Switch(config-if)#sw access vlan 200
Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan200, changed state to upSwitch(config-if)#no sh
Switch(config-if)#int f0/1
Switch(config-if)#sw mode trunk
Switch(config-if)#sw trunk allowed vlan 100,200
Switch(config-if)#no sh
4.7 多层交换机0(SW3)
点击查看代码
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 300
Switch(config-vlan)#name Users_VLAN300
Switch(config-vlan)#vlan 400
Switch(config-vlan)#name Users_VLAN400
Switch(config-vlan)#int vlan 300
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan300, changed state to upSwitch(config-if)#ip add 192.168.3.1 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#int vlan 400
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan400, changed state to upSwitch(config-if)#ip add 192.168.4.1 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#int f0/2
Switch(config-if)#sw mode access
Switch(config-if)#sw access vlan 300
Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan300, changed state to upSwitch(config-if)#no sh
Switch(config-if)#int f0/3
Switch(config-if)#sw mode access
Switch(config-if)#sw access vlan 400
Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan400, changed state to upSwitch(config-if)#no sh
Switch(config-if)#int f0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#sw trunk allowed vlan 300,400
Switch(config-if)#no sh
Switch(config-if)#exit
4.8 交换机1(SW2)
点击查看代码
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#no spanning-tree vlan 1
Switch(config)#int port-channel 1
Switch(config-if)#exit
Switch(config)#int range f0/1-2
Switch(config-if-range)#sw mode trunk
Switch(config-if)#ex
Switch(config)#int port-channel 1
Switch(config-if-range)#channel-group 1 mode on
Switch(config-if-range)#end
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 500
Switch(config-vlan)#name USERS_500
Switch(config-vlan)#vlan 600
Switch(config-vlan)#name USERS_600
Switch(config-vlan)#int vlan 500
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan500, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan500, changed state to upSwitch(config-if)#ip add 192.168.5.1 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#int vlan 600
Switch(config-if)#
%LINK-5-CHANGED: Interface Vlan600, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan600, changed state to upSwitch(config-if)#ip add 192.168.6.1 255.255.255.0
Switch(config-if)#no sh
Switch(config-if)#int f0/3
Switch(config-if)#sw mode acc
Switch(config-if)#sw acc vlan 500
Switch(config-if)#no sh
Switch(config-if)#int f0/4
Switch(config-if)#sw mode acc
Switch(config-if)#sw acc vlan 600
Switch(config-if)#no sh
Switch(config-if)#int range f0/1-2
Switch(config-if-range)#sw trunk allowed vlan 500,600
4.9 多层交换机1(SW4)
点击查看代码
Switch>en
Switch#show vlan
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#no spanning-tr vlan 1
Switch(config)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by consoleSwitch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int port-channel 1
Switch(config-if)#int range f0/1-2
Switch(config-if-range)#channel-group 1 mode on
Switch(config-if-range)#end
Switch(config)#interface FastEthernet0/3
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config)#interface FastEthernet0/2
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#end
Switch#configure terminal
Switch(config)#interface FastEthernet0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#sw trunk allowed vlan 500,600