1. 项目概述
这个实验展示了如何在企业网络环境中实现智能选路功能,通过策略路由(PBR)和防火墙(FW)的配合,构建一个旁挂组网结构。核心目标是通过FW实现不同安全区域之间的流量检查,同时确保报文转发路径符合业务需求。
在实际网络部署中,我们经常遇到这样的场景:内网用户访问互联网的流量需要经过安全设备检查,而互联网返回的流量也需要经过同样的路径返回。这种"来回路径一致"的要求对于状态检测型防火墙尤为重要。本实验使用华为eNSP模拟器搭建环境,通过策略路由和静态路由的配合,实现了这一目标。
2. 网络拓扑与设计思路
2.1 网络拓扑解析
实验拓扑包含以下关键设备:
- PC1:内网终端,IP地址192.168.1.1/24
- R3:核心路由器,连接内网、FW和出口路由器
- FW:防火墙设备,实现安全区域隔离和流量检查
- R2:出口路由器,连接互联网
拓扑中的关键连接:
- PC1 ↔ R3:192.168.1.254/24
- R3 ↔ FW:10.1.2.3 ↔ 10.1.2.1
- R3 ↔ R2:10.1.1.3 ↔ 10.1.1.2
- FW ↔ R3:10.1.3.1 ↔ 10.1.3.3
2.2 安全区域划分原理
FW上配置了两个关键接口:
- GE1/0/1:划分到trust区域,连接内部网络
- GE1/0/0:划分到untrust区域,连接外部网络
这种划分基于以下安全考虑:
- 不同安全级别网络需要隔离
- 区域间流量必须经过FW的安全策略检查
- 可以实现基于区域的访问控制
提示:在实际部署中,建议根据业务需求划分更多安全区域,如DMZ区域用于放置服务器,实现更精细的访问控制。
3. 基础路由配置
3.1 R2回程路由配置
在R2上配置静态路由,确保互联网返回的流量能够到达内网:
bash复制[r2]ip route-static 192.168.1.0 24 10.1.1.3
这条路由的含义是:目的网络为192.168.1.0/24的流量,下一跳指向R3的GE0/0/2接口(10.1.1.3)。
3.2 R3缺省路由配置
在R3上配置缺省路由,将所有未知目的地的流量指向R2:
bash复制[r3]ip route-static 0.0.0.0 0 10.1.1.2
这样配置后,PC1访问互联网的流量会先到达R3,然后通过缺省路由发往R2。
3.3 FW回程路由配置
在FW上配置回程路由,确保从互联网返回的流量能够通过FW回到内网:
bash复制[FW]ip route-static 192.168.1.0 24 10.1.3.3
这条路由将内网网段192.168.1.0/24的流量指向R3的GE0/0/1接口(10.1.3.3)。
4. 策略路由(PBR)实现
4.1 PBR配置步骤
为了实现内网访问互联网的流量必须经过FW检查的要求,在R3上配置策略路由:
- 创建ACL匹配内网流量:
bash复制[r3]acl 3000
[r3-acl-adv-3000]rule permit ip source 192.168.1.0 0.0.0.255
- 定义流分类:
bash复制[r3]traffic classifier 1
[r3-classifier-1]if-match acl 3000
- 定义流行为(重定向到FW):
bash复制[r3]traffic behavior 1
[r3-behavior-1]redirect ip-nexthop 10.1.2.1
- 创建流策略并应用:
bash复制[r3]traffic policy 1
[r3-trafficpolicy-1]classifier 1 behavior 1
[r3]interface GigabitEthernet 0/0/0
[r3-GigabitEthernet0/0/0]traffic-policy 1 inbound
4.2 PBR工作原理
策略路由的执行流程:
- 数据包到达R3的GE0/0/0接口(连接PC1)
- 入方向应用了traffic-policy,触发策略路由检查
- 匹配ACL 3000的内网流量被重定向到FW(10.1.2.1)
- FW检查后,根据路由表将流量转发给R2
- 返回流量通过FW回到内网
注意:在eNSP模拟器中,需要手动触发ARP学习。在实际设备上,这一过程是自动完成的。
5. 防火墙关键配置
5.1 安全区域配置
将接口划分到不同安全区域:
bash复制[FW]firewall zone trust
[FW-zone-trust]add interface GigabitEthernet 1/0/1
[FW]firewall zone untrust
[FW-zone-untrust]add interface GigabitEthernet 1/0/0
5.2 安全策略配置
允许从untrust区域到trust区域的流量:
bash复制[FW]security-policy
[FW-policy-security]rule name untrust-to-trust
[FW-policy-security-rule-untrust-to-trust]source-zone untrust
[FW-policy-security-rule-untrust-to-trust]destination-zone trust
[FW-policy-security-rule-untrust-to-trust]action permit
5.3 状态检测问题处理
初始测试时发现内网访问互联网不通,原因是FW的状态检测机制导致。解决方法:
命令行方式:
bash复制[FW]undo firewall session link-state icmp check
[FW]undo firewall ipv6 session link-state icmpv6 check
Web界面方式:
- 进入"系统 > 配置 > 防火墙"
- 取消勾选"状态检测"
- 保存配置
6. OSPF动态路由方案
6.1 静态路由转OSPF
将静态路由方案改为OSPF动态路由:
- 删除原有静态路由:
bash复制[FW]undo ip route-static 192.168.1.0 255.255.255.0 10.1.3.3
[r2]undo ip route-static 192.168.1.0 255.255.255.0 10.1.1.3
[r3]undo ip route-static 0.0.0.0 0.0.0.0 10.1.1.2
- 配置OSPF进程:
bash复制# R3配置
[r3]ospf 1
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 10.1.1.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 10.1.2.3 0.0.0.0
[r3]ospf 2
[r3-ospf-2]area 0
[r3-ospf-2-area-0.0.0.0]network 192.168.1.254 0.0.0.0
[r3-ospf-2-area-0.0.0.0]network 10.1.3.3 0.0.0.0
# FW配置
[FW]ospf 1
[FW-ospf-1]area 0
[FW-ospf-1-area-0.0.0.0]network 10.1.2.1 0.0.0.0
[FW]ospf 2
[FW-ospf-2]area 0
[FW-ospf-2-area-0.0.0.0]network 10.1.3.1 0.0.0.0
# R2配置
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 10.1.1.2 0.0.0.0
[r2-ospf-1]default-route-advertise always
- 路由重发布配置:
bash复制[FW]ospf 1
[FW-ospf-1]import-route ospf 2
6.2 OSPF方案特点
与静态路由方案相比,OSPF方案具有以下优势:
- 自动适应网络拓扑变化
- 减少人工配置工作量
- 支持路由汇总和过滤
- 提供更灵活的路由策略控制
7. 常见问题与解决方案
7.1 ARP学习问题
在eNSP模拟环境中,可能会出现R3无法自动学习FW接口MAC地址的情况。解决方法:
bash复制<r3>ping 10.1.2.1
虽然ping不通(因为FW默认禁止ping),但可以触发ARP学习过程。
7.2 路径不一致问题
当内网访问互联网的流量和返回流量路径不一致时,状态检测防火墙会丢弃报文。解决方案:
- 关闭状态检测(不推荐,降低安全性)
- 确保来回路径一致(推荐方案)
- 配置不对称路径检测(高端防火墙支持)
7.3 策略路由不生效
可能原因及解决方法:
- ACL配置错误:检查ACL规则是否准确匹配流量
- 策略应用方向错误:确保在正确的接口和方向应用策略
- 路由优先级问题:策略路由优先级高于普通路由,检查是否有冲突
8. 实际部署建议
- 接口规划:
- 为不同安全级别的流量分配独立的物理接口
- 考虑使用子接口实现更灵活的拓扑结构
- 安全策略优化:
- 基于最小权限原则配置安全策略
- 启用日志功能记录关键流量
- 高可用设计:
- 部署双机热备防火墙
- 配置链路冗余和路由备份
- 性能考虑:
- 评估防火墙的处理能力是否满足流量需求
- 考虑启用会话限制和流量整形
在真实网络环境中部署此类架构时,建议先进行充分的测试验证,特别是要测试各种异常情况下的设备行为,确保网络可靠性和安全性。