文章目录
- 防火墙--NAT技术
- 一、基于源NAT
- 二、基于服务器的NAT
-
-
- [多出口场景下的NAT Server](#多出口场景下的NAT Server)
-
- 三、双向NAT
防火墙--NAT技术
基于源NAT :用于将内部网络的私有IP地址转换为公共IP地址,以便内部设备能够访问外部网络
基于NAT服务器 :NAT服务器负责处理网络地址转换的所有请求,通常用于大型网络环境。
双向NAT :允许内部设备与外部设备之间的双向通信。
NAT ALG(应用层网关):NAT ALG用于处理特定应用协议(如FTP、SIP等)中的地址和端口信息,以确保这些协议在NAT环境中正常工作。
一、基于源NAT
方式:
- NAT No-PAT :一对一的地址转换,不转换端口,需要一个内网ip对应一个公网ip地址。
- NAPT:一对多的地址转换,需要转换端口,适用于一个公网ip对应多个私网ip。
- 出接口地址(Easy-ip)方式:一对多的地址转换,可转换多端口,适用于该接口是动态获取的。
- Smart NAT:一对一与一对多的地址,预留一个公网地址进行NAPT方式,其他公网IP地址进行NAT No-PAT转换,适用于个别时候突增的上网用户。
- 三元组NAT:将私网源IP地址与端口号转换为固定的公网IP地址和端口,解决NAPT随机转换IP地址和端口问题,用于外部主动访问内部流量:P2P。
NAT No-PAT
配置NAT地址
cpp
#
nat address-group 1 0
mode no-pat local ##无端口地址转换模式
section 0 202.1.1.2 202.1.1.3
#
配置NAT策略
cpp
#
nat-policy
nat-policy
rule name policy1_ftp
source-address 192.168.1.0 mask 255.255.255.0
destination-address 192.168.2.1 mask 255.255.255.255
service ftp
action source-nat address-group ftp
#
配置安全策略
cpp
#
security-policy
rule name policy1-2
source-address 192.168.1.0 mask 255.255.255.0
destination-address 192.168.2.1 mask 255.255.255.255
destination-address 192.168.2.2 mask 255.255.255.255
service ftp
service http
action permit
#
启动FTP服务器
客户端登录ftp服务器
查看server-map表
生成了正向和反向两条表项,两个私网地址对应两个公网地址。这时其他私网地址就不能再访问ftp服务器
配置黑洞路由,防止路由环路
cpp
[USG6000V1]ip route-static 202.1.1.2 32 NULL 0
[USG6000V1]ip route-static 202.1.1.3 32 NULL 0
NAPT
配置地址池
cpp
#
nat address-group http 1
mode pat ##端口地址转换模式
section 0 202.1.1.4 202.1.1.5
#
配置NAT策略
cpp
#
nat-policy
rule name policy2_http
source-address 192.168.1.0 mask 255.255.255.0
destination-address 192.168.2.1 mask 255.255.255.255
service http
action source-nat address-group http
#
查看web会话表信息
两个私网地址公用了一个公网地址,但使用的不同端口号。这样就不要担心转换冲突的问题。NAPT不会生成server-map表。
配置黑洞路由,防止路由环路
cpp
[USG6000V1]ip route-static 202.1.1.4 32 NULL 0
[USG6000V1]ip route-static 202.1.1.5 32 NULL 0
出接口地址方式
配置NAT策略
cpp
#
nat-policy
rule name policy3_easy-ip
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
destination-address 192.168.2.2 mask 255.255.255.255
service ftp
action source-nat easy-ip ##基于接口转换
#
启动ftp服务器和登录ftp服务器
查看ftp会话表信息
在上面中发现两个私网IP地址转换了同一个出接口IP地址(192.168.2.254),但是端口号不同,同样不会生成server-map表。
配置ASPF
cpp
firewall interzone trust untrust
detect ftp
Smart NAT
配置地址池
cpp
#
nat address-group smart_nat 2
mode no-pat local ##无端口地址转换模式
smart-nopat 202.1.1.7 ##预留地址
section 0 202.1.1.6 202.1.1.6
#
配置NAT策略
cpp
#
nat-policy
rule name policy4_smart
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
destination-address 192.168.2.2 mask 255.255.255.255
service http
action source-nat address-group smart_nat
#
启动http服务器和登录http服务器
查看web会话表信息
一个私网地址转换了一个公网地址,而另外两个转换了一个公网地址(预留地址)
,但端口号不同。故说smart-nat 是No-pat和NAPT的结合。
支持查看No-pat的server-map表
配置黑洞路由,防止路由环路
cpp
[USG6000V1]ip route-static 202.1.1.6 32 NULL 0
[USG6000V1]ip route-static 202.1.1.7 32 NULL 0
三元组 NAT
配置NAT地址池
cpp
#
nat address-group san_Yu 3
mode full-cone global ##指定模式为三元组
section 0 202.1.1.8 202.1.1.8
#
配置NAT策略
cpp
nat-policy
rule name policy3_san_Yu
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
destination-address 192.168.2.2 mask 255.255.255.255
service ftp
action source-nat address-group san_Yu
查看会话信息
表示私网地址已经成功转换为公网地址
查看server-map表
三元组模式生成了两条表项,这两条表项中源表项的源地址端口和目的表项的目的端口相同
配置黑洞路由,防止路由环路
cpp
[USG6000V1]ip route-static 202.1.1.8 32 NULL 0
[USG6000V1]ip route-static 202.1.1.9 32 NULL 0
二、基于服务器的NAT
配置NAT Server
cpp
nat server Yong_hu_1 zone Yong_hu_1 protocol tcp global 192.168.100.200 9870 inside 192.168.1.1 80
将服务的私网地址映射成公网地址192.168.100.200:9870
配置了nat server就会自动生成server-map表
Nat server 中192.168.100.200为公网地址,192.168.1.1为私网地址。意思是任意客户段访问192.168.100.200:9870都会转换IP地址和端口为192.168.1.1:80
Nat server Reverse:192.168.1.1访问外部流量时,自动转换为192.168.100.200。将私网地址转换为公网地址。
配置安全策略
cpp
#
security-policy
rule name Yong.hu1_DMZ
source-zone Yong_hu_1
destination-zone dmz
destination-address 192.168.1.1 mask 255.255.255.255
service http
action permit
#
启动web服务器和登录web服务器
端口号一定要写对
成功访问后,查看会话信息
配置路由黑洞防环环路
cpp
[USG6000V1]ip route-static 192.168.100.200 32 NULL 0
多出口场景下的NAT Server
将接口分别加入到不同的安全区域
cpp
#
firewall zone dmz
set priority 50
add interface GigabitEthernet0/0/0
#
firewall zone name Yong_hu_1 id 6
set priority 10
add interface GigabitEthernet1/0/0
#
firewall zone name Yong_hu_2 id 7
set priority 20
add interface GigabitEthernet1/0/2
#
配置带区域的NaT server
cpp
nat server Yong_hu_1 zone Yong_hu_1 protocol tcp global 192.168.100.200 9870 inside 192.168.1.1 www unr-route
nat server Yong_hu_2 zone Yong_hu_2 protocol tcp global 192.168.100.200 9880 inside 192.168.1.1 www unr-route
配置带区域的安全策略
cpp
security-policy
rule name Yong.hu1_DMZ
source-zone Yong_hu_1
destination-zone dmz
destination-address 192.168.1.1 mask 255.255.255.255
service http
action permit
rule name Yong.hu2_DMZ
source-zone Yong_hu_2
destination-zone dmz
destination-address 192.168.1.1 mask 255.255.255.255
service http
action permit
配置路由黑洞
查看server-map表项
配置源进源出,防止流量访问过慢和不能访问的问题
cpp
#
interface GigabitEthernet1/0/0
redirect-reverse next-hop 172.16.1.1
interface GigabitEthernet1/0/2
redirect-reverse next-hop 172.16.2.1
#
单向server-map表项
当在后面添加no-reverse时,server-map表项只会生成生成正向server-map。但是如果私网服务器想要访问外网,就必须在DMZ-Untrust的域间配置源NAT策略
三、双向NAT
双向NAT是源NAT和NAT server的组合,并不是说同时配置了源NAT和NAT server
NAT Server 配置
cpp
nat server ISP_DMZ zone untrust protocol tcp global 192.168.30.30 9890 inside 1
92.168.1.1 80
配置NAT地址池
cpp
#
nat address-group an_unan 0
mode full-cone local
route enable
section 0 192.168.1.100 192.168.1.100
#
配置NAT策略
cpp
#
nat-policy
rule name un_dmz
source-zone untrust
destination-zone dmz
destination-address 192.168.1.1 mask 255.255.255.255
action source-nat address-group an_unan
rule name trust_dmz
配置安全策略
cpp
#
rule name ISP_DMZ
source-zone untrust
destination-zone dmz
source-address 10.0.10.0 mask 255.255.255.0
destination-address 192.168.1.1 mask 255.255.255.255
service ftp
service http
action permit
#
启动web服务器和登录web服务器
查看会话表是否相互转换成功