简介这是一份面向网络工程师、安全运维初学者及华为认证备考者的实验文档围绕华为USG5500防火墙的配置过程展开可帮助读者从零搭建内外网环境并完成防火墙基础安全域管理。实验拓扑包含内网192.168.0.0/24、外网192.168.1.0/24以及AR1、AR2路由器和防火墙FW1文档按步骤给出接口IP配置、默认路由、Telnet远程登录口令与权限等级设置随后重点演示防火墙自定义inside/outside安全区域、设置优先级inside 90、outside 30、将接口加入对应区域并通过display zone和display policy all等命令验证配置结果。资源为单个PDF文件大小113KB命令完整适合配合模拟器边学边练。目前已有4743人浏览学习。读者可以借此掌握防火墙安全区域划分、区域安全级别调整、策略查看与默认过滤规则含义等核心知识点为后续真实项目中的安全策略配置提供参考。1. 华为 USG5500 防火墙配置一个 Telnet 跨域实验讲透安全区域与策略手里这份华为 USG5500 防火墙配置实验是我见过把防火墙「区域Zone→ 策略Policy→ 会话Session」这条链路讲得最直接的一份资料。实验场景不复杂内网 192.168.0.0/24、外网 192.168.1.0/24一台 USG5500 夹在中间两端各挂一台 AR 路由器。但就这么个拓扑把新手最容易懵的两个点全踩中了——防火墙默认区域为什么不能直接用以及为什么配了策略还通不了。实验最终要解决两件事内网用户 Telnet 到外网路由器以及反过来让外网用户 Telnet 进内网。如果你正在学 eNSP 里的防火墙配置或者刚上手华为 USG 系列的真实设备这份实验正好用来建立「区域划分 策略放行 会话验证」的完整操作直觉。2. 从默认区域到自定义区域USG5500 的安全模型先搞懂2.1 默认四个区域local、trust、untrust、dmz 的优先级含义华为 USG 系列防火墙启动后系统里已经预置了几个安全区域实验里敲display zone能看到它们的优先级和接口归属情况。默认输出里有四个区域local 优先级 100trust 优先级 85untrust 优先级 5dmz 优先级 50。接口归属方面只有 GigabitEthernet0/0/0 被默认放进了 trust 区域其他接口还没有归属。这里要先讲清楚优先级这个数字到底有什么用。华为防火墙里安全区域优先级是判断「流量从哪个区域往哪个区域走」的基础两个区域之间的流量方向称为 interzone。默认情况下从高优先级区域往低优先级区域的流量比如 trust → untrust是允许的反过来从低优先级往高优先级untrust → trust是拒绝的。但注意这只是默认包过滤行为真正生产环境里还是要靠显式的安全策略来管控。实验里有个细节值得留意防火墙启动后GigabitEthernet0/0/0 接口上已经配好了 192.168.0.1/24 这个地址。你在 console 上再敲一遍ip add 192.168.0.1 24系统会提示Warning: Address already exists!这是正常的说明设备初始化时已经把内网接口地址准备好了。这个设计其实很有代表性——USG 设备开箱时默认就有一条内网接口的配置方便你从内网侧开始管理设备。2.2 自定义 inside 与 outside 区域为什么要 set priority 30 和 90实验没有直接用默认区域而是新建了两个自定义区域。关键命令是firewall zone name outside创建区域然后用set priority 30设优先级再进入区域视图用add interface GigabitEthernet 0/0/1把接口绑进去。[FW1]firewall zone name outside [FW1-zone-outside]set priority 30 [FW1-zone-outside]q [FW1]firewall zone name inside [FW1-zone-inside]set priority 90 [FW1-zone-inside]q [FW1]display zone这段命令的含义是创建 outside 区域并把安全等级定为 30创建 inside 区域把安全等级定为 90。安全等级的数字范围是 1 到 100数字越大代表这个区域越可信。然后把 G0/0/1 接口外网接口加入 outside把 G0/0/0 接口默认已在 trust对应到 inside 区域。这里要给新手提醒一个容易混乱的点实验里内外网区域是自定义的 inside/outside不是系统默认的 trust/untrust。为什么要这样因为真实项目里你经常需要按业务划分区域比如把办公网、服务器区、外网区分别命名自定义区域能让你语义更清晰。但代价是默认策略里根本没有 inside 和 outside 之间的任何放行规则所有东西都要自己写。实验后面display policy all能看到系统默认策略比如policyinterzone local trust inbound firewall default packet-filter is permit这类条目但 inside 和 outside 之间的默认策略全是 deny。提示USG5500 策略默认丢弃deny所有未匹配的跨区域流量所以新建区域后不做策略业务一定不通。这不是设备坏了而是默认安全机制在起作用。2.3 display zone 输出解读接口归属与优先级怎么核对配置完区域后display zone的输出会明确告诉你每个区域包含了哪些接口。实验里 outside 区域带上了 GigabitEthernet0/0/1inside或 trust带上了 GigabitEthernet0/0/0。判断配置是否生效就看两点接口是否出现在对应区域列表里以及优先级数字是否符合你的预期。还有个实用技巧在区域视图里直接敲display this可以只看当前区域的配置片段比全量display zone更聚焦。实验里在 outside 区域视图下display this输出就三行firewall zone name outside、set priority 30、add interface GigabitEthernet0/0/1。这个习惯在真实设备上排查配置时非常有用能快速确认某个区域到底绑了哪些接口不用翻完整配置。3. 策略配置实战从默认 deny 到精确放行3.1 先看默认策略为什么 outbound 和 inbound 都是 denydisplay policy all输出的是一长串区域间默认策略这些策略描述了「包过滤默认动作」。比如policyinterzone trust outside inbound firewall default packet-filter is deny意思是 trust 区域访问 outside 区域的入方向流量默认丢弃。在实验里inside 和 outside 之间同样全是 deny。这里要区分两个概念默认包过滤动作default packet-filter和策略policy。默认包过滤动作是区域间的兜底规则策略是显式创建的匹配规则。流量到达时先匹配策略策略没匹配到才落到默认包过滤动作。所以实验里display policy interzone trust outside outbound的输出能看到policy 1 (0 times matched)——策略存在但还没流量命中下面还有firewall default packet-filter is deny作为兜底。理解了这一点你就明白为什么刚配完区域后内网 Telnet 外网肯定不通。不是路由器配置有问题而是防火墙在 inside 和 outside 之间根本没放行。新手最容易犯的错是去改路由器、查路由表折腾半天发现防火墙策略没动。记住顺序先确认区域和接口归属再写策略最后才去查设备连通性。3.2 放行内网访问外网policy interzone trust outside outbound 逐条拆解实验里放行内网 Telnet 到外网的核心命令如下[FW1]policy interzone trust outside outbound [FW1-policy-interzone-trust-outside-outbound]policy 1 [FW1-policy-interzone-trust-outside-outbound-1]policy source 192.168.0.150 0 [FW1-policy-interzone-trust-outside-outbound-1]policy destination any [FW1-policy-interzone-trust-outside-outbound-1]action permit这条命令的逻辑是进入trust到outside区域的outbound方向策略视图创建编号为 1 的策略源地址限定为 192.168.0.150内网 AR1 的地址目的地址不限动作放行。这里有几个参数要重点说明。policy source 192.168.0.150 0里的0是通配符掩码wildcard mask0表示精确匹配这个 IP等价于掩码 255.255.255.255。如果你写192.168.0.0 0.0.0.255就表示匹配整个 192.168.0.0/24 网段。实验里之所以精确到单个 IP是为了演示「最小化授权」的思路——只放行特定主机。但注意实验后面配置策略后display policy输出里同时出现了policy source 192.168.0.0 mask 255.255.255.0和policy source 192.168.0.150 0两条这是因为 eNSP 模拟器版本或配置顺序导致系统自动加了一条网段匹配实际以你设备 display 的结果为准。action permit是放行动作。华为 USG 的策略动作就两个permit 和 deny。生产环境里更常见的做法是显式写 deny 再写 permit或者直接用 permit 白名单思路。但实验环境就一台防火墙直接 permit 简洁够用。还有一个容易忽略的点policy interzone后面的方向参数 outbound/inbound 是从第一个区域到第二个区域的方向。trust outside outbound指的是 trust 区域主动发起、流向 outside 区域的流量。这个方向一旦搞反策略写了也匹配不上后面排错会特别痛苦。3.3 验证策略是否生效display policy interzone 与匹配次数配置策略后用display policy interzone trust outside outbound查看详细状态是最直接的验证手段。命令输出会显示两条关键信息默认包过滤动作是 permit 还是 deny以及每条策略的匹配次数。实验里有个很典型的操作先执行firewall packet-filter default permit interzone trust outside把默认动作临时改成允许系统会弹警告提示存在安全风险确认后你会发现策略匹配次数还没变化。然后再执行firewall packet-filter default deny interzone trust outside恢复默认 deny。这两个操作组合起来做了个很有价值的验证证明即使默认动作放开策略本身的匹配逻辑没变也证明恢复 deny 后策略里显式的 permit 仍然生效。我在实际操作里养成的习惯是策略配完一定要看两件事一是策略列表里 action 是否显示为 permit二是匹配次数是否在增长。如果策略存在但匹配次数一直是 0说明流量根本没走到这条策略问题大概率在区域方向、接口归属或路由上而不是策略本身。4. 内网 Telnet 外网路由器从故障到会话确认4.1 AR1 和 AR2 的 Telnet 基础配置回顾实验里 AR1内网和 AR2外网都需要开启 Telnet 服务。AR1 的配置过程是进入系统视图命名 AR1配置 G0/0/0 接口地址 192.168.0.150/24配默认路由指向防火墙内网口 192.168.0.1然后开启 vty 线程并设密码登录。Huaweisystem-view [Huawei]sysname AR1 [AR1]interface g0/0/0 [AR1-GigabitEthernet0/0/0]ip address 192.168.0.150 24 [AR1-GigabitEthernet0/0/0]quit [AR1]ip route-static 0.0.0.0 0.0.0.0 192.168.0.1 [AR1]user-interface vty 0 4 [AR1-ui-vty0-4]authentication-mode password Please configure the login password (maximum length 16):888 [AR1-ui-vty0-4]user privilege level 3AR2 的配置几乎一样只是地址变成 192.168.1.150/24默认路由下一跳是 192.168.1.1防火墙外网口Telnet 密码设为 666。这里有一个值得注意的细节AR2 配置里出现了set authentication password cipher 666这条命令这是密码加密存储的方式明文配置和密文配置效果一样但密文方式在真实设备上更安全防止别人通过查看配置文件直接拿到明文密码。user privilege level 3设置的是用户权限等级3 在华为设备上是管理级能执行所有命令。如果忘了配这一条登录后可能只能敲 display 类命令连 system-view 都进不去。实验里因为后面要通过 Telnet 从内网登录 AR2 再验证防火墙策略权限等级必须够高否则验证动作会卡在权限不足上。4.2 从 AR1 Telnet 到 AR2防火墙转发路径与策略命中拓扑里 AR1 要 Telnet 到 AR2流量走向是AR1192.168.0.150→ 防火墙 G0/0/0192.168.0.1→ 防火墙 G0/0/1192.168.1.1→ AR2192.168.1.150。防火墙收到这个流量时源区域是 trust或 inside目的区域是 outside方向是 outbound。第 3 章配置的策略正是匹配这条路径。实际操作时你在 AR1 上执行telnet 192.168.1.150输入密码 666 后如果能登录到 AR2 的 CLI说明防火墙策略已经生效。但如果登录失败或超时排查顺序是这样的先在防火墙上看display firewall session table有没有对应会话如果有会话但 Telnet 不通看是不是 AR2 的 Telnet 服务没开或密码错如果连会话都没有说明流量被策略丢了回到策略方向检查。这里要提醒一个 Telnet 登录时的常见坑华为主机登录 Telnet 后如果显示Error: All user-interface vty is used up或者直接提示密码错误先检查网络设备 vty 线程数量和认证模式。实验里开放了 vty 0 4 共五个线程一般够用。密码错误则大概率是认证模式没配对——实验里 AR2 一开始用authentication-mode password交互式输入后面又用set authentication password cipher 666覆盖了一次第二次配置覆盖了第一次的密码要以最后一次为准。4.3 display firewall session table verbose读懂会话的关键字段Telnet 成功后在防火墙上看display firewall session table verbose输出里能看到两条 Telnet 会话。拿其中一条拆解telnet VPN:public -- public Zone: trust--outside TTL: 00:00:10 Left: 00:00:00 Interface: GigabitEthernet0/0/1 NextHop: 192.168.1.150 MAC: 00-e0-fc-7a-0b-5a --packets:18 bytes:867 --packets:17 bytes:728 192.168.0.150:49272--192.168.1.150:23这条会话的信息量很大。Zone: trust--outside告诉你防火墙把这条流量识别成从 trust 区域到 outside 区域正好命中之前配置的策略方向。Interface: GigabitEthernet0/0/1是流量出接口NextHop: 192.168.1.150是下一跳AR2 的地址说明防火墙查路由后知道要把包从 G0/0/1 扔给 AR2。双向报文计数分别记录在--packets和--packets里Telnet 这类交互协议双向都有流量两个计数都在涨才正常。192.168.0.150:49272--192.168.1.150:23是五元组信息源地址是内网 AR1源端口是随机高端口目的是外网 AR2 的 23 端口。提示会话表里TTL和Left表示会话剩余存活时间Telnet 这类长连接会话 TTL 一般较长如果 Left 快速归零说明会话被异常重置优先查策略和路由变化。5. 反向 Telnet外网用户访问内网路由器5.1 inbound 方向策略配置源、目的、服务三层限定实验里第二个核心需求是让外网用户 Telnet 到内网路由器这种情况下流量方向变成从 outside 到 trust属于 inbound。命令如下[FW1]policy interzone trust outside inbound [FW1-policy-interzone-trust-outside-inbound]policy 1 [FW1-policy-interzone-trust-outside-inbound-1]policy source 192.168.1.150 0 [FW1-policy-interzone-trust-outside-inbound-1]policy destination 192.168.0.150 0 [FW1-policy-interzone-trust-outside-inbound-1]policy service service-set telnet [FW1-policy-interzone-trust-outside-inbound-1]action permit进入trust outside inbound方向策略视图后策略 1 限定源地址是 192.168.1.150外网 AR2目的地址是 192.168.0.150内网 AR1服务类型限定为 Telnet动作为放行。这条策略比 outbound 那条多了一个服务限定是更严格的安全做法。为什么要限定服务因为 TCP 23 端口是 Telnet如果不限定服务这条策略会把 source 到 destination 之间的所有流量全部放行比如内网 AR1 上如果有 Web 服务外网一样能访问这不符合最小授权原则。实验里用policy service service-set telnet把范围收窄到 Telnet 协议值得在生产环境里坚持这个习惯。5.2 外网侧路由和目的地可达性检查配置完 inbound 策略后验证前要先确认外网侧路由是否可达。AR2 上已经配置了默认路由指向 192.168.1.1防火墙外网口所以从 AR2 发往 192.168.0.150 的流量会先到防火墙。防火墙收到后查路由表发现 192.168.0.0/24 是直连网段G0/0/0 接口直接把包从内网口转发给 AR1。这里的排查重点是防火墙有没有到 192.168.0.150 的路由。因为防火墙内网口本身就是 192.168.0.1/24所以这条路由必然存在不需要额外配置。但如果你的实验拓扑里防火墙和 AR1 之间还隔着三层交换机那就必须检查防火墙是否有到内网网段的静态路由或动态路由条目。判断方法是在防火墙上display ip routing-table 192.168.0.150能查到明细路由说明转发路径没问题。测通方式有两种一是在 AR2 上执行telnet 192.168.0.150输入 AR1 的 Telnet 密码 888如果能出现 AR1 的命令行提示符说明整条链路已经打通二是在防火墙上查看display firewall session table verbose能看到 Zone 为outside--trust的 Telnet 会话方向正好和上一条相反。5.3 验证实验效果从外网登录内网路由器的完整过程实验里在 AR2 上执行 Telnet 到 192.168.0.150输入密码 888 后登录到 AR1。如果你在 AR1 上敲display current-configuration能看到自己之前配置的接口地址和默认路由这就证明整个反向链路完全工作。我在自己手搭环境时习惯多走一步登录成功后在 AR1 上执行display tcp status查看 TCP 连接状态能看到一条从 192.168.1.150源到 192.168.0.150:23目的的 ESTABLISHED 连接。这条信息配合防火墙会话表能确认三层到四层都通了而不只是 Telnet 应用层看起来正常。6. 避坑与习惯USG5500 配置的三个常见翻车点6.1 区域方向搞反outbound/inbound 语义必须放在具体区域对上理解我在最初接触华为防火墙策略时对 outbound 和 inbound 的理解一直有偏差后来才彻底想明白这两个方向词不是绝对的外出和进入而是相对于policy interzone后面两个区域的顺序而言。policy interzone trust outside outbound指的是第一个区域 trust 发起、流向第二个区域 outside 的流量也就是内网访问外网反过来policy interzone trust outside inbound指的是第一个区域 trust 接收、从第二个区域 outside 进入的流量也就是外网访问内网。这个语义一旦理解错策略配置就会出现方向性错误。现象是内网访问外网不通但策略看起来配了、动作也是 permit检查发现你把outbound写成了inbound。解决方式每次配策略前先在草稿上写清楚「谁访问谁」然后对照命令里的区域顺序和方向参数确保一致再敲命令。6.2 接口没加入区域接口有 IP 但归属为空策略匹配不到流量另一个高频翻车点接口地址配了、区域建了、优先级设了但忘了把接口加入区域。现象是流量到了防火墙就被丢会话表里根本看不到对应条目display zone里该区域接口列表为空。排查方法是先看display zone的输出里接口归属情况如果 G0/0/0 不在任何区域列表里用firewall zone inside进入区域视图执行add interface GigabitEthernet0/0/0绑定。华为 USG 的逻辑是接口必须先加入某个区域流量才能在区域间被策略管理接口不属于任何区域的流量只能被本地处理或直接丢弃。6.3 默认策略恢复permit 之后忘记改回 deny安全基线被破坏实验里有一个操作是用firewall packet-filter default permit interzone trust outside临时把默认动作改成允许验证策略效果后又执行firewall packet-filter default deny interzone trust outside恢复。这个操作本身是合理的验证手段但如果验证完忘记恢复 deny防火墙就会在未匹配任何策略时默认放行 trust 到 outside 的所有流量这等于把安全设备降级成了普通路由器。我在实际项目里遇到过类似的坑为了快速排查问题临时放宽了某条默认策略问题解决后忘了收回直到安全审计时才发现。从那以后每次做这种临时改动我都会在终端里用注释记录下来恢复后再核对一遍 display 输出养成了强制检查默认策略状态的习惯。具体操作就是执行display policy interzone trust outside outbound确认最后一行显示的是 deny 而不是 permit。注意华为 USG 在默认策略从 deny 改为 permit 时会弹安全警告这是设备的善意提醒。别嫌烦真出了事这句警告就是后悔药。7. 进阶技巧把 display firewall session table 当作定位问题的第一工具这里分享一个我每次配置防火墙都会强制走一遍的验证流程。display firewall session table verbose输出的信息量远超表面看到的那些字段它不只是给你看「通没通」而是能帮你定位「通了但为什么慢」「不通但策略已放行」这类复杂问题。具体做法是分三步看。第一步看会话是否存在。如果策略已配置且接口状态正常但会话表里根本没有对应条目说明流量没到达防火墙或者到达了但被更早的策略丢弃。这时候用display firewall log或抓包确认流量是否真的到了防火墙接口。第二步看 Zone 方向是否符合预期。比如内网访问外网的流量会话里 Zone 必须是trust--outside如果显示untrust--outside说明接口的区域归属和你以为的不一样要回去检查接口绑定。第三步看会话里五元组的源端口和目的端口。源端口如果是随机高端口说明客户端正常发起连接如果源端口固定且小于 1024可能是防火墙在转换地址或端口需要查看 NAT 配置。还有个小技巧在会话表里看到TTL剩得特别短、Left一直在跳动大概率是链路有拥塞或者对端设备在处理能力上有瓶颈。比如实验里第二条 Telnet 会话 TTL 是 00:10:00而第一条只有一个很短的 TTL 值因为第一条是实验早期已经结束的会话记录第二条是正在持续的连接。通过对比这两条会话的 TTL 差异你能判断防火墙正在维护哪些活跃连接、哪些已经老化。如果把实验里的场景搬到生产环境我的习惯是从会话表反向推导配置问题。客户报障说「外网访问内网应用不通」我通常先看防火墙会话表里有没有外网源地址到内网服务器端口的会话。有会话但业务不通看会话里的五元组和 NAT 转换结果是否正常没会话再去看策略匹配情况多数时候是源地址段写窄了、目的端口没放行或者方向选错了。实验里最后验证外网 Telnet 内网时在防火墙上看到Zone: outside--trust的会话我当时第一反应不是「通了好」而是顺手把会话里192.168.1.150:49957--192.168.0.150:23这条五元组和策略里的源目的做了对比确认策略的源 192.168.1.150、目的 192.168.0.150、服务 telnet 三项全都对上了才敢断定没有隐性放行。从那以后我每次配置完 USG5500都强制走一遍「策略目视检查 → 会话表确认 → 五元组比对」这个流程验证时间多花两分钟但排错时间缩短的不止两小时。希望这个流程对你也有帮助。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?