1. 实验项目概述
这个综合实验将DHCP、VLAN划分、单臂路由、ACL和NAT五项关键网络技术整合在一个拓扑中实现。我设计这个实验的初衷,是为了模拟企业网络中常见的多业务融合场景——比如一个需要同时提供员工办公、访客接入、服务器专区隔离的中小型企业网络环境。
通过这个实验,你能够掌握:
- 如何通过VLAN划分逻辑隔离不同业务区域
- 使用单臂路由实现跨VLAN通信
- 通过DHCP自动分配IP地址
- 利用ACL实现访问控制策略
- 配置NAT实现内网访问互联网
实验拓扑建议采用1台三层交换机(如H3C/Huawei)作为核心设备,1台普通二层交换机连接终端,1台Linux服务器模拟DHCP服务和NAT网关。如果使用模拟器,ENSP或EVE-NG都是不错的选择。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. VLAN规划与基础配置
2.1 VLAN设计与端口分配
在这个实验中,我规划了三个业务VLAN:
- VLAN 10:员工办公网络(192.168.10.0/24)
- VLAN 20:访客网络(192.168.20.0/24)
- VLAN 30:服务器专区(192.168.30.0/24)
在交换机上的配置要点:
bash复制# 创建VLAN
system-view
vlan batch 10 20 30
# 配置Access端口(连接PC)
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
# 配置Trunk端口(连接路由器和其它交换机)
interface GigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan all
关键提示:实际环境中,Trunk端口建议使用
port trunk pvid vlan 10明确指定Native VLAN,避免VLAN Hopping攻击。
2.2 VLAN间路由实现
传统方案是在三层交换机上配置VLANIF接口作为网关,但本实验特意采用单臂路由方案来加深理解。在路由器上的配置:
bash复制interface GigabitEthernet0/0/0.10
dot1q termination vid 10
ip address 192.168.10.1 24
arp broadcast enable
interface GigabitEthernet0/0/0.20
dot1q termination vid 20
ip address 192.168.20.1 24
arp broadcast enable
实测发现,华为设备必须启用arp broadcast enable才能使子接口响应ARP请求。而Cisco设备则需要配置encapsulation dot1q <vlan-id>和no shutdown。
3. DHCP服务部署
3.1 DHCP服务器配置
我选择在Linux服务器上部署ISC DHCP服务,配置示例:
bash复制# /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers 8.8.8.8;
default-lease-time 86400;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.50 192.168.20.150;
option routers 192.168.20.1;
option domain-name-servers 1.1.1.1;
max-lease-time 3600; # 访客网络租期较短
}
3.2 DHCP中继配置
由于DHCP服务器位于VLAN 30,需要通过中继服务其他VLAN。在三层交换机上的关键配置:
bash复制interface Vlanif10
ip address 192.168.10.1 24
dhcp select relay
dhcp relay server-ip 192.168.30.100
interface Vlanif20
ip address 192.168.20.1 24
dhcp select relay
dhcp relay server-ip 192.168.30.100
避坑经验:确保中继接口的IP地址与DHCP地址池在同一个子网,否则客户端无法获取IP。曾经遇到因
dhcp relay server-ip配置错误导致服务不可用的问题。
4. ACL访问控制策略
4.1 基础ACL配置
限制访客网络(VLAN 20)只能访问HTTP服务:
bash复制acl number 2000
rule 5 permit tcp source 192.168.20.0 0.0.0.255 destination 192.168.30.100 0 destination-port eq 80
rule 10 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.30.0 0.0.0.255
4.2 高级ACL技巧
实现基于时间的访问控制(如上班时间禁止访问视频网站):
bash复制time-range work-time 08:00 to 18:00 working-day
acl number 3000
rule 5 deny tcp destination-port eq 443 time-range work-time
通过Wireshark抓包验证ACL效果时,建议开启VLAN标签显示:Wireshark -> Preferences -> Protocols -> IEEE 802.1Q -> "Decode VLAN tags"。
5. NAT与互联网接入
5.1 基础NAT配置
在出口路由器上配置PAT实现多VLAN共享公网IP:
bash复制interface GigabitEthernet0/0/1
ip address 203.0.113.2 24
nat outbound 2000
acl number 2000
rule 5 permit source 192.168.10.0 0.0.0.255
rule 10 permit source 192.168.20.0 0.0.0.255
5.2 端口映射
将内网服务器80端口映射到公网:
bash复制nat server protocol tcp global 203.0.113.2 8080 inside 192.168.30.100 80
6. 故障排查与优化
6.1 常见问题排查表
| 故障现象 | 排查步骤 | 解决方案 |
|---|---|---|
| VLAN间无法通信 | 1. 检查Trunk端口配置 2. 检查子接口dot1q封装 3. 检查路由表 |
确保port trunk allow-pass vlan all和arp broadcast enable |
| DHCP获取失败 | 1. 抓包分析DHCP Discover 2. 检查中继配置 3. 验证地址池状态 |
使用dhcp relay server-ip指向正确服务器 |
| ACL不生效 | 1. 检查规则顺序 2. 验证time-range配置 3. 查看计数器 |
使用display acl 2000查看匹配计数 |
6.2 性能优化建议
- 对于高流量VLAN,建议启用端口限速:
bash复制interface GigabitEthernet0/0/5
qos lr outbound cir 10000
- 在大规模网络中,考虑使用DHCP Snooping防止 rogue DHCP服务器:
bash复制dhcp snooping enable
interface GigabitEthernet0/0/10
dhcp snooping trusted
7. 实验验证与扩展
7.1 基础验证步骤
- VLAN内通信测试:
bash复制ping -c 4 192.168.10.100
- 跨VLAN通信测试:
bash复制traceroute 192.168.20.50
- DHCP获取验证:
bash复制ipconfig /all # Windows
ifconfig eth0 # Linux
7.2 扩展实验建议
- IPv6实现:在现有拓扑上增加SLAAC和DHCPv6配置
- 安全增强:配置端口安全、DAI等特性
- QoS策略:为语音流量配置优先级队列
这个实验最让我印象深刻的是ACL与NAT的联动配置。有一次调试时发现NAT失效,最终发现是ACL规则顺序错误导致流量被提前丢弃。建议大家在复杂策略中养成添加注释的习惯:
bash复制rule 5 permit ip source 192.168.10.0 0.0.0.255 # Allow Office VLAN
