防火墙--NAT技术,基于源NAT,NAT服务器,双向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服务器

查看会话表是否相互转换成功

相关推荐
睡觉的时候不会困1 分钟前
基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
运维·nginx
@半良人38 分钟前
Jenkins流水线部署+webhook2.0
运维·jenkins
瀚高PG实验室1 小时前
CentOS 8 安装HGDB V4.5 psql命令执行报错
linux·运维·centos·瀚高数据库
chaofan9801 小时前
AI驱动的浏览器自动化革命:Claude Code + BrowserCat MCP深度实践指南
运维·自动化·claude code
蝶恋舞者2 小时前
怎样让阿里云服务器(centos)有界面
服务器·阿里云·centos
Fireworkitte3 小时前
DevOps 详解
运维·devops
平生不喜凡桃李3 小时前
Linux 线程概念与控制
java·linux·运维
Lovyk3 小时前
Linux网络管理
服务器·网络·php
无敌的牛4 小时前
Linux重定向的理解
linux·运维·服务器
java叶新东老师4 小时前
docker in docker - 在docker容器中使用宿主机的docker
linux·运维·flink