☰
思科ASA与PIX防火墙配置手册:接口、NAT与AAA实战指南
2026/10/5 4:36:23 网站建设 项目流程

简介:这份PDF文档聚焦思科ASA与PIX防火墙的配置方法,面向网络工程师、安全运维人员及备考思科认证的学习者,帮助读者系统掌握两款经典防火墙的CLI操作与配置逻辑。内容涵盖用户接口(Console、Telnet、SSH、ASDM)、防火墙许可类型、初始setup配置、接口命名与安全等级、IP地址分配(静态、DHCP、PPPoE)等核心模块,并对比了PIX 6.x与7.x、FWSM在命令语法上的差异,适合需要查阅命令参考或梳理配置思路的读者。资源包内仅含1个PDF文件,大小约133KB,轻量便携,便于随时翻阅。目前已有173人学习,说明其在网络技术圈内具备一定参考价值。读者可从中获取接口配置、许可管理、连接性设置等实操要点,并借助命令对比快速定位不同平台下的正确写法,适合作为日常配置与排错时的案头速查资料。

1. 从一台 ASA 的 console 口说起:这份手册能帮你省下多少试错时间

手里拿到一台二手 ASA 5510,或者机房角落里那台还在跑的 PIX 525,第一件事是什么?不是急着配 NAT,也不是先写 ACL,而是老老实实插上 console 线,用 9600-8-N-1 的参数连上去,看看它到底跑的是 6.x 还是 7.x。这个动作听起来简单,但版本差异直接决定了后面所有命令的写法——6.x 全局配置一把梭,7.x 改成了 IOS 风格的全局加子模式,连nameif和security-level都从一条命令拆成了两条。这份《思科 ASA 和 PIX 防火墙配置手册》的价值就在这儿:它把两个大版本、两种硬件形态(独立设备与 FWSM 模块)的命令差异摊开放在一起,让你不用在 Cisco 文档库里来回跳转。适合谁看?手头有存量 ASA/PIX 设备要维护、准备考安全方向认证、或者单纯想搞明白防火墙接口安全等级和 NAT 控制逻辑怎么配合的人。它不是一本读完就能精通防火墙的书,但它是一本你配置到一半卡住时,能快速翻到对应章节找到命令格式的参考。

2. 接口、安全等级与路由:把流量放行的地基打对

2.1 接口命名与安全等级:为什么你的 ACL 明明写了却不生效

很多人第一次配 ASA 会翻车在一个地方:ACL 写得好好的,access-group也绑了,但流量就是不通。十有八九是接口的nameif和security-level没配对。防火墙不是路由器,它的接口必须同时具备三个属性才能干活:硬件 ID、接口名、安全等级。硬件 ID 用show version能看到,比如Ethernet0/0、Ethernet0/1;接口名是你自己起的,比如inside、outside、dmz;安全等级是 0 到 100 的数字,数字越大越可信。

PIX 6.x 和 7.x 在这块的写法完全不同。6.x 一条命令搞定:

! PIX 6.x 命名接口并指定安全等级 nameif ethernet0 outside security0 nameif ethernet1 inside security100

7.x 和 ASA 则要先进入接口配置模式,再分别设置:

! ASA/PIX 7.x 接口配置流程 interface Ethernet0/0 nameif outside security-level 0 ! interface Ethernet0/1 nameif inside security-level 100

逻辑说明:7.x 把接口的物理属性(速率、双工、shutdown)和逻辑属性(名字、安全等级、IP)都收在interface子模式下,改起来更清晰,但前提是你得先interface进去。参数上,security-level的取值范围是 0 到 100,inside一般给 100,outside给 0,dmz给 50 左右。这里有个容易忽略的点:从 7.x 和 FWSM 2.x 开始,不同接口可以配相同的安全等级,但必须在全局模式下加一条same-security-traffic permit inter-interface,否则同等级接口之间默认不通。这个特性在做双 ISP 接入或者多 DMZ 场景时很有用,但忘了加那条全局命令就会一直排查 ACL,属于典型的血泪经验。

FWSM 模块的情况更特殊,它没有物理接口,所有接口都是逻辑 VLAN 接口。在 Catalyst 6500 上要先划 VLAN 组,再把模块和 VLAN 组关联,最后 session 进去配置:

! Catalyst 6500 上为 FWSM 分配 VLAN Switch(config)# firewall vlan-group 1 100,200,300 Switch(config)# firewall module 3 vlan-group 1 Switch# session slot 3 processor 1

进去之后,接口名就是vlan100、vlan200这种格式。如果你不知道这个前置步骤,直接 session 进去会发现一个接口都没有,这不是模块坏了,是 VLAN 没分配。

2.2 路由与反向路径转发:防欺骗的第一道闸

接口配好之后,下一步是让防火墙知道往哪转发。静态路由的写法在 6.x 和 7.x 里基本一致:

! 配置默认路由,gateway_ip 是下一跳 route outside 0.0.0.0 0.0.0.0 203.0.113.1

参数说明:第一个参数是接口名,第二个和第三个是目标网络和掩码,第四个是下一跳地址,可选的metric是管理距离,默认 1。如果你有多条路径,可以用不同的 metric 做浮动路由。

但比路由更值得先开的是反向路径转发检查:

! 在 outside 接口启用 uRPF,防止源地址欺骗 ip verify reverse-path interface outside

这条命令的逻辑是:防火墙收到一个包,会查路由表看返回源地址的路径是不是从同一个接口出去的。如果不是,直接丢弃。这能挡掉大量伪造源 IP 的攻击流量。注意它和 ACL 的执行顺序——uRPF 在 ACL 之前生效,所以如果你发现某些合法流量被丢了,先检查路由表是不是不对称。

OSPF 和 RIP 的配置在这份手册里也有覆盖。RIP 只支持被动模式,也就是只收不发:

! 接口只监听 RIP 更新,不发送 rip inside passive version 2

OSPF 的配置和 IOS 类似,但要注意default-information originate这条命令,它让防火墙把默认路由宣告进 OSPF 域:

! OSPF 进程中宣告默认路由 router ospf 1 network 10.0.0.0 255.0.0.0 area 0 default-information originate metric 10 metric-type 1

参数上,metric-type 1表示外部路由在 OSPF 域内传播时 metric 会累加,type 2则不累加,默认是 2。选哪个取决于你的网络设计,一般做默认路由下发用 type 1 更直观。

2.3 DHCP 服务与中继:别让地址分配成了单点故障

ASA 可以当 DHCP 服务器,也可以做中继。当服务器用的配置:

! 定义地址池,最多 256 个客户端 dhcpd address 192.168.1.100-192.168.1.200 inside dhcpd dns 8.8.8.8 114.114.114.114 dhcpd lease 3600 dhcpd enable inside

参数说明:dhcpd address的地址范围最多 256 个,lease单位是秒,默认 3600。dhcpd ping_timeout是分配前先 ping 一下看地址有没有被占用,默认不开,开了会拖慢分配速度但能避免冲突。

做中继的配置:

! 定义真实 DHCP 服务器,最多 4 个 dhcprelay server 10.1.1.10 inside dhcprelay enable outside dhcprelay setroute outside

setroute参数让中继把 DHCP 服务器返回的默认网关也一并下发给客户端。验证命令用show dhcprelay statistics,能看到中继了多少包。这里有个坑:如果 DHCP 服务器和客户端在同一个网段,中继是不生效的,因为广播包不会跨接口转发,必须确保服务器在另一个网段。

3. 管理面配置:SSH、ASDM 与配置文件操作

3.1 SSH 与 ASDM:从命令行到图形界面的两条路

SSH 的配置在 6.x 和 7.x 里差别不小。6.x 要先配域名,再生成 RSA 密钥,然后保存:

! PIX 6.x 启用 SSH domain-name example.com ca generate rsa key 1024 ca save all ssh 192.168.1.0 255.255.255.0 inside ssh timeout 30

7.x 和 ASA 的密钥生成命令变了,而且会自动保存:

! ASA/PIX 7.x 启用 SSH domain-name example.com crypto key generate rsa general-keys modulus 2048 ssh 192.168.1.0 255.255.255.0 inside ssh timeout 30

参数上,modulus建议至少 2048 位,1024 位在现在的安全要求下已经偏弱。ssh timeout默认 5 分钟,生产环境可以设短一点,比如 10 到 15 分钟,避免空闲会话占着管理连接。

ASDM 的配置比 PDM 多一步指定镜像位置:

! 指定 ASDM 镜像并启用 HTTPS 访问 asdm image flash:/asdm-782.bin http 192.168.1.0 255.255.255.0 inside http server enable

然后浏览器访问https://<防火墙接口IP>/admin。注意http命令里的 IP 段是允许访问 ASDM 的客户端网段,不是防火墙自己的地址。如果配错了,你会看到连接被拒绝但不知道原因。验证 ASDM 镜像有没有加载成功,用show asdm image。

3.2 配置文件管理:多启动配置与自动更新

7.0 以后支持多个启动配置文件,这在做版本回滚时特别有用:

! 指定启动配置文件 boot config flash:/startup-backup.cfg ! 查看当前启动配置 show startup-config ! 保存运行配置到启动配置 copy running-config startup-config

6.x 的write memory和write terminal在 7.x 里还能用,但更推荐copy命令,因为它的行为更明确。write standby在 failover 场景下用来强制同步配置到备用设备,这个命令在 6.x 和 7.x 里都有,但 7.x 的 failover 机制更复杂,建议配合show failover一起看状态。

自动更新服务器(Auto Update)是个容易被忽略的功能,它让防火墙定期从 HTTP 服务器拉取配置:

! 配置自动更新 auto-update device-id hostname auto-update server http://10.1.1.100/autoupdate/AutoUpdateServlet

这个功能适合分支网点设备统一管理,但前提是网络里有一台能提供 AutoUpdateServlet 的服务器。如果只是单台设备,手动copy更省事。

3.3 会话管理与崩溃信息:谁在连你的防火墙

查看当前登录会话:

! 查看 telnet 会话 who ! 查看 SSH 会话 show ssh sessions ! 查看 ASDM 会话 show pdm sessions

清除会话用kill <telnet-id>、ssh disconnect <session-id>、pdm disconnect <session-id>。这些命令在排查“谁改了配置”或者“管理连接数满了”的时候很管用。

崩溃信息默认可能没开,建议手动启用:

! 启用崩溃信息保存 crashinfo save enable ! 查看崩溃信息 show crashinfo

FWSM 模块用的是crashdump而不是crashinfo,命令不一样,别搞混了。崩溃信息文件会存在 flash 里,如果 flash 空间紧张,记得定期clear crashinfo清理。

4. 用户管理与 AAA:本地认证和服务器认证怎么选

4.1 本地用户数据库:小规模场景够用

本地认证的配置很直接:

! 创建本地用户,指定权限等级 username admin password Str0ngP@ss privilege 15 ! 启用本地认证 aaa authentication ssh console LOCAL aaa authentication enable console LOCAL

参数说明:privilege 15是最高权限,可以执行所有命令。aaa authentication enable console LOCAL这条命令让用户用自己的密码进入 enable 模式,而不是所有用户共用一个 enable 密码。这比默认行为安全得多——默认情况下,任何用户认证通过后,只要知道 enable 密码就能提权,而 enable 密码往往是共享的。

授权命令的特权等级可以细调:

! 把 show 命令的权限降到 5 级 privilege show level 5 command show running-config

这样低权限用户只能看部分 show 输出,不能改配置。验证当前命令的权限等级用show privilege,7.x 用show run all privilege。

4.2 AAA 服务器组:TACACS+ 和 RADIUS 的配置差异

当用户规模超过十几个,本地数据库就不好维护了。这时候要上 AAA 服务器:

! 定义 TACACS+ 服务器组 aaa-server TACACS-GROUP protocol tacacs+ aaa-server TACACS-GROUP host 10.1.1.50 key SecretKey123 ! 启用认证和授权 aaa authentication ssh console TACACS-GROUP LOCAL aaa authorization command TACACS-GROUP LOCAL

参数说明:key是共享密钥,必须和服务器端一致。LOCAL作为备选方案放在最后,意味着服务器不可达时回退到本地认证。这个回退机制很重要,否则 AAA 服务器一挂,你就彻底登不上防火墙了。

RADIUS 的配置类似,但协议关键字换成radius。7.x 还支持 LDAP、Kerberos、NT 等协议,但 TACACS+ 在命令授权方面更细粒度,RADIUS 在用户认证方面更通用。选哪个取决于你现有的认证基础设施。

服务器失败阈值可以调:

! 7.x 在 AAA 服务器组配置模式下设置 aaa-server TACACS-GROUP protocol tacacs+ max-failed-attempts 3

6.x 的写法是aaa-server TACACS-GROUP max-failed-attempts 3,位置不一样,别搞混。

4.3 密码恢复:别等到锁在门外才翻手册

密码恢复的流程在这份手册里有提到,但不同型号和版本的操作差异很大。一般思路是:重启设备,在启动过程中按 Esc 或 Break 进入 ROM Monitor 模式,修改配置寄存器绕过启动配置,然后重新加载。但 ASA 和 PIX 的具体按键时机、寄存器值、后续的password命令恢复步骤都不一样。如果你手头没有 console 线,或者设备在远程机房,密码恢复基本等于要去现场。所以我的习惯是:任何一台防火墙交付前,先把 enable 密码和本地用户密码存进密码管理器,并且确认至少有两个管理员账号可用。

5. 访问控制与 NAT:透明模式和路由模式的分水岭

5.1 透明模式:不配 IP 也能做访问控制

透明模式从 PIX 7.0 和 FWSM 2.2 开始支持,接口不配 IP,工作在二层。进入透明模式:

! 切换到透明模式,会清除当前配置 firewall transparent ! 验证当前模式 show firewall

注意firewall transparent这条命令会清空当前配置,所以切换前一定要备份。透明模式只支持两个接口(inside 和 outside),可以加一个管理接口,但管理接口不能跑用户流量。接口配置和路由模式类似,只是不配 IP:

! 透明模式接口配置 interface Ethernet0/0 nameif outside security-level 0 ! interface Ethernet0/1 nameif inside security-level 100 ! ! 管理地址配在全局 ip address 192.168.1.1 255.255.255.0

MAC 地址表的管理:

! 查看 MAC 地址表 show mac-address-table ! 设置老化时间,单位分钟 mac-address-table aging-time 30 ! 禁止接口学习 MAC mac-learn inside disable

ARP 检查在透明模式里特别重要,因为流量不经过路由,ARP 欺骗更难防:

! 启用 ARP 检查 arp-inspection inside enable flood

flood参数表示对未验证的 ARP 包进行泛洪,no-flood则直接丢弃。生产环境建议用no-flood,但前提是你已经配好了静态 ARP 条目,否则合法流量也会被丢。

5.2 NAT 类型与配置:从静态到 PAT 的选型逻辑

NAT 是防火墙配置里最容易出错的部分。手册里列了六种类型,实际常用的就三种:静态 NAT、动态 NAT、PAT。

静态 NAT 用于外部主动访问内部服务器的场景:

! 把内部 10.1.1.10 映射到外部 203.0.113.10 static (inside,outside) 203.0.113.10 10.1.1.10 netmask 255.255.255.255

参数说明:(inside,outside)是真实接口和映射接口的顺序,别写反了。netmask 255.255.255.255表示只映射这一个地址,如果是网段映射就写对应的掩码。

动态 NAT 用于内部用户出站访问,从地址池里动态分配:

! 定义地址池 global (outside) 1 203.0.113.100-203.0.113.110 ! 内部网段做动态 NAT nat (inside) 1 10.1.1.0 255.255.255.0

PAT 是最常用的出站方式,多个内部地址复用一个外部地址:

! 所有内部地址复用 outside 接口地址 global (outside) 1 interface nat (inside) 1 0.0.0.0 0.0.0.0

nat (inside) 1 0.0.0.0 0.0.0.0表示所有从 inside 出去的流量都做 NAT。这里的1是 NAT ID,必须和global命令的 ID 匹配,否则不生效。这是新手最容易翻车的地方——NAT ID 对不上,配置看起来没问题,但流量就是不通。

连接数控制:

! 限制单个 IP 的最大连接数和 embryonic 连接数 nat (inside) 1 0.0.0.0 0.0.0.0 max_conns 1000 emb_limit 100

max_conns是总连接数上限,emb_limit是半开连接数上限,用来防 SYN Flood。设太小会影响正常业务,设太大起不到防护作用,一般根据实际并发量来调。

6. 几个让我半夜爬起来翻手册的坑

6.1 接口安全等级相同但流量不通

现象:两个接口都配了security-level 50,ACL 也允许了,但流量就是过不去。原因:7.x 和 FWSM 2.x 默认不允许同等级接口互访,必须加全局命令。解决:same-security-traffic permit inter-interface。这条命令加完立即生效,不用重启。

6.2 NAT ID 不匹配导致出站失败

现象:nat和global都配了,show nat也显示有条目,但内部用户上不了网。原因:nat命令里的 ID 和global命令里的 ID 不一致,比如一个写 1 一个写 10。解决:show running-config nat和show running-config global对照检查,确保 ID 完全一致。这个坑我踩过不止一次,后来养成了配完 NAT 先show nat再show global的习惯。

6.3 SSH 密钥生成后无法登录

现象:crypto key generate rsa执行成功,ssh命令也配了,但客户端连接被拒绝。原因:6.x 里生成密钥后必须ca save all,否则重启后密钥丢失;7.x 虽然自动保存,但如果domain-name没配,密钥生成会失败但报错信息不明显。解决:先show crypto key mypubkey rsa确认密钥存在,再检查ssh命令的网段和接口名是否正确。

6.4 透明模式切换后配置全丢

现象:执行firewall transparent后,原来的接口 IP、路由、NAT 配置全没了。原因:路由模式和透明模式的配置结构不兼容,切换时系统会清空配置。解决:切换前用copy running-config startup-config备份,或者copy running-config tftp导出到外部服务器。切换后重新配置,不能指望配置自动转换。

6.5 FWSM 模块 session 进去看不到接口

现象:在 6500 上session slot 3 processor 1进去后,show interface一个接口都没有。原因:VLAN 组没有分配给 FWSM 模块,或者分配的 VLAN 在交换机上不存在。解决:先在交换机上确认 VLAN 已创建,然后firewall vlan-group分配,再firewall module关联。顺序不能反,VLAN 必须先存在。

7. 从 show 命令到配置审计:一个老手的收尾习惯

配置完防火墙,别急着收工。我一般会走一遍固定的检查流程,这套流程帮我挡掉过好几次半夜被叫起来的事故。第一步,show running-config全量输出,用include过滤关键行:

! 检查所有接口的安全等级和名字 show running-config interface | include nameif|security-level ! 检查 NAT 和 global 的 ID 对应关系 show running-config nat show running-config global ! 检查 ACL 绑定情况 show running-config access-group

第二步,show failover确认双机状态(如果有)。第三步,show resource usage看连接数和资源占用,特别是context模式下每个虚拟防火墙的资源限制有没有触顶。第四步,show crashinfo看有没有历史崩溃记录,如果有,说明设备可能不稳定,要提前安排更换或升级。

这套流程走下来大概五分钟,但能发现八成以上的配置遗漏。从那以后我每次交付防火墙,不管多急,都强制走一遍show run加show failover加show resource usage的组合,宁可晚半小时下班,也不想半夜被电话叫醒。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询