NAT网络地址转换
一、为什么需要NAT
NAT技术主要应用是实现大量的私网地址对少量公网地址的转换。保障通信在基础上节约ip地址资源。
私网地址不能在公网中路由,否则将导致通信混乱。
二、NAT的分类
NAT No-PAT:只转换报文的IP地址,不转换端口。
NAPT(PAT):同时转换报文的IP地址和端口。
Easy-IP(特殊的NATPT):同时转换报文的IP地址和端口,转换后的IP地址只能为出接口的IP地址。
NAT-Server:公网地址和私网地址一对一进行映射,用在公网用户访问私网内部服务器的场景
NAT No-PAT 介绍
适用场景:适用于需要上网的私网用户数量少,公网IP地址数量与同时上网的最大私网用户数量基本相同。
“No-PAT” 表示不进行端口转换,所以NAT No-PAT方式只转换IP地址。
例如:NAT地址池为202.100.1.100~202100.1.102,包含三个IP地址,内网又四台机器做NAT转换,则有一台机器无法做NAT地址转换被丢弃
NAT地址池(CLI)
NAT地址池是一些连续的IP地址集合,当来自私网的报文通过地址转换到公网IP时,将会选择地址池中的某个地址作为转换后的地址
NAT地址池中的地址可以是一个公网IP地址,也可以实施多个公网IP地址,一个地址池只能支持配置一个地址段。
创建NAT地址池配的命令为:
nat address-group adress-group-name
section [section-id | section-name] start-adress end-adress
nat-mode { pat | no-pat }
例:
[USG] nat address-group qyt_nat1
[USG-nat-adress-group-qyt_nat1] section 1.1.1.10 1.1.1.15
[USG-nat-adress-group-qyt_nat1] nat-mode pat
配置源NAT,当Trunst区域访问Untrust区域时,原地址转换202.100.1.100/24
NAT No-PAT配置过程
1.配置NAT地址池,地址范围为202.100.100-202.100.1.100.仅一个IP地址,不允许端口转换
2.新建源NAT策略,当trust区域访问untrust区域时,源地址被转换为【Nat_Pat_Pool】地址池中的地址
要针对源地址配置安全策略,则原地址应该是匹配进行NAT转换前的私网地址。
nat-policy
source-zone trust
destination-zone untrust
action nat adress-group Nat_Pat_Pool
4.NAT No-PAT会话表
在Trust区域的Inside_PC上,访问互联网搜索引擎。同在Trust区域的Inside_Server由于NAT地址池不够无法访问untrust区域。
inside_PC测试 和 Inside_Server测试
防火墙上查看会话表项
[FW1] display firewall session table
Current Total Sessions:38
DNS VPN:public-->public 10.1.2.1:6553[202.100.1.100:62553]-->114.114.114.114:53
tcp VPN:public-->public 10.1.2.1:504845[202.100.1.100:50485]-->10.1.11.30:17889
从会表看出,trust区域的地址,已经被转换为NAT地址池中的地址。
中括号 [] 内的是经过地址转换后的IP地址和端口。
display nat-policy all 查看nat地址策略
NAT No-PAT 与 Server-Map 表
CLI配置思路:
第一步:配置地址池
nat adress-group no_pat
section 0 202.100.1.100 202.100.1.103 #地址池的地址可以是一个 ,也可以是多个
nat-mode no-pat #默认pat
第二步:配置NAT策略
nat-policy
rule name no_pat
source-zone trust
destination-zone untrust
action nat adress-group no_pat
第三步:放行安全策略
security-policy
rule name trust_untrust
source-zone trust
destination-zone untrust
source-adress 10.1.2.0 mask 255.255.255.0
action permit
第四步:查看现象
[FW1]display firewall session table
20:49:44 2022/7/19
dns VPN:public-->public 10.1.2.1:49431[202.100.1.100:49431]-->114.114.114.114:53
http VPN:public-->public 10.1.2.2:49179[202.100.1.101:49179]-->202.89.233.101:80
no_pat要产生server-map的条件:需要有流量的触发
[FW1]dsiplay firewall server-map
20:57:38 2022/7/19
server-map 4 time(s)
---------------------------------------------------------
No-Pat,10.1.2.1[202.100.1.100]-> any,Zone:---
Protocol:any(Appro:---),Left-Time:00:12:00,Addr-Pool:0
VPN:public-->public #正向的Server-map
No-Pat Reverse,any->202.100.1.100[10.1.2.1],Zone:untrust
Protocol:any(Appro:---),Left-Time:--:--:--,Addr-Pool:---
VPN:public->public #反向Server-map
---------------------------------------------------------
作用:让外网用户主动发起访问内网,不需要配置目的转换的NAT,但需要配置安全策略放行。
NAT产生的Server-map表不能直产生会话表,而ASPF产生的server-map可以之间产生会话表。
NAPT配置步骤
创建NAT地址池,必须删除原NATcelve1he1NAT地址池重新创建
CIL配置思路
第一步:配置地址池
nat adress-group napt
section 0 202.100.1.100 202.100.1.103 #地址池的地址可以是一个 ,也可以是多个
nat-mode no-pat #默认pat
第二步:配置NAT策略
nat-policy
rule name napt
source-zone untrust
destination-zone untrust
action nat adress-group pat
第三步:放行安全策略
security-policy
rule name trust_untrust
source-zone trust
destination-zone untrust
source-adress 10.1.2.0 mask 255.255.255.0
action permit
第四步:查看现象
在防火墙上查看会话表项
[FW1]display firewall session table nat source global 202.100.1.100
Current Total Sessions: 67
HTTPS VPN: public–>public 10.1.2.1:56527[202.100.1.100:2053]–>180.76.22.32:443
HTTPS VPN: public–>public 10.1.2.2:49522[202.100.1.100:2055]–>180.76.22.32:443
不同的源IP地址弟转换为NAT地址池中的地址,通过端口号来标识不同的会话。
Easy-NAT
Easy-NAT是一种特殊的NAPT,只使用出接口地址进行转换。
CLI配置
第一步:配置
nat-policy
21:26:41 2022/09/20
nat-policy
rule name napt
source-zone trust
destination-zone untrust
action nat easy-ip
第二步:检查
display firewall session table
21:27:10 2022/07/20
Current Total Sessions:2
https VPN:public–> public 192.168.0.100:49824–>192.168.0.10:8843
https VPN:public–> 10.1.2.1:49793[202.100.1.100:49793]–>54.191.53.147:443