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

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

相关推荐
wanhengidc2 分钟前
云手机可以息屏挂手游吗?
运维·网络·安全·游戏·智能手机
一只小白菜~20 分钟前
实战记录:H3C路由器IS-IS Level-1邻居建立与路由发布
运维·网络·计算机网络·智能路由器
Britz_Kevin26 分钟前
从零开始的云计算生活——第五十九天,基于Jenkins自动打包并部署Tomcat环境
运维·jenkins·生活
今晚务必早点睡34 分钟前
从零到上线:Docker、Docker Compose 与 Runtime 安装部署全指南(含实战示例与应用场景)
运维·docker·容器
snowfoootball1 小时前
(自用)Linux 常用命令自查文档
linux·运维·服务器
Web极客码1 小时前
在Ubuntu 20.04的服务器上查找的服务器的IP地址
服务器·tcp/ip·ubuntu
墨染 殇雪1 小时前
webshell及冰蝎双击无法打开?
运维·服务器·webshell·webshell管理工具
Chukai1231 小时前
Windows 和 Linux 系统下修改防火墙机制开放端口
linux·运维·windows
逻辑羊驼2 小时前
VSCode+MobaXterm+X11可视化界面本地显示
运维·服务器·ubuntu·3d
fendouweiqian2 小时前
nginx 反向代理使用变量的坑
运维·nginx