Cisco ASA防火墙 NAT实验:源NAT+目的NAT(Trust/Untrust双区域,无DMZ)
一、实验拓扑&规划
1.设备与IP清单
| 设备 | 接口 | IP | 安全区域 | 说明 |
|---|---|---|---|---|
| 内网PC | E0 | 10.1.1.2/24 | Trust(安全级别100) | 内网主机,网关:10.1.1.1 |
| Cisco ASA | Inside | 10.1.1.1/24 | Trust(100) | 内网口 |
| Cisco ASA | Outside | 202.1.1.1/24 | Untrust(0) | 外网口 |
| 外网Server | E0 | 202.1.1.2/24 | Untrust(0) | 外网服务器 |
ASA规则:Trust(100)默认可以主动访问Untrust(0),Untrust默认无法主动入Trust
实验两个目标:
1)源NAT(内网PC上网):10.1.1.2访问202.1.1.2,源IP转换成202.1.1.1
2)目的NAT(外网访问内网发布服务):外网访问202.1.1.1:80 → 映射到内网10.1.1.2:80
二、基础接口+安全域配置(ASA8.4+新版命令,现行考试/真机通用)
ios
!1.配置内网inside接口
interface GigabitEthernet0/0
nameif inside
security-level 100
ip address 10.1.1.1 255.255.255.0
no shutdown
!2.配置外网outside接口
interface GigabitEthernet0/1
nameif outside
security-level 0
ip address 202.1.1.1 255.255.255.0
no shutdown
PC配置:IP:10.1.1.2 掩码255.255.255.0 网关10.1.1.1
外网Server:IP:202.1.1.2 掩码255.255.255.0 网关202.1.1.1
三、第一部分:源NAT(内网访问外网,PAT端口复用,最常用上网NAT)
需求:内网10.1.1.0/24网段访问外网,源IP转换成外网接口公网IP202.1.1.1(PAT)
ios
!创建内网地址对象
object-group network IN-LAN
network-object 10.1.1.0 255.255.255.0
!源PAT NAT:内网所有地址出外网转换成outside接口IP
nat (inside,outside) source dynamic IN-LAN interface
验证源NAT
- PC(10.1.1.2) ping 202.1.1.2 通
- ASA查看NAT转换表:
show xlate
现象:转换条目源IP是202.1.1.1,目标202.1.1.2,源NAT完成
原理
源NAT:改变数据包【源IP】,内网主机出网隐藏私网地址,用公网地址和外网通信。
四、第二部分:目的NAT(端口映射/静态目的NAT,外网访问内网服务)
需求:外网Server(202.1.1.2)访问 202.1.1.1 80端口 → ASA把目的IP翻译成内网10.1.1.2 80
目的NAT=端口映射,外网通过公网IP访问内网私网服务器
ios
!定义内网主机对象
object network PC-INSIDE
host 10.1.1.2
!静态目的NAT:outside访问202.1.1.1:80 目的转为10.1.1.2:80
nat (inside,outside) static interface service tcp 80 80
放行外网安全策略(关键!outside默认禁止入站)
ios
access-list OUT-IN permit tcp any host 10.1.1.2 eq www
access-group OUT-IN in interface outside
验证目的NAT
外网Server(202.1.1.2)访问202.1.1.1 80,实际访问到内网10.1.1.2的80服务
show xlate查看目的地址转换记录。
原理
目的NAT:改变数据包【目的IP】,外网不知道内网私网,访问公网IP由防火墙转发至内网真实服务器。
五、命令总结&考点区分
| 类型 | 修改字段 | 作用 |
|---|---|---|
| 源NAT(PAT) | 源IP | 内网上网,隐藏私网 |
| 目的NAT(端口映射) | 目的IP | 外网发布内网服务器 |
六、排错命令
ios
show run nat !查看所有NAT配置
show xlate !查看NAT转换条目
show access-list !查看ACL命中计数
clear xlate !清空NAT表重新测试