简介华为USG5500防火墙配置实验一以典型的双网段拓扑为核心面向网络工程专业学生、HCIE备考者及企业网络运维人员演示从零开始完成防火墙基础安全配置的过程。实验覆盖内网192.168.0.0/24与外网192.168.1.0/24的地址规划包含AR1、AR2路由器的默认路由与Telnet远程管理配置以及USG5500防火墙的接口地址设置、安全区域自定义inside/outside、安全优先级调整和策略查看等关键操作。内容以单一PDF文件呈现体积仅113KB便于在移动设备或电脑上随时查阅既可作为课堂实验指导也能作为日常配置命令的速查手册。文中提供每一环节的具体命令行及输出回显读者可对照实验拓扑逐步完成防火墙区域划分与基础策略配置尤其适合需要快速上手华为防火墙的初学者。目前已有4743人学习是验证USG5500基础配置流程的高性价比参考资料。1. 华为USG5500防火墙配置实验为什么接口IP配了、静态路由也加了Telnet还是不通照着实验拓扑把内网路由器、USG5500防火墙、外网路由器一连三台设备的接口IP和默认路由都敲进去了从内网路由器Telnet外网路由器却卡在连接阶段防火墙没有任何提示。这个现象几乎是每个第一次接触华为防火墙的人都会碰到的路由器只要接口UP、路由可达就能通而USG5500这类防火墙在接口和路由之间还横着一道安全区域模型默认包过滤是deny跨区域流量一行都不放行。这份实验PDF恰好用一条Telnet业务流把接口地址、静态路由、vty远程登录、安全区域、优先级、安全策略、默认包过滤和会话表全部串了起来适合刚入手USG产品线、在eNSP里搭第一台防火墙的入门者也适合被「策略明明配了却不生效」折磨过的从业者。下面按我的操作顺序把整套配置拆开讲。2. 先把链路搭起来接口地址、默认路由与 Telnet 双端配置华为USG在eNSP里的操作手感跟路由器差别很大路由器上接口IP一通、路由一写链路基本就通了防火墙不一样接口配置只是第一步后面还有区域归属和策略两道闸门。所以我习惯先把三台设备的地址、路由、远程登录服务全部敲好让「链路层」先立住再去碰区域和策略。这样后面排查时至少能确定问题出在策略层而不是基础连通性。2.1 拓扑与地址规划三张网卡决定流量方向先把实验拓扑里的地址关系捋清楚。内网侧是192.168.0.0/24外网侧是192.168.1.0/24防火墙两侧各接一段。真正的业务流是内网路由器AR1192.168.0.150发起Telnet访问外网路由器AR2192.168.1.150的23端口中间必须穿过防火墙FW1。设备接口IP地址角色AR1GigabitEthernet0/0/0192.168.0.150/24内网路由器Telnet源FW1GigabitEthernet0/0/0192.168.0.1/24防火墙内网口出厂在trust区域FW1GigabitEthernet0/0/1192.168.1.1/24防火墙外网口后续手动划入outsideAR2GigabitEthernet0/0/0192.168.1.150/24外网路由器Telnet目的这里的「内网」「外网」只是习惯叫法在防火墙眼里只有区域概念。AR1的网关指向192.168.0.1也就是防火墙内网口AR2的网关指向192.168.1.1也就是防火墙外网口。配置时我会先把「源地址、目的地址、下一跳」三个值写在纸上再动手敲命令避免后面写策略时把source和destination搞反。2.2 AR1/AR2 的 Telnet 配置vty、认证与权限等级AR1是Telnet的发起方也是实验里被远程登录验证的对象之一先配好地址、默认路由和远程登录服务system-view sysname AR1 # interface GigabitEthernet0/0/0 ip address 192.168.0.150 24 quit # ip route-static 0.0.0.0 0.0.0.0 192.168.0.1 # user-interface vty 0 4 authentication-mode password user privilege level 3 quituser-interface vty 0 4是开启0到4共5条虚拟远程登录通道缺省网关上所有Telnet请求都走这5个vty之一authentication-mode password把认证方式定为密码敲完这行系统会提示输入密码实验里设的是888。这里的user privilege level 3非常关键3级属于管理级能进system-view并执行配置命令如果漏掉这行远程登录进来只能敲几条查看命令连系统视图都进不去。默认路由用ip route-static 0.0.0.0 0.0.0.0 192.168.0.1对所有目的网段的流量都指向防火墙内网口。AR2的配置结构完全对称只是地址段和密码不同system-view sysname AR2 # interface GigabitEthernet0/0/0 ip address 192.168.1.150 24 quit # ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 # user-interface vty 0 4 authentication-mode password set authentication password cipher 666 user privilege level 3这里set authentication password cipher 666是密码的另一种写法直接以密文形式定义登录密码比交互式输入更适合做配置脚本和批量下发。交互式写法和cipher写法效果等价选一种即可。要注意原实验笔记里AR2的默认路由那行写的是[AR1]ip route-static...这是笔记笔误按拓扑这台设备的默认路由应该指向192.168.1.1。我读这类实验记录的习惯是命令全信但设备名和IP一定要对着拓扑图再核一遍不然策略方向全乱。2.3 防火墙接口地址Address already exists 不是配置错误FW1的接口配置会遇到一个看似吓人的提示system-view sysname FW1 # interface GigabitEthernet0/0/0 ip address 192.168.0.1 24 # Warning: Address already exists! # interface GigabitEthernet0/0/1 ip address 192.168.1.1 24 quitAddress already exists!出现在G0/0/0上因为这台USG5500模拟器的出厂配置里就已经在G0/0/0上写好192.168.0.1了再配一次地址相同系统只是提醒一下不是冲突错误实验里直接忽略继续往下走是没问题的。我一般会先执行display current-configuration interface GigabitEthernet0/0/0确认已有地址确实一致再继续如果出厂地址和自己想要的地址不一致要先undo ip address再重新配置否则会报错甚至配不进去。这里顺带说一句eNSP里如果想用浏览器走Web界面登录USG5500还需要额外开启HTTP/HTTPS管理服务并配置相应安全策略本实验全程走命令行用不到但要知道有这回事。到这一步三台设备的链路基础已经就位。建议在继续之前先做一次连通性测试在内网AR1上ping外网AR2的192.168.1.150。这个时候大概率是失败的因为防火墙的策略还没配默认包过滤是deny但AR1到防火墙内网口这一段应该能通这样能把故障范围缩到「策略层」而不是「链路层」。3. 安全区域与优先级USG 的区域模型不是摆设配置防火墙和配置交换机、路由器最大的认知差异是区域zone。接口IP只是定位流量能不能走取决于它「从哪个区域来、往哪个区域去」。USG5500出厂就预置了local、trust、untrust、dmz四个区域实验在此基础上又创建了inside和outside两个自定义区域把区域模型完整演示了一遍。3.1 display zonelocal/trust/untrust/dmz 的出厂优先级登录防火墙后执行display zone能看到出厂区域和接口归属display zone # local priority is 100 # trust priority is 85, interface of the zone is (1): GigabitEthernet0/0/0 # untrust priority is 5 # dmz priority is 50区域默认优先级说明local100防火墙自身所有CPU管理流量所在区域trust85信任区出厂默认把G0/0/0划了进来untrust5不信任区出厂接口数为0dmz50隔离区用于对外服务优先级在这里表达的是信任程度数值越大越信任local最高100因为它代表防火墙自己untrust只有5默认不信任。但要注意优先级本身不会自动生成放行规则真正决定流量能不能过的是后面的interzone默认包过滤矩阵和安全策略。在实验里trust到outside这个方向的outbound默认就是deny而local到trust、local到untrust等方向通常是permit因为防火墙自己发出的管理流量需要能出去。很多新手误以为「优先级高的区域访问低的区域就自动放行」这是不对的优先级只影响默认策略的倾向实际放行必须靠策略或修改默认filter。3.2 自定义 inside/outside 区域优先级怎么取实验里没有直接用现成的trust和untrust而是新建了outside和inside两个区域firewall zone name outside set priority 30 quit # firewall zone name inside set priority 90 quitfirewall zone name outside创建名为outside的区域set priority 30把优先级设在30。这个取值是有讲究的outside的30介于untrust5和trust85之间语义是「比完全不信任稍微可信但远低于内网」适合放外网出口inside的90高于trust适合放内网核心或服务器区。生产环境里我常按「inside放办公网、outside放出口、dmz放对外业务」来规划区域接口可以后续随时加入。有一点要提醒实验里inside区域创建了但一直没接接口这在实际项目里是个很容易出现的疏漏——区域建了一堆接口却忘划进去流量照样不通。3.3 接口划入区域add interface 与 display this 核对区域建好后需要把物理接口放进去firewall zone outside add interface GigabitEthernet0/0/1 display this # firewall zone name outside # set priority 30 # add interface GigabitEthernet0/0/1add interface GigabitEthernet0/0/1把外网口加入outside区域display this用来确认当前区域的完整配置。此时G0/0/1正式归入outside而G0/0/0维持出厂的trust归属两个接口各属一个区域恰好对应内网和外网的边界。这里有个硬性约束一个接口在同一时刻只能属于一个区域重复添加会报错想换区域要先在旧区域里remove interface再重新添加。实验里G0/0/0留在trust没有动这是合理设计如果做防火墙旁挂部署接口和区域的对应关系通常要重新规划不能照搬网关模式。到这一步区域骨架已经搭好trust对应内网、outside对应外网。接下来所有策略都围绕「trust用户访问outside」这条业务流展开。4. 策略放行与默认包过滤从 deny 到 permit 再到恢复 denyUSG5500在区域间有两层闸门第一层是interzone默认包过滤第二层是安全策略。新手只配策略不看默认filter或者反过来只改默认filter不建策略都会出问题。实验里把两层闸门都演示了一遍还专门做了「临时permit再恢复deny」的对比操作。4.1 放行 trust→outside 的 outboundhost源与网段源的叠加要让内网AR1能Telnet到外网AR2需要放行trust区域到outside区域、方向为outbound的流量policy interzone trust outside outbound policy 1 policy source 192.168.0.150 0 policy destination any action permitpolicy interzone trust outside outbound声明作用域源区域trust、目的区域outside、方向outbound即「从trust区域发往outside区域」的数据流。policy 1是策略ID可以连续创建多个策略匹配顺序从上往下。policy source 192.168.0.150 0里的0是反掩码0.0.0.0表示精确匹配这一台主机要注意它不是子网掩码如果写成policy source 192.168.0.0 0.0.0.255就是匹配整个内网网段。policy destination any是目的不限action permit放行。配置后执行display policy interzone trust outside outbound实验里会出现两条source记录一条192.168.0.0 mask 255.255.255.0一条192.168.0.150 0。这大概率是实验操作过程中先写了一条网段策略后来又补了一条精确主机策略两者并存且按OR逻辑匹配意思是「网段内任何主机都能匹配加上精确主机也匹配」不是配置冲突。我建议生产环境只保留最小集源、目的、服务、动作都收窄多余的在策略视图里undo policy source 192.168.0.0 0.0.0.255删掉避免把放行范围扩得比预期大。这里还值得注意策略里不写policy service时service默认是service-set ip也就是说这条策略会把所有IP协议都放行不只是Telnet。实验里为了演示简单没问题生产上建议显式加policy service service-set telnet收窄到23端口。4.2 临时修改默认包过滤permit 测试完必须改回 deny实验里做了一个很有教学意义的操作——临时把trust到outside的默认包过滤改成permit测试完再改回denyfirewall packet-filter default permit interzone trust outside # Warning: Setting the default packet filtering to permit poses security risks. firewall packet-filter default deny interzone trust outside第一条命令执行时系统会弹出安全警告提示将默认包过滤设为permit存在风险。实验做这个操作的目的是为了验证「即使没有安全策略只要默认filter放行也能通」从而把策略和默认filter两层的作用分清楚。在实验环境里这是有效的验证手段但生产环境绝对不要照抄default permit等于把整个方向全部放行系统警告不是吓唬人。验证完立刻用firewall packet-filter default deny interzone trust outside恢复deny让默认状态回到拒绝只保留策略1的精准放行。我判断联通性的顺序一般是先display policy interzone trust outside outbound看默认filter是不是deny然后看策略的times matched有没有增长最后看会话表。如果默认filter是deny且策略匹配次数为0流量一定被静默丢弃问题大概率出在策略的源地址或方向写错了。4.3 反向放行外网用户 Telnet 进内网路由器的 inbound 策略验证完出方向实验还演示了反向需求——允许外网的AR2反过来Telnet到内网AR1policy interzone trust outside inbound policy 1 policy source 192.168.1.150 0 policy destination 192.168.0.150 0 policy service service-set telnet action permit反向策略的难点是inbound方向的理解。在USG里policy interzone trust outside inbound表达的意思是「从outside区域发起、进入trust区域的流量」源是外网的192.168.1.150目的是内网的192.168.0.150正好和上一节的方向相反。policy service service-set telnet显式把服务收窄到Telnet协议只放行23端口其他协议不受这条策略影响。这里有个很常见的认知混淆新手会把trust outside outbound理解成「从trust出来的流量」把trust outside inbound理解成「从trust进来的流量」正好搞反。正确语义是interzone后面跟着的两个区域第一个是源区域、第二个是目的区域outbound和inbound站在「源区域→目的区域」的维度上描述数据流方向。建议每次写策略前先把「谁主动发起」想清楚主动发起方所在的区域就是源区域。这条策略配完实验中从AR1发起Telnet到AR2、从AR2发起Telnet到AR1两条方向都通了。下一章把这些操作里最容易翻车的点集中列出来。5. 华为USG5500实验避坑五条最容易翻车的配置记录下面几条都是我在eNSP和USG实机上踩过的整理成「现象→原因→解决」的格式照着排查可以少走不少弯路。5.1 接口配IP报 Address already exists以为配置错了现象在防火墙G0/0/0上执行ip address 192.168.0.1 24系统回Warning: Address already exists!第一反应是地址冲突不敢继续往下配。 原因USG5500出厂配置里G0/0/0默认就带了这个地址模拟器和部分实机都会出现。只要现有地址和要配的地址一致这只是一个提示不是错误。 解决先执行display current-configuration interface GigabitEthernet0/0/0确认已有地址一致就继续不一致先undo ip address再重新配置。实验里直接忽略提示继续是没问题的。5.2 策略配了、默认filter还是denyTelnet请求被静默丢弃现象内网AR1 Telnet外网AR2一直卡在连接阶段防火墙没有任何日志提示display firewall session table里查不到会话。 原因只配置了安全策略没有注意interzone默认包过滤仍是deny或者策略的source写成了接口自身网段/地址导致流量和策略不匹配。 解决执行display policy interzone trust outside outbound先看default packet-filter状态再看policy 1的times matched是否在增长。匹配次数为0说明策略没吃到流量回查source地址和区域方向默认filter是deny但策略匹配正常的话优先检查动作是否permit。5.3 会话表里Telnet会话TTL只有10秒以为连接秒断现象display firewall session table verbose能看到Telnet会话但这条会话TTL: 00:00:10、Left: 00:00:00看起来下一秒就要超时断开。 原因这是Telnet握手和认证过程中产生的探测性会话生命周期本身就只有几十秒正常登录状态的Telnet会话TTL是10分钟Left从9分多钟开始倒计时。两条会话并存是正常的。 解决关注Left值接近10分钟的那条会话以及packets/bytes计数是否持续增长。只有一条短TTL会话、没有长TTL会话时才需要回头怀疑策略或认证问题。5.4 display policy里source出现两条网段主机以为配置重复了现象配了policy source 192.168.0.150 0display出来却变成policy source 192.168.0.0 mask 255.255.255.0和policy source 192.168.0.150 0两条以为命令没敲对。 原因实验过程中网段策略和主机策略同时存在于同一条策略里USG的策略列表支持多个source并存按OR逻辑匹配系统不会报错。 解决用display policy interzone trust outside outbound看完整清单确认网段策略不是自己想要的就进策略视图执行undo policy source 192.168.0.0 0.0.0.255删除只保留精确主机那条。5.5 Telnet登录成功但进不了system-view命令全被拒绝现象远程登录AR1或FW1成功执行system-view被拒绝或者偶发命令无权限提示。 原因vty用户权限等级低于3。user privilege level 3这行如果漏配或写错远程用户默认只有level 0或1只能看不能改连系统视图都进不了。 解决在user-interface vty 0 4视图下补上user privilege level 3。如果已经被锁在外面回到console口重新调整再测试登录。eNSP里登录防火墙时也一样先确认登录用户的权限等级再查配置。6. 用会话表验收配置display firewall session table 的七个字段实验最后用display firewall session table verbose做了收尾验证这条命令在USG上是「上帝视角」所有穿过防火墙的流量都会在这里留下一张会话表。先看实验中的实际输出telnet VPN:public -- public Zone: trust--outside TTL: 00:10:00 Left: 00:09:55 Interface: GigabitEthernet0/0/1 NextHop: 192.168.1.150 --packets:16 bytes:725 --packets:17 bytes:726 192.168.0.150:49957--192.168.1.150:23字段读法Zone: trust--outside流量实际的源区域到目的区域用来核对策略方向是否正确Interface / NextHop出接口和下一跳用来核对路由是否走了预期路径TTL / Left会话剩余生命周期正常Telnet空闲10分钟Left从9分多开始倒计时packets / bytes 双向防火墙收方向和发方向的包计数看是否持续增长来确认流量是活的最后一行五元组源IP:源端口→目的IP:目的端口端口23确认是Telnet--packets表示防火墙从该会话收到的包--packets表示防火墙发出的包两个数值接近且持续增长说明双向流量都在正常往返。实验里还能看到另一条Left: 00:00:00的Telnet会话那是认证握手阶段的残留不用管它认准长TTL那条。我现在的验收习惯是三次对账配置完策略后先display policy确认方向和策略命中再执行reset firewall session table清掉旧会话避免被历史会话干扰然后从客户端重新触发一次Telnet最后看display firewall session table verbose。只有策略匹配、会话Zone方向对、包计数器三个点全部对上我才敢说配置完成。从那以后我每次配完防火墙上线前都强制走一遍这个流程宁可多花两分钟也不带着黑匣子上线希望帮到你。本文还有配套的精品资源点击获取