1. 拆箱之后先别急着上架:初始化前必须想清楚的三件事
拿到一台企业级硬件防火墙,很多人的第一反应是插电、接网线、打开浏览器开配。这个顺序其实反了。硬件防火墙不是家用路由器,它的初始化过程牵扯到管理方式、接口规划、恢复手段三个前置问题。这三件事没想清楚,后面配置到一半发现管理口被业务占用、内网网段和厂商默认网段冲突、设备连不上Console口,返工成本比想象中高得多。
1.1 管理方式决定后面所有操作路径
企业级防火墙的初始管理几乎都走Console口,因为新设备默认情况下没有任何IP地址,网口上跑不了管理协议。你需要提前准备的是一根Console线,现在笔记本普遍不带串口,所以USB转串口线几乎是标配。装好驱动后,在设备管理器里确认一下串口号,Windows下通常是COM3或COM4,macOS下是/dev/tty.usbserial-xxx,这个细节虽然小,但会影响后面能否顺利连上设备。
登录参数绝大多数厂商是9600波特率、8位数据位、1位停止位、无校验、无流控,即9600-8-N-1。个别厂商或个别型号默认参数不同,比如有的设备新一代系统用115200,但基本都是极少数,建议接上后先看启动日志是否正常输出。我实际工作中习惯在SecureCRT或Xshell里把串口会话单独存一个标签,方便每次开局直接调用,省得每次重新填参数。
这里有个非常实用的补充:机房维护场景下,建议备一条手机用的Type-C转串口线,很多企业机房管理混乱,现场找不到带串口的笔记本,手机装一个串口终端App就能应急登录设备。这个技巧我在多次半夜割接中救过急。
1.2 网络拓扑与接口规划:先画图再接线的必要性
初始化之前必须有一张明确的拓扑图,哪怕手画都行。至少要想清楚三件事:运营商线路接哪个物理口,内网核心交换机接哪个物理口,服务器区接哪个物理口。
企业防火墙最经典的模型是三区模型:Trust区域对应内网办公区,Untrust区域对应外网,DMZ区域对应对外提供服务的服务器区。这三个区域在防火墙上要用不同的接口承载,因为后续的安全策略是绑定在区域对上的,不是绑定在接口上的。如果你把所有接口都划到同一个区域,那防火墙本质上就退化成了一个路由器,安全能力完全没发挥出来。
物理接口编号也要提前看。建议把管理口与业务口分开,我见过不少新手把管理口和业务口混用,调试的时候一改管理口配置,整个远程管理就断了。有些设备上有专门的管理口(MGT口),尽量用这个口接管理网段;没有专门管理口的,选一个靠后的物理口单独划一个管理VLAN,不要跟内网办公网段混在一起。
链路类型方面,防火墙连接核心交换机通常用Access口就行,但如果一个物理口要承载多个VLAN,那就需要配置Trunk或子接口。这个决策要在初始化之前想好,因为它直接影响你在防火墙上做VLAN子接口还是单独物理接口。
1.3 设备默认状态的坑与恢复手段
新设备不一定干净。我遇到过某项目采购的设备是代理商演示机,里面残留了一堆测试配置和账号;也遇到过二手设备上架,Console登录密码根本不是默认密码。所以初始化前最好执行一次恢复出厂设置,确保设备处于干净状态。
恢复出厂通常是在Console登录后执行类似reset saved-configuration的命令,然后reboot确认重启,设备启动后就是出厂状态。个别设备提供了物理Reset孔,长按也可以恢复,但这个方法不够优雅,而且不适用于所有厂商。恢复出厂后注意确认管理口的默认设置,某些设备恢复后管理口默认是固定某个物理口并且有个默认管理地址,查看设备手册确认这个地址,因为后续需要通过它做远程管理。
提示:恢复出厂操作前,如果设备是二手或演示机,先通过Console把旧配置导出留个底,避免后面需要确认旧配置里的某些网段或专线参数时找不到依据。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 首次初始化:从Console登录到管理面可用的完整链路
2.1 串口参数与登录流程
Console线接好,打开SecureCRT或Xshell,新建Serial会话,选对串口号,波特率9600,数据位8,停止位1,无校验,无流控,然后给设备通电。正常情况下立刻能看到设备启动日志刷屏,从硬件自检到系统加载。等到出现登录提示符,输入默认账号密码。
不同厂商的默认账号密码差异很大,华为和华三新版本是admin/Admin@123,老版本是admin/admin,思科ASA是admin/空密码,飞塔是admin/空密码。如果不知道默认账号,查设备标签或手册,不要盲目猜测,反复尝试可能导致账号锁定(部分设备有这个机制)。
登录进去后,厂商一般会提示是否进入初始化向导。我的习惯是不进向导,直接在命令行手动配,原因后面会细说。如果设备已经自动进入了交互式初始化向导,可以先Ctrl+C退出,或者把向导走完再命令行修改,两种方式都可以,但手动配更可控。
2.2 初始账号密码修改与基础系统配置
登录后第一件事必须是改密码。默认密码在网上随便一搜就能查到,不改密码的设备就像没锁门的办公室。建议创建独立的管理员账号,而不是直接在admin账号上改密码,这样后面如果多个管理员共用设备,可以给每个人独立账号,审计日志里能分清是谁改的配置。
接着配置主机名、系统时间和NTP。主机名建议按机房和用途命名,比如FW-Core-BJ这种格式,方便多设备环境区分。系统时间和时区同样重要,防火墙的日志时间戳如果不准,出故障排查时对不上时间线,会非常痛苦。时区一般选GMT+8,然后配置NTP服务器同步。如果企业内网有NTP服务器就指向内网,没有就指向公网NTP,比如ntp.aliyun.com或pool.ntp.org。
配置完这些记得执行save,否则设备一重启,所有配置全部丢失。这个save的习惯要刻在肌肉记忆里,每完成一个关键步骤就保存一次,不要等到全部配完再保存。
2.3 管理接口IP与Web/SSH开启:从CLI到图形管理面的切换
命令行基础配置做完后,就要让防火墙具备远程管理能力。首先给管理接口配置IP地址。假设设备G0/0/0是管理口,配置IP为10.10.10.1/24,然后把管理口划入某个区域,通常是单独建一个管理区域或者放入Trust区域。注意管理口所在区域不要跟业务区域混在一起,否则管理面暴露面太大。
然后开启HTTPS管理和SSH服务。华为和华三风格的命令是http server enable和ssh server enable,同时要创建一个管理员账号并赋予相应权限,指定这个账号可以从哪些IP网段登录。尽量限制管理源地址,只允许运维网段的IP访问管理口,千万不要把管理口暴露在Untrust区域。
配置完成后,把电脑网卡IP设为管理网段内的地址(比如10.10.10.2/24),网线接到管理口,浏览器访问https://10.10.10.1。如果页面打不开,先ping管理口IP确认二层通不通,再确认HTTPS服务有没有开,最后检查电脑浏览器是否拦截了自签名证书。
这时候要解释一下为什么不推荐用Web初始化向导完成全部配置。向导通常会引导你配置接口IP、区域划分、默认路由等基础项,效率确实高,但有两个问题:一是向导不会告诉你每条配置背后的逻辑,出了问题你不知道去哪个菜单排查;二是向导对非标准场景支持很差,比如复杂的VLAN子接口、多条静态路由、策略路由等,向导根本覆盖不到。我个人的做法是:CLI把基础网络层打通(接口、区域、路由),Web端做策略和对象管理,因为策略的可视化在Web端确实更直观。
3. 接口配置与路由打通:让防火墙先"ping得通"
3.1 接口区域划分:Trust/DMZ/Untrust的语义化设计
区域(Zone)是防火墙安全模型的核心。每个物理接口或子接口必须属于且仅属于一个区域,流量在不同区域之间流动时才会触发安全策略检查。同区域内的流量默认是放行的,跨区域流量默认是拒绝的(除非你改过默认策略)。
三个标准区域的语义要明确:Trust是内网办公区,终端设备在这个区域;Untrust是外网,所有来自互联网的流量都在这个区域;DMZ是对外提供服务的服务器区,比如Web服务器、邮件服务器、OA系统等。DMZ的设计理念是即使服务器被入侵,攻击者也不能直接横向进入内网Trust区域,所以DMZ和内网之间必须有严格的双向策略。
区域优先级数字并不影响安全逻辑,它更多是用于方向语义的描述。比如华为设备中Trust优先级85,DMZ是50,Untrust是5,高优先级到低优先级叫出方向(outbound),反之叫入方向(inbound)。这个方向概念在配置策略时很有用,但本质是还是取决于你配置的源区域和目标区域。
3.2 接口IP、VLAN和物理链路的关系怎么处理
明确物理拓扑后,给接口分配IP。标准的互联网接入场景:防火墙G0/0/1接运营商专线,配公网IP或运营商给的私网IP(取决于专线类型);G0/0/2接内网核心交换机,配内网网关地址(比如192.168.1.1/24);G0/0/3接服务器交换机或直连服务器,配DMZ网段网关。
如果内网有多个VLAN,而且希望防火墙做VLAN间路由,那就不能只用Access口了。在防火墙接口上创建子接口,每个子接口绑定一个VLAN ID并配置相应网段的网关地址。比如G0/0/2.10绑定VLAN 10,对应办公网段192.168.10.0/24;G0/0/2.20绑定VLAN 20,对应财务网段192.168.20.0/24。这样防火墙就承担了跨VLAN网关的角色。
这里有个特别容易踩的坑:配置子接口时忘了封装VLAN ID,或者交换机侧Trunk口没放行对应VLAN,结果二层就不通。排查逻辑很简单,先确认物理层up,再确认子接口VLAN封装和交换机Trunk配置一致,再看区域是否绑定正确。
3.3 默认路由与静态路由的配置逻辑:下一跳为什么必须写真实网关
网络层打通的下一步是路由。外网如果是固定IP专线,默认路由写ip route-static 0.0.0.0 0 172.16.0.1,其中172.16.0.1是运营商给的网关地址。这个下一跳地址必须是对端设备的真实接口地址,不能随便写,否则报文会被丢弃。
我遇到不少新手把下一跳写成运营商分配的公网IP,这是错的。运营商分配给你的公网IP是你自己接口上的地址,不是对端网关地址。网关地址通常是同网段的另一个地址,运营商在开通专线时会明确告知。
内网侧同样要注意回程路由。如果内网有多个网段且核心交换机做了VLAN间路由,那么防火墙访问这些网段时需要有相应静态路由指向核心交换机。否则会出现"防火墙能上网,但内网网段A的客户端通过防火墙上网后,回程流量不知道怎么回"的问题,表现就是网页能打开但很慢,或者部分业务超时。
注意:防火墙的静态路由除了影响数据转发,也影响防火墙自身发起访问时的选路。比如防火墙要ping一个内网网段的IP,如果路由表没有对应条目,防火墙会走默认路由发到外网去,这个小问题在排障时会误导你很久。
3.4 外网连通性测试:先让防火墙自己"能上网"
基础配置做完后,先别急着配安全策略,先确认防火墙自身能否访问外网。在CLI里执行ping -a 公网接口IP 8.8.8.8,-a是指定源地址,因为防火墙有多个接口,不指定源地址可能导致它从错误接口发出ping包。
如果ping不通,逐层排查:先ping网关(运营商侧对端地址),不通说明二层或物理链路有问题;通了再ping公网DNS地址,不通说明路由或运营商光路问题;通了但解析不了域名,检查DNS配置。
有些企业用PPPoE拨号上网,这种情况下接口IP和路由都是拨号后动态获取的,需要在接口上配置拨号参数,然后用dialer接口作为默认路由出接口。这个场景下MTU的问题特别突出:PPPoE的MTU是1492,不是1500,如果防火墙默认1500,会导致部分大包发不出去。典型表现是网页打不开、图片加载失败,但ping小包完全正常。经验丰富的运维第一反应就是检查WAN口MTU或开启TCP MSS钳制。
从CLI切换到Web管理界面后,在Web的接口列表里核对所有接口状态是否up、速率是否正常、IP是否生效,然后把配置保存一遍,这时防火墙的基础网络层就算打通了。
4. 安全策略设计:规则不是"放行清单",是信任边界
4.1 默认拒绝:先把所有流量关进笼子再开闸
大部分防火墙的跨区域默认策略是拒绝,但也有一些设备默认放行所有跨域流量,尤其是那些强调"易用性"的产品。无论设备默认是什么,上线前务必手动确认默认策略行为,最好在策略列表底部加一条全拒绝的兜底规则,匹配顺序在最后,动作是拒绝,日志开启。
为什么要这么做?因为如果你配好了接口IP但没有配安全策略,设备处于放行一切的状态,防火墙就成了一张白纸,没有安全价值。我自己做项目时有一个习惯:先把所有流量关进笼子,再一条一条往开放行,这样你清楚知道暴露了哪些服务、基于什么理由放行。
全程拒绝的兜底规则是一张安全网。某天你删除了一条策略,或者某条策略的对象写错了,兜底规则能拦住不该放的流量,并且日志里能看出来被拦截的记录,便于你发现规则问题和攻击尝试。
4.2 规则匹配顺序与策略对象设计:写规则前先想清楚源、目的、服务、动作
策略从上到下逐条匹配,匹配即执行,不再往后匹配。所以规则的顺序就是优先级顺序,越具体的规则越要放在前面,兜底拒绝规则放最后。
一条完整的安全策略至少包含五个维度:源区域、目的区域、源地址、目的地址、服务(端口/协议)。条件越多,越精确,安全性和可读性越好。命名规范特别重要,我推荐统一格式:Allow_源区域到目的区域_服务_备注,比如Allow_Trust_to_DMZ_HTTP_Web、Allow_Untrust_to_DMZ_HTTPS_Web。规则多起来之后,一个清晰的命名能让你在几十上百条策略中快速定位,而不是点开一条看半天才想起这条是干嘛的。
地址对象和服务对象要单独创建。不要把一条规则里的源地址直接填一个IP段,而应该先创建地址对象并命名,比如object network Finance-Segment,然后在规则里引用。这样做的好处是,当网段调整时只需要改对象,不用改策略。
服务对象同理,如果有非标端口,务必在服务对象备注里标明用途,比如"OA系统HTTP端口8080",否则三个月后没人看得懂这条规则为什么开放8080。
4.3 有状态防火墙的流量方向:回复流量到底要不要单独放行
有状态防火墙会记录会话状态,内网主动访问外网发起的连接,其回复报文会自动允许通过,不需要单独配置反向规则。这是大多数人的认知,也基本正确,但有几个细节容易忽略。
外网主动访问内网或DMZ的服务时,必须配置入方向策略。比如外网用户访问公司官网,规则是Allow_Untrust_to_DMZ_HTTPS_Web,这条规则不仅放行了入方向的请求,有状态机制也自动放行了DMZ服务器回给外网的响应流量,所以不需要再配一条DMZ到Untrust的放行。
但如果存在DMZ服务器主动访问内网资源的情况,比如DMZ的应用服务器需要连接内网数据库,那就需要单独配置Allow_DMZ_to_Trust_DB_PORT这条策略。这个方向很多人会漏,等业务上线后发现数据库连不上,又花半天时间排查,其实原因就是少了一条策略。
还有Local区域的问题。防火墙自身发起的访问(NTP同步、DNS查询、日志外发等)属于Local区域与其他区域的交互,有些厂商默认允许Local发起会话,有些则默认拒绝。如果发现防火墙自身无法NTP同步或无法ping通外网,检查Local区域的安全策略。
4.4 NAT与安全策略的搭配:源NAT、目的NAT的配置误区
NAT与安全策略是配套的,顺序因厂商而异,但逻辑都是通的:内网访问外网时,源地址被转换成公网IP,这叫源NAT(或出接口NAT);外网访问内网服务时,目的公网IP和端口被转换成内网服务器IP和端口,这叫目的NAT(或端口映射、DNAT)。
源NAT最常用的场景是内网所有用户共享一个(或几个)公网IP上外网,在华为设备上就是配置一个NAT策略,源区域Trust,源地址内网网段,目的区域Untrust,转换方式为出接口地址或地址池。我见过不少人在源NAT的目的地址上写了特定网段,导致其他外网IP访问不了,实际上大部分场景源NAT的目的地址应该是任意(any),除非有特殊的分流需求。
目的NAT的配置误区更多。典型错误一:做了DNAT映射但忘配安全策略。DNAT负责把公网IP:端口转换成内网服务器IP:端口,但流量能不能通过防火墙,还要看安全策略是否放行。所以配置完DNAT后,务必确认有一条对应的入方向策略:源Untrust、目的DMZ、服务为映射后的端口。典型错误二:目的NAT的映射端口和服务策略的端口不是同一个,比如DNAT把公网8080映射到内网80,安全策略里如果只放了8080而没有放80,流量还是会被拦。
验证NAT是否生效,看会话表最直接。华为设备用display firewall session table,能看到转换前后的地址对,如果会话表里源地址没有转换,说明源NAT策略没有命中。
5. 规则上线的必经之路:自检、灰度与回程
5.1 策略上线的自检清单:对象、服务、时间段逐项核对
规则写好后不要急着点提交,先做一轮自检。我的习惯是逐条检查以下内容:地址对象是否精确到最小网段,而不是随手写了/0这种巨大范围;服务对象是否是业务必需的最小端口集合;时间段是否与业务时间匹配(比如财务系统只允许工作时间访问);规则日志开关是否开启;规则放置顺序是否符合从具体到宽泛的原则。
特别提醒:地址对象里的"精确"不等于"最小化到单个IP",而对于内部服务器地址,建议单独定义对象,不要跟终端网段混在一起。服务对象方面,能只开80就不要开8080-8090的区间,区间越大暴露面越大。
时间段的配置也很重要,企业级防火墙支持基于时间的策略,比如"允许市场部在9:00-18:00访问视频网站",其他时间拒绝。这个功能在行政管理上很有用,但配置时要注意时区,曾有人在整点小时上差了一个小时,导致策略生效时间和预期不符。
5.2 灰度验证:拿一小段真实流量先探路
策略全量上线前,建议做灰度验证。如果内网有测试VLAN或测试设备,先把策略的源地址限制为测试网段,确认业务正常后再扩到全段。
没有测试环境的,可以选一个不那么重要的业务或某一组特定源IP先做验证。比如先把内网到DMZ的Web服务策略放开给IT部门网段,确认访问正常、功能完整、日志正常记录后,再扩大到全体员工网段。这个方法能有效降低一次性全量放行带来的风险,万一策略有问题影响范围也是可控的。
灰度期间一定要开着日志看实时命中情况。如果规则被大量命中且业务正常,说明放行策略没问题;如果业务异常,优先看会话表里是否建立了会话,被拒绝了是哪个策略拦截的。这些数据能让你在问题扩大前尽早发现并调整。
5.3 最容易翻车的三个点:回程路由、双向主动性、MTU
回程路由是外网访问DMZ场景里最容易被忽略的环节。防火墙配置了DNAT和安全策略,但内网服务器的网关如果指向的是核心交换机而不是防火墙,回复流量就会走交换机路由出不去了,表现为从外网访问不通,但从防火墙能看到会话建立又快速消失。排查方法是从DMZ服务器上traceroute到外网,看第一跳是哪台设备。正确做法是把DMZ服务器的网关指向防火墙DMZ接口地址,或者在服务器上配置指向防火墙的静态路由。
双向主动性前面提过,就是数据流向不是单向的,而是两个方向都有主动连接。如果业务存在双向主动发起连接,需要同时配置两个方向的策略,不要以为有状态防火墙会自动处理。一个典型场景是应用服务器主动连接数据库服务器,即使它们在同一区域,但跨区域访问时就涉及两条策略。
MTU问题在PPPoE场景很常见,但固定专线场景偶尔也会遇到。表现是某些网站或应用无法打开,ping小包正常,加大包不通。此时检查WAN口MTU是否是1500,如果是PPPoE拨号就必须改成1492;如果是固定专线,确认运营商线路MTU是否有限制。最稳妥的做法是在防火墙上开启TCP MSS钳制,让TCP报文大小自动适配链路MTU。
6. 上线验证与日常运维:配置完只是开始
6.1 验证矩阵:四个方向逐项打勾
规则全部上线后,最后做一轮完整的连通性验证。我的验证矩阵固定包含四个方向:
| 方向 | 测试内容 | 预期结果 |
|---|---|---|
| 内网→外网 | 内网终端访问公网HTTP/HTTPS | 可正常打开网页,所有流量经防火墙源NAT |
| 内网→DMZ | 内网终端访问DMZ区Web服务 | 可访问,走Trust to DMZ策略 |
| 外网→DMZ | 外网访问DMZ映射的公网IP:端口 | 可访问,走DNAT和Untrust to DMZ策略 |
| 管理口→防火墙 | 运维PC远程SSH/HTTPS管理防火墙 | 可登录,仅允许运维网段来源 |
每个方向测试时,同时打开防火墙的会话表和日志窗口,逐条确认策略命中情况。如果某个方向不通,按"物理链路→路由→NAT→策略"的顺序逐层排查,大部分问题出在路由或策略上,但别忽视最底层的物理链路。
6.2 日志与会话表:防火墙"说实话"的地方
防火墙的日志是排障的第一手资料。规则上线时务必开启关键规则日志,尤其是Deny规则的日志,这样当有异常访问被拦截时你能第一时间在日志里看到来源IP和目的端口。如果没有开日志,被拦截的流量相当于悄无声息消失,要排查攻击或误拦会非常被动。
会话表能告诉你流量实际经过防火墙时的具体转换情况。用display firewall session table可以看到每个会话的五元组信息,包括转换前后的地址。当某业务不通而你怀疑是NAT问题时,看会话表是最快的确认方式。如果会话表里压根没有这个业务流,说明流量没有到达防火墙,需要检查前面链路。
日志建议做外发,配置Syslog服务器把防火墙日志实时同步到集中日志平台,因为防火墙本地存储空间有限,日志轮转很快,事后追溯困难。如果企业没有集中日志平台,至少把日志级别调到告警和错误,把重要Deny日志单独保留。
运维中还有一个细节:策略变更后检查会话表里是否有存量会话还在走旧策略,防火墙有时不会立刻销毁已有会话,导致变更后旧会话还存活几分钟到几十分钟不等。遇到这种问题,清一下并发会话或等会话自然老化,不要误判为配置没生效。
6.3 配置备份、回滚与变更流程:防火墙运维的底线
防火墙配置到可用状态后,第一时间做配置备份。备份方式可以是通过Web界面导出配置文件,也可以命令行display current-configuration重定向保存,再上传到FTP/TFTP服务器。注意备份文件要保存多个版本,不要用新备份覆盖旧备份,这样回滚时有可选择的历史版本。
配置回滚的场景并不少见:一次策略变更后业务异常,需要快速回到变更前状态。如果你有变更前的配置文件,恢复起来很快;如果没有备份,只能手工一条条改回去,那种压力我经历过,记住:任何变更前先备份,再变更。
日常变更流程建议固化下来:提交变更申请→评审变更影响范围→申请变更窗口→备份当前配置→执行变更→验证业务→更新配置记录。哪怕只有你一个人管防火墙,也建议按这个流程走,因为你不可能保证每次变更都一次成功。验证环节最容易被人跳过,但恰恰是最不能省的,尤其是变更涉及NAT或路由时。
6.4 持续运营的另一个视角:策略定期Review与收敛
防火墙上线不是终点,策略成为"僵尸规则"的速度比你想象中快。很多企业三年五年没清理过防火墙策略,里面还躺着上上个项目的临时放行规则,这个隐患比配置错一条规则更可怕,因为根本没人知道这些规则还在放行什么流量。
我的习惯是每季度做一次策略Review:从日志里拉出每条规则的命中次数,连续90天零命中的规则标记为待确认,与业务方核对后删除或降级为注释;确认仍在使用的规则,更新备注里的业务用途和负责人信息。这个习惯能让策略库保持清爽,也能在等保检查或安全审计时给你省掉大量解释成本。
配合策略收敛,同时做账号Review:确认每个管理员账号的使用状态和权限范围,离职员工的账号及时吊销,权限遵循最小够用原则。
