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

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

相关推荐
BugShare3 分钟前
告别来回切换,Navop:一站式整合数据库、SSH、终端与 AI 的开发运维工作台
运维·数据库·ssh
奈斯先生Vector16 分钟前
从“能调用”到“可替换”:Coze 多模型 API 编排层设计指南
linux·运维·人工智能·ubuntu·平面·ios
FII工业富联科技服务21 分钟前
GW级AI数据中心怎么建?Omniverse、CFD、液冷与BMS技术路径拆解
服务器·人工智能·算法·能源·制造
技术不支持24 分钟前
wsl 离线安装 Debian 11, Debian 12等指定版本
运维·debian
Databuff27 分钟前
使用Pinpoint作分布式链路跟踪系统
运维·分布式·运维开发·开源软件
李少兄29 分钟前
Linux 服务器从零部署 kkFileView 完全指南(Docker 方案)
linux·服务器·docker
小张同学a.31 分钟前
OpenStack 私有云实战 3—— Neutron 网络服务与 Dashboard 控制台部署
linux·运维·服务器·openstack
味悲36 分钟前
HAProxy 负载均衡实战:从环境搭建到七层/四层/HTTPS 全解析
运维·https·负载均衡
云飞云共享云桌面1 小时前
机械设计研发成本优化:怎样用一台高性能服务器替代 10 台 SolidWorks 工作站?
大数据·运维·服务器·汽车·制造
星云API技术支持1 小时前
企业微信二次开发:控制台回调预览与服务器Webhook如何配合
服务器·github·企业微信