资讯详情

防火墙安全区域与域间策略配置入门:从Trust/Untrust/DMZ到策略放行

📅 2026/10/18 3:02:33 | 华诺云谱 👁 阅读
防火墙安全区域与域间策略配置入门:从Trust/Untrust/DMZ到策略放行
1. 为什么防火墙区域划分是网络入门的第一道分水岭刚接触企业级网络设备的朋友十有八九会在防火墙这里卡住。路由器、交换机玩得再溜一打开防火墙的配置界面看到Trust、Untrust、DMZ这些区域概念再加上安全策略、会话表、ASPF一堆术语很容易就懵了。我当初也是这样明明照着文档敲了命令PC就是ping不通排查半天才发现是区域没绑对或者策略方向写反了。这篇内容就是写给正在啃防火墙区域划分这块硬骨头的朋友。不管你是网络专业的学生还是刚转行做网络运维的从业者只要手头有模拟器环境跟着走一遍就能把防火墙最核心的区域-接口-策略这条链路彻底理清楚。关键词就三个安全区域、接口绑定、域间策略。把这三个东西的关系搞明白防火墙百分之七十的基础配置你就拿下了。先说一个很多人容易忽略的点防火墙和路由器最大的区别在于路由器是有路就走防火墙是默认全堵。也就是说你刚把接口IP配好、路由打通如果不做区域划分和安全策略流量照样过不去。这不是设备坏了而是防火墙的设计哲学——先拒绝一切再按需放行。理解了这一点后面所有的配置逻辑就顺了。我在模拟器上反复试过很多次发现新手最容易犯的错误集中在三个地方一是接口没有加入安全区域二是安全策略的源目区域写反了三是忽略了防火墙默认的域间行为。这三个坑后面我会一个一个拆开讲把排查思路也一并给你。2. 安全区域、接口与策略三个概念的真实关系2.1 安全区域到底是什么为什么需要它安全区域英文叫Security Zone你可以把它理解成防火墙内部划分出来的信任等级不同的房间。每个房间有一个信任值防火墙根据这个信任值来决定默认情况下谁可以访问谁。比如Trust区域默认信任级别是85Untrust是5DMZ是50。信任值高的区域默认可以访问信任值低的区域反过来则不行。这个设计的初衷很朴素企业内部网络是自己人信任度高外部网络是陌生人信任度低DMZ是放对外服务器的缓冲区信任度居中。防火墙用信任值这个数字把谁更可信这件事量化了然后自动生成一条默认策略——高信任访问低信任放行低信任访问高信任拒绝。但要注意这个默认放行在不同版本、不同配置下行为可能不一样。有些环境里默认策略是全部拒绝的需要你手动放行。所以我的习惯是不管默认行为是什么关键流量都手动写一条策略这样可控性最强排查问题的时候也一目了然。2.2 接口绑定区域物理口和逻辑口的区别接口要工作必须加入某个安全区域。这一步在配置里叫将接口加入安全区域。你可以把物理接口直接加入区域也可以先创建逻辑接口比如子接口、VLANIF、Tunnel接口再把逻辑接口加入区域。这里有个实操细节一个接口只能属于一个安全区域不能同时属于两个。如果你把接口从Trust改到Untrust原来的策略就会失效因为策略是基于区域匹配的不是基于接口。这一点在调整网络结构的时候特别容易踩坑——你改了一个接口的区域归属结果发现某条业务不通了回头一查原来是策略里的区域对不上了。另外接口加入区域之前必须先配好IP地址并确保物理状态是UP的。如果接口是down的你加进区域也没用流量根本不会从上面走。我在模拟器里就遇到过接口没up就急着配策略的情况折腾半天以为是策略问题其实是链路层没起来。2.3 域间策略的匹配逻辑从上到下命中即停安全策略的匹配规则是从上到下逐条匹配命中第一条就停止。这意味着策略的顺序非常重要。如果你把一条宽泛的放行策略放在上面下面那些精细的控制策略就永远不会被匹配到。举个例子你先写了一条Trust到Untrust全部放行然后又写了一条Trust到Untrust只允许HTTP那第二条就是废的因为第一条已经把流量全放过去了。正确的做法是把精细的策略放上面宽泛的放行放下面或者干脆不要宽泛放行。策略匹配的要素包括源区域、目的区域、源地址、目的地址、服务端口、应用、时间段等。新手最常用的是前五个。每一条策略都要明确从哪个区域来、到哪个区域去、什么源、什么目的、什么服务五个要素缺一不可否则要么匹配不到要么匹配范围过大。提示策略配置完成后一定要用display security-policy rule all之类的命令查看策略列表和命中计数确认流量确实匹配到了你期望的那条策略而不是被默认策略处理了。3. 从零搭建一个三区域实验环境3.1 实验拓扑设计与地址规划我建议用一个最经典的三区域拓扑来练手一个Trust区域放内网PC一个Untrust区域模拟外网一个DMZ区域放对外服务器。防火墙居中三个接口分别连接三个区域。地址规划我习惯这样分Trust用192.168.1.0/24防火墙接口地址192.168.1.1Untrust用202.100.1.0/24防火墙接口地址202.100.1.1DMZ用192.168.2.0/24防火墙接口地址192.168.2.1。PC和服务器分别配好IP和网关网关指向防火墙对应接口的地址。这个规划的好处是网段清晰一看地址就知道属于哪个区域。实际项目中当然可以更复杂但练手阶段越简单越好把逻辑跑通比什么都重要。拓扑搭好之后先别急着配防火墙。第一步应该是确认底层连通性PC能不能ping通自己的网关防火墙接口地址。如果这一步就不通说明接口IP或者链路有问题先解决这个再往上做区域和策略。3.2 接口配置与区域绑定的完整命令假设我们用的是某企业级防火墙的模拟环境接口编号用GE0/0/1Trust、GE0/0/2Untrust、GE0/0/3DMZ来示意。配置思路是先进入接口配IP再把接口加入对应区域。# 配置Trust区域接口 interface GigabitEthernet0/0/1 ip address 192.168.1.1 255.255.255.0 service-manage ping permit quit # 配置Untrust区域接口 interface GigabitEthernet0/0/2 ip address 202.100.1.1 255.255.255.0 service-manage ping permit quit # 配置DMZ区域接口 interface GigabitEthernet0/0/3 ip address 192.168.2.1 255.255.255.0 service-manage ping permit quit注意service-manage ping permit这一行。默认情况下防火墙接口是不响应ping的你从PC ping网关会超时。加上这条命令接口才会回应ping请求。这个细节很多新手不知道导致误以为链路不通。当然生产环境里是否允许ping网关要看安全要求实验环境为了方便排查建议先开着。接口IP配好之后把接口加入安全区域firewall zone trust add interface GigabitEthernet0/0/1 quit firewall zone untrust add interface GigabitEthernet0/0/2 quit firewall zone dmz add interface GigabitEthernet0/0/3 quit到这里区域划分就完成了。你可以用display zone命令查看每个区域下挂了哪些接口确认绑定关系正确。3.3 验证区域绑定是否生效的检查方法配完之后不要急着写策略先做一轮检查。第一步display zone看接口归属第二步从PC ping防火墙接口地址确认接口可达第三步查看接口状态是否UP。如果PC ping不通网关排查顺序是先看接口物理状态和协议状态是否都是UP再看接口IP和PC的网关是否在同一网段最后看service-manage ping permit有没有配。这三步走完基本能定位问题。我见过有人把接口加入区域之后忘了接口本身还没配IP结果区域里挂了一个没有地址的接口流量根本没法走。所以顺序一定是先配IP再加区域不要颠倒。4. 安全策略配置放行与拒绝的实操细节4.1 放行Trust到Untrust的流量区域划分好之后默认情况下Trust到Untrust可能是通的取决于默认策略但为了可控我习惯手动写策略。假设内网PC需要访问外网我们放行Trust到Untrust的所有IP流量security-policy rule name trust_to_untrust source-zone trust destination-zone untrust source-address 192.168.1.0 24 destination-address any service any action permit quit这条策略的意思是从Trust区域来、到Untrust区域去、源地址是192.168.1.0/24、目的地址任意、服务任意的流量放行。写完之后内网PC访问外网应该就通了。但这里有个问题如果Untrust区域的外网设备没有回程路由PC还是上不了网。防火墙只负责放行不负责帮外网设备找路由。所以实验环境里模拟外网的设备也要配一条回程路由指向防火墙的Untrust接口地址。这个点经常被忽略导致策略配了还是不通。4.2 放行Untrust访问DMZ的Web服务DMZ里放的是对外服务器外网用户需要访问它。假设DMZ服务器提供HTTP服务地址是192.168.2.10我们放行Untrust到DMZ的HTTP流量security-policy rule name untrust_to_dmz_web source-zone untrust destination-zone dmz source-address any destination-address 192.168.2.10 32 service http action permit quit注意这里的服务写的是http防火墙会把它解析成TCP 80端口。如果你用的是非标准端口比如8080那就要自定义服务或者直接写端口号。另外如果外网用户需要通过公网地址访问DMZ服务器还需要在防火墙上做目的NAT服务器映射把公网地址映射到DMZ服务器的私网地址。这一步是很多新手漏掉的导致策略配了但外网还是访问不了。4.3 策略顺序与命中计数排查策略写多了之后顺序就成了大问题。我的习惯是把最具体的策略放最上面最宽泛的放最下面。比如先放行Untrust到DMZ的HTTP再放行Untrust到DMZ的HTTPS最后如果确实需要再放行Untrust到DMZ的任意服务。这样精细的控制优先匹配不会被子网级放行覆盖。排查策略是否生效最直接的方法是看命中计数。防火墙一般都有display security-policy statistics之类的命令能看到每条策略匹配了多少报文。如果某条策略计数一直是0说明流量根本没匹配到它要么是区域写错了要么是被上面的策略拦截了。还有一种情况策略明明配了计数也在涨但业务就是不通。这时候要检查会话表。防火墙是基于会话转发的如果会话建立不起来报文就被丢了。用display firewall session table看有没有对应的会话没有的话可能是路由问题、ARP问题或者ASPF没放行某些协议。注意ICMP和TCP的行为不一样。ping通不代表TCP端口就通因为有些防火墙默认不放行ICMP但TCP策略是单独的。排查的时候要针对具体协议具体分析不要用一个协议的结果去推断另一个协议。5. 那些文档里不写但实际会遇到的坑5.1 接口加入区域后策略不生效的几种可能第一种可能接口虽然加入了区域但接口本身是down的。这种情况在模拟器里特别常见因为你可能忘了启动接口或者连线没连对。用display interface brief看一眼物理状态和协议状态都是UP才行。第二种可能策略里的区域写反了。比如你想放行内网访问外网结果源区域写了untrust目的区域写了trust那流量方向就反了自然匹配不到。这种错误很隐蔽因为配置看起来没报错但逻辑是错的。第三种可能策略里的地址对象写错了。比如源地址写成了外网网段目的地址写成了内网网段方向反了。或者掩码写错了24写成了32导致只匹配一个地址。这种错误要靠仔细核对没有捷径。第四种可能策略被上面的策略拦截了。比如你上面有一条deny all的策略那下面所有permit都不会生效。检查策略顺序把deny all放到最下面或者干脆不要写deny all靠默认拒绝来处理。5.2 区域间默认行为与隐式拒绝的验证不同防火墙的默认域间行为不一样。有的默认高信任到低信任放行有的默认全部拒绝。你在实验之前最好先确认一下当前环境的默认行为免得配了半天发现是默认策略在起作用。验证方法很简单先不写任何策略从Trust ping Untrust看通不通。如果通说明默认放行了如果不通说明默认拒绝。然后再写一条明确的permit策略看是否生效。这样你就能摸清默认行为的边界。隐式拒绝是指所有策略都没匹配到的流量最终会被默认的拒绝策略处理。这个拒绝策略通常是看不到的但确实存在。所以如果你发现流量不通又找不到匹配的策略那大概率是被隐式拒绝了。解决办法就是写一条明确的permit策略把需要的流量放行。5.3 模拟器环境下接口状态异常的排查模拟器毕竟不是真机接口状态异常的情况比真机多。常见的有接口一直down怎么配都不up接口up了但协议down接口状态反复跳变。遇到这种情况我的排查顺序是先检查连线是否正确模拟器里连线错误会导致接口down再检查接口是否被shutdown了用undo shutdown激活然后检查接口类型和速率是否匹配有些模拟器对接口类型有要求最后重启模拟器或者重新搭建拓扑有时候是模拟器本身的bug。还有一个坑模拟器里有些接口默认是二层接口需要先切换到三层模式才能配IP。如果你直接配IP报错试试undo portswitch把接口切成三层。这个命令在不同设备上可能不一样但思路是一样的——确认接口工作在正确的模式。6. 把区域划分思路迁移到更复杂的场景6.1 多区域级联时的策略设计思路实际项目里区域往往不止三个。可能有多个内网区域办公、生产、财务多个DMZ区域Web、数据库、邮件还有管理区域、访客区域等等。区域一多策略数量就爆炸式增长。这时候我的做法是先画一张区域关系图标明哪些区域之间需要通信、通信什么服务。然后按照最小权限原则只放行必要的流量。能用一个地址对象组搞定的就不要写多条策略能用服务组的就不要一个个端口写。另外可以给区域起有意义的名字比如office、production、finance而不是默认的trust、untrust。这样策略的可读性会好很多后期维护也方便。当然前提是设备支持自定义区域名称。6.2 区域划分与NAT的配合关系NAT和区域是两回事但经常一起用。内网访问外网需要源NAT把私网地址转换成公网地址外网访问DMZ需要目的NAT把公网地址映射到私网地址。NAT的配置位置和区域有关但NAT策略本身是独立的。一个常见的误区是以为配了NAT就不用配安全策略了。实际上NAT只负责地址转换不负责放行。流量还是要经过安全策略的检查策略不放行NAT配了也没用。所以顺序是先确保策略放行再配NAT两者缺一不可。还有一个细节源NAT的策略里源区域通常是trust目的区域是untrust转换后的地址是出接口地址或者地址池。目的NAT的策略里源区域是untrust目的区域是dmz转换后的地址是DMZ服务器的私网地址。这些区域关系要和你的拓扑对应上不能写错。6.3 从实验环境到真实设备的注意事项实验环境里你可以随便改、随便试真实设备上就要谨慎得多。上真机之前我建议先在模拟器上把配置跑通把命令记熟把可能的问题都预演一遍。真机上操作时尽量用console口或者带外管理避免因为配置错误把自己关在门外。另外真机的性能参数和模拟器不一样会话数、吞吐量、新建连接速率都有上限。实验环境里跑通的配置真机上不一定能扛住高并发。所以上线之前要做压力测试确认设备能承受实际业务的负载。最后配置一定要备份。改之前先导出当前配置改完之后再导出一次对比差异。万一出问题可以快速回滚。这个习惯我坚持了很多年救过我好几次。7. 我个人在区域划分上的一点心得区域划分这件事表面上看是配几个命令实际上考验的是你对网络信任模型的理解。Trust、Untrust、DMZ只是最基础的三个区域真实网络里的信任关系远比这复杂。我的经验是不要为了省事把所有接口都塞进Trust那样防火墙就形同虚设了。该隔离的隔离该控制的控制哪怕多写几条策略也比事后出安全问题强。还有一个体会是策略要写得可读。什么叫可读就是过三个月你回来看还能一眼看懂这条策略是干什么的。规则名称写清楚地址对象用有意义的命名注释该加就加。这些习惯在实验环境里看不出价值但在真实项目里能省下大量排查时间。防火墙的区域和策略说到底就是一门控制谁跟谁说话的学问。把这件事想明白了配置只是顺手的事。希望这篇内容能帮你把这块硬骨头啃下来少走一些我当年走过的弯路。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑