防火墙--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服务器

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

相关推荐
厨 神3 分钟前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
Karoku0667 分钟前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
geek_Chen019 分钟前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
(⊙o⊙)~哦40 分钟前
linux 解压缩
linux·运维·服务器
最新小梦2 小时前
Docker日志管理
运维·docker·容器
鸡鸭扣3 小时前
虚拟机:3、(待更)WSL2安装Ubuntu系统+实现GPU直通
linux·运维·ubuntu
友友马3 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
千禧年@3 小时前
微服务以及注册中心
java·运维·微服务
重生之我在20年代敲代码3 小时前
HTML讲解(一)body部分
服务器·前端·html
清水白石0084 小时前
C++使用Socket编程实现一个简单的HTTP服务器
服务器·c++·http