ENSP华为防火墙USG6000V配置实战:安全区域与NAT策略详解 📅 发布时间:2026/9/15 17:19:26 👁 浏览次数: 学网络的同学应该都有同感ENSP里配路由器和交换机跟着命令敲基本都能跑通但一换到防火墙就容易各种“卡壳”。我之前做“ENSP实验一防火墙基础配置”的时候光是USG6000V启动失败、Web登录不上这两个问题就折腾了好几天。后来把思路捋清楚了才发现防火墙和路由器最不一样的点就是“安全区域”和“安全策略”。这篇博客是我基于实战整理的完整操作笔记内容包括环境准备、CLI和Web登录、安全区域与策略配置、NAT配置再加上高频报错的排错方法。准备考HCIA、HCIP或者单位里在用华为防火墙的都可以直接拿来当参考。1. 实验准备与环境搭建1.1 软件版本、镜像包和安装细节做ENSP实验最大的坑其实不是配置而是环境没搭好。防火墙这个设备跟AR路由器不一样AR设备是ENSP自带启动的而防火墙USG6000V需要额外导入镜像包。网上很多教程直接告诉你“导入设备”却不说清楚软件版本匹配的事结果就是各种启动失败、报错。我自己用的是ENSP 1.3.00.100这个版本相对稳定对Windows 10的兼容性也还行。如果你用的是Windows 11建议右键ENSP图标选择“属性”-“兼容性”把兼容模式调到Windows 8或Windows 10否则可能经常崩溃。VirtualBox方面ENSP自带的VirtualBox版本不一定够用很多人的启动失败40就是VirtualBox版本不匹配引起的。稳定起见我建议单独安装VirtualBox 5.2.x版本装好后在ENSP的“菜单-工具-注册设备”里重新关联VirtualBox路径。镜像包方面常见的是USG6000V的vdi文件需要在ENSP中通过“导入设备”的方式选择“防火墙”类型然后再点击“导入”。如果导入时报“格式错误”多半是镜像版本不对或者路径里有中文把文件放到纯英文目录下面重新导入基本都能解决。提示USG6000V启动后占用的内存比较大双击设备后右键选择“设置”把内存调到2048MB以上否则启动到一半可能直接卡死或失败。1.2 实验拓扑与IP地址规划做防火墙实验不要上来就敲命令先把拓扑和IP规划好。这里我采用一个最经典的三区域模型把防火墙三个接口分别划到trust、untrust和dmz对应三个网段设备/接口IP地址所属安全区域说明PC1192.168.1.10/24网关192.168.1.1trust模拟内网用户FW G0/0/0192.168.1.1/24trust连接内网PC1FW G0/0/1203.0.113.1/24untrust模拟连接外网区域PC2203.0.113.10/24网关203.0.113.1untrust模拟外网用户FW G0/0/2192.168.3.1/24dmz连接服务器区域Server1192.168.3.10/24网关192.168.3.1dmz模拟对外提供Web服务的服务器其中203.0.113.0/24是RFC文档中保留的测试网段专门用来做演示不会跟真实环境冲突。三个接口分别对应三个区域区域之间默认是隔离的所以即使IP配好、PC可以ping通防火墙PC1和PC2之间依然是通不了的这就是防火墙跟路由器最大的区别。后面所有安全策略都是围绕“区域到区域”来写的地址规划好后面配置就不会乱。这个拓扑已经能覆盖大多数基础实验需求trust访问untrust对应内网用户上网trust访问dmz对应内网用户访问业务系统untrust访问dmz对应外网用户访问对外服务器。如果以后想加服务器负载均衡、双机热备也是在这个框架上扩展。2. 防火墙基本接入从CLI到Web2.1 启动设备、首次登录和初始密码把镜像导入后启动防火墙等设备状态变为绿色双击设备就会进入CLI界面。USG6000V的初始用户名是admin密码是Admin123第一次登录系统会强制要求修改密码设置成自己能记住的比如Huawei123然后再次确认。登录后建议先执行一条命令把分页关掉不然配置一多命令刷屏会一直卡在“---- More ----”那里很影响操作screen-length 0 temporary这条命令只是临时生效设备重启后需要重新敲。如果想永久生效可以进入系统视图后配置screen-length 0但实际实验环境我一般用temporary就够用了。USG6000V默认处于系统视图吗不是。刚登录时用户视图用system-view进入系统配置模式。我见过不少新手在用户视图敲interface GigabitEthernet0/0/0结果系统提示命令不存在就是这个原因。2.2 配置接口IP并加入安全区域防火墙的接口必须划入安全区域策略才能生效。如果不划区域接口虽然有IP但流量进出时防火墙不知道应该用哪套规则去处理。进入系统视图后依次配置三个接口的IP地址system-view interface GigabitEthernet0/0/0 ip address 192.168.1.1 255.255.255.0 quit interface GigabitEthernet0/0/1 ip address 203.0.113.1 255.255.255.0 quit interface GigabitEthernet0/0/2 ip address 192.168.3.1 255.255.255.0 quit配置完IP后把接口加入对应安全区域。不同版本命令略有差异老版本用firewall zone trust新版本用security zone我这里以老版本命令为例但会备注新版本写法firewall zone trust add interface GigabitEthernet0/0/0 quit firewall zone untrust add interface GigabitEthernet0/0/1 quit firewall zone dmz add interface GigabitEthernet0/0/2 quit如果你在设备上输入firewall zone报错可以换成security zone再试。华为不同软件版本命令有迁移这是正常现象。配置完可以执行display zone查看所有区域以及接口归属确认三个接口都在正确区域里。2.3 开启Web管理并登录管理界面防火墙除了CLI还支持Web界面。Web方式对新手更友好特别是安全策略和NAT配置有些人在CLI下面容易把源区域和目的区域搞反在Web界面下拉选择反而更直观。USG6000V默认开启了Web管理服务端口是8443但前提是PC1能访问到防火墙的trust接口。为了让管理流量能通过一般需要配置一条安全策略放行trust区域访问local区域的流量。local是防火墙自己的区域所有访问防火墙本机的流量都属于这个区域。在CLI下配置这条策略security-policy rule name trust_to_local source-zone trust destination-zone local action permit quit然后回到PC1在浏览器地址栏输入https://192.168.1.1:8443如果弹出证书告警不用担心这是自签名证书选择“继续访问”即可。登录界面输入用户名admin密码就是之前修改后的密码。登录后可以看到设备概览、接口状态、安全策略、NAT策略、会话表等模块。后面配置策略我们既会讲CLI写法也会讲Web操作方法。3. 安全区域与安全策略配置3.1 安全区域到底是怎么一回事很多人学防火墙第一个坎就是安全区域。我用一个生活化的类比来讲防火墙上有很多接口每个接口好比公司的一扇门安全区域就是门后面划分的办公区。trust区域是内部办公区员工可以自由走动untrust区域是公司外面的街道陌生人聚集dmz区域是前台接待区专门给外部访客使用比如对外服务的会议室里面放服务器方便客户来参观。如果不做任何授权办公区的人不能随便去街道街道的人更不能进办公区前台接待区能不能进取决于你有没有设置允许访问的门禁。防火墙的逻辑也一样。接口加入区域后默认情况下不同区域之间的流量是拒绝的除非你明确配置安全策略放行。需要注意的是还有一种local区域它表示防火墙本身比如PC1访问防火墙的Web管理页面源区域是trust目的区域就是local。很多新手配了半天Web登录不上就是忘了放行trust到local的流量。3.2 配置第一条安全策略让内网能访问外网和DMZ实验需求很简单PC1可以访问PC2也可以访问DMZ服务器PC2只能访问DMZ服务器的HTTP服务不能访问内部网络其他流量全部拒绝。在CLI下配置以下三条规则security-policy rule name trust_to_untrust source-zone trust destination-zone untrust action permit quit rule name trust_to_dmz source-zone trust destination-zone dmz action permit quit rule name untrust_to_dmz source-zone untrust destination-zone dmz service http action permit quit第一条让内网PC1访问外网PC2第二条让内网PC1访问DMZ服务器第三条只允许外网PC2访问DMZ服务器的HTTP服务比如web页面。默认其他流量都匹配不到规则会被拒绝所以不需要再写拒绝规则。如果在验证时想用ping测试连通性可以在策略里增加service icmp或者直接再加一条允许icmp的规则。加服务的方式是rule name untrust_to_dmz_icmp source-zone untrust destination-zone dmz service icmp action permit不过在实战环境中对外开放的服务器通常只需要开放具体端口ICMP不放行也正常。Web界面操作方法是登录Web后进入“策略 - 安全策略 - 新建安全策略”填写名称选源安全区域和目的安全区域设置源地址、目的地址和服务最后动作选允许。写完之后一定要点击“提交”否则策略不会生效。3.3 策略配置完成后为什么要看匹配顺序和会话表安全策略是按顺序匹配的和ACL规则类似。设备会把流量从上到下和规则匹配一旦匹配到就立即执行不再往下看。所以如果你有一条大范围的允许规则放在前面后面的拒绝规则可能就永远用不上。在CLI下可以用以下命令查看策略列表和命中次数display security-policy rule all如果规则命中次数一直为0说明流量根本没有匹配到这条规则。这个时候要检查源区域、目的区域是否选对接口有没有划到对应区域以及PC的网关是不是指向防火墙接口。另外防火墙是状态检测防火墙首包通过后会建立会话表后续数据包直接查会话表转发不重新匹配策略。所以当策略修改后有时需要清一下会话表再测试命令是reset firewall session table这条命令会清除所有会话执行后当前在线连接可能会断重新发起流量即可。4. NAT配置与连通性验证4.1 源NAT配置让内网用户能够“出去”PC1的地址是192.168.1.10这是私有地址。如果没有做源NATPC1访问PC2203.0.113.10时源地址仍然是192.168.1.10PC2收到报文后想回包但它的路由表里没有192.168.1.0/24这个网络回包就会丢失。所以必须在防火墙上做源NAT把PC1的源地址转换成防火墙出接口的地址PC2回包时只需要回给203.0.113.1即可。在CLI下配置源NAT策略nat-policy rule name snat_trust_to_untrust source-zone trust destination-zone untrust action source-nat easy-ip quiteasy-ip表示直接使用流出接口的IP作为转换后的源地址适合小型网络不用单独创建地址池。如果以后有多个公网地址可以定义NAT地址池再用action source-nat address-group xxxx方式调用。Web界面的配置入口是“策略 - NAT策略 - 新建NAT策略”源区域选trust目的区域选untrust动作选源NAT转换方式选“出接口地址”。配置完成后在PC1上用ping测试ping 203.0.113.10如果通了说明源NAT和安全策略都生效了。这时可以在防火墙上执行display firewall session table能看到源地址已经转换成了203.0.113.1。4.2 目的NAT配置让外网用户访问DMZ服务器外网PC2要访问DMZ服务器的Web服务但服务器地址是192.168.3.10属于私有地址外网用户无法直接访问。我们需要在防火墙上配置目的NAT将发布的公网地址203.0.113.1的80端口映射到内网服务器的192.168.3.10:80。CLI配置如下nat-policy rule name dnat_untrust_to_dmz source-zone untrust destination-zone dmz destination-address 203.0.113.1 32 service http action destination-nat address 192.168.3.10 port 80 quit这段配置的意思是从untrust区域来的、目的地址是203.0.113.1、目的端口是80的流量都转发给192.168.3.10的80端口。如果服务器还提供其他服务比如21端口FTP或者443端口HTTPS可以再添加对应的规则。Web界面依然在“策略 - NAT策略”里配置动作选择目的NAT填写外部地址和映射地址即可。设置完成后在PC2上打开浏览器访问http://203.0.113.1如果ENSP中的Server1开启了HTTP服务应该能看到默认页面。4.3 用命令验证配置是否真的正常配置结束后不要急着收工要把验证做完整。我常用的验证命令有这几条display ip interface brief display zone display security-policy rule all display nat-policy rule all display firewall session tabledisplay ip interface brief查看接口IP和状态确认接口都是up的。display zone确认接口划入的区域正确。display security-policy rule all和display nat-policy rule all确认策略已经下发。display firewall session table查看当前会话如果你刚ping通了PC2这里就应该能看到对应会话。还有一个比较容易忽略的问题在ENSP里PC设备默认是不带浏览器的。PC2测试HTTP时可以直接在PC2命令行里用ping测通但看不到网页效果。为了更直观你可以让PC2用curl命令ENSP的PC模拟器不一定支持curl更简单的方法是在Server1上把HTTP服务启动然后在PC2的浏览器地址栏输入公网地址。如果打不开先确认Server1的HTTP服务是否开启、服务器的IP和网关是否配置正确。ENSP的Server组件支持模拟HTTP服务双击Server1勾选HTTP再设置好192.168.3.10的地址基本就可以了。5. 高频报错与排查实录5.1 设备启动失败错误代码40这个问题在ENSP使用中太常见了不光防火墙路由器有时候也会报。错误代码40的根源大多是VirtualBox和ENSP的兼容问题或者虚拟化没有正常开启。排查顺序我建议是这样先检查电脑的虚拟化功能。进入任务管理器在“性能”标签页看“虚拟化”是否显示“已启用”如果没启用重启电脑进BIOS打开Intel VT-x或AMD-V选项。然后检查VirtualBox版本ENSP 1.3对VirtualBox的版本要求比较苛刻太高太低都可能报错。比较稳妥的是VirtualBox 5.2.44。如果虚拟化开了、版本也没问题那就把ENSP和VirtualBox都用管理员身份运行。还有一个偏方打开VirtualBox主界面看到ENSP创建的虚拟设备可能处于异常状态右键选择“删除”或者“强制重置”再回到ENSP里停止并重新启动设备有时候能直接恢复。还有一个容易忽略的地方其他虚拟机软件可能占用了同样的端口。比如Windows自带的Hyper-V或WSL2会和VirtualBox抢CPU虚拟化资源导致启动失败。如果在Windows 11上装了WSL建议在“启用或关闭Windows功能”里暂时关闭“虚拟机平台”或“Windows虚拟机监控程序平台”用ENSP时再开回来。5.2 导入USG6000V镜像报“格式错误”导入防火墙镜像和导入AR设备不是一个入口。AR路由器是ENSP自带的不需要导入防火墙需要手动导入。很多人在“路由器”类型里强行导入防火墙镜像就会报格式错误。正确做法是在设计器左侧的设备栏里把“防火墙”拖到拓扑中然后右键选择“导入设备”选择对应的vdi文件。如果确认操作没错还是报格式错误看一下文件路径里是不是有中文或空格把这些去掉改成纯英文的路径再试。还有镜像格式USG6000V用的是vdi有些网上下载到的是vmdk或qcow2需要找对应格式的镜像。5.3 Web管理页面登录不上的排查步骤配置完了Web登录但浏览器就是打不开这种情况非常普遍。先做一层层排查第一PC1能不能ping通防火墙接口。如果ping不通说明接口IP或PC网关配置有问题先解决基础三层连通性。第二如果ping能通但是页面打不开确认访问的是https://192.168.1.1:8443不要漏掉https和端口。有些版本默认端口是8443不是443漏掉端口肯定打不开。第三检查防火墙有没有放行trust到local区域的安全策略。Web管理流量最终是发给防火墙本机的如果策略没放行设备会直接丢弃HTTP/HTTPS请求。可以在防火墙上执行display security-policy rule all查看有没有trust到local的允许规则。如果以上都没问题可以再查一下Web管理端口是否正常监听display web-manager status部分版本还支持配置Web管理白名单只允许某些网段访问如果白名单里没有PC1的网段也会被拒绝。检查web-manager enable是不是开启状态以及manager-user的权限是否正确。5.4 安全策略配置了却不生效原因都在这这种问题我调试过很多次最后发现大多数是这四类原因接口没有加入正确的安全区域。比如G0/0/0忘了加trust结果PC1流量进来后防火墙不知道它属于哪个区域策略匹配不到。策略方向写反了。安全策略必须区分source-zone和destination-zonetrust到untrust和untrust到trust是两回事。很多新手只记住“放通内网访问外网”结果把两个区域写反流量全被拒了。没有清会话表或策略顺序不对。状态检测防火墙会把已有连接缓存下来修改策略后不一定会立即影响已有连接执行reset firewall session table后再测。NAT配置抢占流量。如果你的目的NAT配置过大比如把整个untrust访问某个网段都映射到内网服务器可能把其他流量也带偏了。检查NAT策略范围尽量精确到IP和端口。排查时我的习惯是三步走先display security-policy rule all看策略命中次数命中次数为0就说明流量没匹配到然后display firewall session table看会话是否建立最后在PC上抓包或者用tracert看路径走到哪里断了。这三个动作下来90%的问题都能定位。我个人在实际操作中的体会是防火墙实验不要完全依赖Web界面CLI命令的输出信息更适合定位问题尤其是策略命中次数和会话表这两项几乎每次排错都要用。还有一个细节每做完一个阶段记得在设备上保存配置saveUSG6000V默认不会自动保存配置一旦设备重启前面敲的命令全部丢失。刚开始我吃过一次亏配置到Web登录机器一重启又回到初始状态重新敲了半小时。如果你用的是Web界面配置完也记得看一眼右上角有没有“保存”提示或者直接在CLI里执行save确认保存即可。这个习惯建议从实验一开始就养成后面做综合实验会省很多事。