eNSP防火墙实战:构建DNS透明代理与多出口NAT策略
1. 从零开始搭建实验环境第一次接触eNSP防火墙配置时我被各种专业术语搞得晕头转向。后来才发现只要把设备想象成快递中转站就容易理解了——防火墙就是那个负责分拣包裹的智能分拣机。我们先来准备这个分拣中心的基础设施。建议使用eNSP V100R003C00版本这个版本对防火墙功能的支持最稳定。安装完成后别急着配置我建议先做三件事检查VirtualBox版本是否兼容最好用5.2.44、确认Windows系统防火墙放行了eNSP相关进程、预留至少4GB内存给模拟器。这些细节不注意后面实验做到一半可能就会遇到各种灵异问题。拓扑搭建有个小技巧先拖入USG6000V防火墙然后按住Ctrl键拖动可以快速复制设备。我通常会准备以下设备1台USG6000V作为核心防火墙2台Client模拟内网用户2台Server分别命名为电信DNS和联通DNS2台Router模拟运营商网关2台Web服务器不同线路的相同服务连线时特别注意防火墙的G1/0/1接电信线路G1/0/2接联通线路G1/0/0接内网。这个物理接口对应关系一定要记牢后面配置NAT策略时会频繁用到。2. 基础网络配置的坑与技巧刚入门时最容易被IP地址规划坑到。建议采用这个方案内网使用192.168.10.0/24网段电信线路用100.1.1.0/24网段联通线路用200.1.1.0/24网段服务器地址用172.16.1.0/24和172.16.2.0/24安全区域配置是防火墙的核心概念。我们需要创建[FW] firewall zone trust [FW-zone-trust] add interface GigabitEthernet 1/0/0 [FW] firewall zone untrust1 [FW-zone-untrust1] add interface GigabitEthernet 1/0/1 [FW] firewall zone untrust2 [FW-zone-untrust2] add interface GigabitEthernet 1/0/2这里有个隐藏知识点华为防火墙默认不允许相同安全级别的区域互访。如果遇到ping不通的情况记得检查[FW] security-policy [FW-policy-security] rule name inter-zone [FW-policy-security-rule-inter-zone] source-zone untrust1 [FW-policy-security-rule-inter-zone] destination-zone untrust2 [FW-policy-security-rule-inter-zone] action permit3. DNS透明代理的实战配置DNS透明代理就像个智能话务员它根据来电号码自动转接对应分机。配置时最关键的四个步骤3.1 导入运营商地址库这个相当于话务员的通讯录。从华为官网下载最新的ISP地址库上传到防火墙后执行[FW] dns-transparent-policy [FW-policy-dns] isp-file import flash:/ct.xml name ct [FW-policy-dns] isp-file import flash:/cu.xml name cu3.2 绑定真实DNS服务器相当于设置转接规则[FW-policy-dns] dns transparent-proxy enable [FW-policy-dns] dns server bind interface GigabitEthernet1/0/1 preferred 100.1.1.1 [FW-policy-dns] dns server bind interface GigabitEthernet1/0/2 preferred 200.1.1.13.3 创建虚拟DNS服务器这个虚拟服务器就是用户实际配置的DNS地址[FW] dns server virtual [FW-dns-server-virtual] ip address 192.168.10.2533.4 策略路由配置让不同运营商的DNS查询走对应线路[FW] policy-based-route [FW-policy-route] rule name dns_ct [FW-policy-route-rule-dns_ct] destination-address 100.1.1.1 32 [FW-policy-route-rule-dns_ct] action forwarding GigabitEthernet1/0/14. 安全策略与NAT的协同设计安全策略就像小区的门禁系统而NAT相当于邮局的地址翻译员。两者配合时要注意顺序问题——先过安全策略再做NAT转换。4.1 安全策略配置要点[FW] security-policy [FW-policy-security] rule name outbound [FW-policy-security-rule-outbound] source-zone trust [FW-policy-security-rule-outbound] destination-zone untrust1 untrust2 [FW-policy-security-rule-outbound] action permit4.2 多出口NAT策略这里最容易出错的是路由标记[FW] nat-policy [FW-policy-nat] rule name nat_ct [FW-policy-nat-rule-nat_ct] source-address 192.168.10.0 24 [FW-policy-nat-rule-nat_ct] egress-interface GigabitEthernet1/0/1 [FW-policy-nat-rule-nat_ct] action source-nat easy-ip4.3 会话保持配置对于需要保持会话的应用如在线支付[FW] firewall session aging-time tcp 3600 [FW] firewall session aging-time udp 1205. 测试与排错实战经验测试阶段我习惯用这个检查清单5.1 基础连通性测试# 从Client1执行 ping 192.168.10.253 # 测试虚拟DNS可达性 nslookup www.baidu.com 192.168.10.2535.2 DNS路径验证查看DNS代理是否生效[FW] display dns transparent-policy statistics5.3 NAT转换验证[FW] display nat session verbose遇到问题时我常用的排错命令组合[FW] display firewall session table [FW] display policy-based-route all [FW] display security-policy hit-count6. 生产环境部署建议在实际项目中部署时这几个经验可能会帮到你6.1 DNS缓存优化[FW] dns cache enable [FW] dns cache aging-time 3006.2 多线路负载均衡[FW-policy-dns] dns server bind interface GigabitEthernet1/0/1 weight 60 [FW-policy-dns] dns server bind interface GigabitEthernet1/0/2 weight 406.3 监控与日志[FW] dns log enable [FW] info-center enable [FW] info-center loghost 192.168.10.100最后提醒一个血泪教训每次重大配置变更前务必先执行save命令保存当前配置。有次我在调试时防火墙突然重启三个小时的配置工作全白费了。现在我的习惯是每完成一个功能模块就保存一次这个简单的动作已经救我无数次了。