网络地址转换(NAT)技术

网络地址转换原理

NAT技术的基本原理

NAT技术通过对IP报文头中的源地址或目的地址进行转换,可以使大量的私网IP地址通过共享少量的公网IP地址来访问公网。
NAT是将IP报文报头中的IP地址转换为另一个IP地址的过程,一般的NAT转换设备都维护着一张地址转换表,所有经过NAT转换设备(处于内部网络和外部网络的连接处,常见的设备有:路由器、防火墙等)并且需要进行地址转换的报文,都会通过这个表做相应的修改。地址转换的机制分为如下两个部分:

1、内部网络主机的IP地址和端口转换为NAT转换设备外部网络地址和端口。
2、外部网络地址和端口转换为NAT转换设备内部网络主机的IP地址和端口。
也就是:
<私有地址+端口>与<公有地址+端口>之间的相互转换。

NAT产生背景

  • IPv4地址日渐枯竭
  • IPv6技术不能立即大面积替换
  • 各种延长IPv4寿命的技术不断出现,NAT就是其中之一。

NAT的优缺点

  • 优点:
    • 实现IP地址复用,节约宝贵的地址资源。
    • 地址转换过程对用户透明。
    • 对内网用户提供隐私保护。
    • 可实现对内部服务器的负载均衡。
  • 缺点:
    • 网络监控难度加大。
    • 限制某些具体应用

NAT分类

根据应用场景可分为:

  • 源NAT(Source NAT):用来使多个私网用户能够同时访问Internet。
    • 地址池方式:采用地址池中的公网地址为私网用户进行地址转换,适合大量的私网用户访问Internet的场景。
    • 出接口地址方式(Easy IP):内网主机直接借用公网接口的IP地址访问Internet,特别适用于公网接口IP地址是动态获取的情况。
  • 服务器映射:用来使外网用户能够访问私网服务器
    • 静态映射(NAT Server):公网地址和私网地址一对一进行映射,用在公网用户访问私网内部服务器的场景。
  • 目的NAT:用来使手机上网的业务流量送往正确的WAP网关。

源NAT技术

基于源IP地址的NAT是指对发起连接的IP报文头中的源地址进行转换。它可以实现内部用户访问外部网络的目的。通过将内部主机的私有地址转换为公有地址,使一个局域网中的多台主机使用少数的合法地址访问外部资源,有效的隐藏了内部局域网的主机IP地址,起到了安全保护的作用。

源NAT地址池方式

  • 不带端口转换的地址池方式(no-pat)
    通过配置NAT地址池来实现,NAT地址池中可以包含多个公网地址。转换时只转换地址,不转换端口,实现私网地址到公网地址一对一的转换。如果地址池中的地址已经全部分配出去,则剩余内网主机访问外网时不会进行NAT转换,直到地址池中有空闲地址时才会进行NAT转换。
  • 带端口转换的地址池方式(pat)
    通过配置NAT地址池来实现,NAT地址池中可以包含一个或多个公网地址。转换时同时转换地址和端口,即可实现多个私网地址共用一个或多个公网地址的需求(多对一。此方式下,由于地址转换的同时还进行端口的转换,可以实现多个私网用户共同使用一个公网IP地址上网,防火墙根据端口区分不同用户,所以可以支持同时上网的用户数量更多。这是一种利用第四层信息来扩展第三层地址的技术,一个IP地址有65535个端口可以使用。理论上来说,一个地址可以为其他65535个地址提供NAT转换,防火墙还能将来自不同内部地址的数据报文映射到同一公有地址的不同端口号上,因而仍然能够共享同一地址,对比一对一或多对多地址转换。这样极大的提升了地址空间,增加了IP地址的利用率。因此带端口转换是最常用的一种地址转换方式。

不带端口:实现一对一的IP地址转换,端口不进行转换。
带端口:将不同内部地址映射到同一公有地址的不同端口号上,实现多对一地址转换。

Easy IP(出接口地址方式)

直接使用接口的公网地址作为转换后的地址,不需要配置NAT地址池。转换时同时转换地址和端口,即可实现多个私网地址共用外网接口的公网地址的需求。(多对一)

NAT ALG(应用级网关)

特定的应用协议的转换代理,可以完成应用层数据中携带的地址及端口号信息的转换。
网络地址转换(NAT)技术_第1张图片

普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323、SIP等)、FTP、SQLNET等,TCP/UDP载荷中带有地址或者端口信息,这些内容不能被NAT进行有效的转换,就可能导致问题。而NAT ALG(ApplicationLevel Gateway)技术能对多通道协议进行应用层报文信息的解析和地址转换,将载荷中需要进行地址转换的IP地址和端口或者需特殊处理的字段进行相应的转换和处理,从而保证应用层通信的正确性。
例如,FTP应用就由数据连接和控制连接共同完成,而且数据连接的建立动态地由控制连接中的载荷字段信息决定,这就需要ALG来完成载荷字段信息的转换,以保证后续数据连接的正确建立。

服务器映射

NAT Server(内部服务器)

使用一个公网地址来代表内部服务器的对外地址。
NAT隐藏了内部网络的结构,具有“屏蔽”内部主机的作用。但是在实际应用中,可能需要提供给外部一个访问内部主机的机会,如提供给外部一台WWW
的服务器,而外部主机根本没有指向内部地址的路由,因此无法正常访问。这时可以使用内部服务器(Nat Server)功能来实现这个功能应用。使用NAT可以灵活地添加内部服务器。例如:可以使用202.202.1.1等公网地址作为Web服务器的外部地址,甚至还可以使用202.202.1.1:8080这样的IP地址加端口号的方式作为Web的外部地址。
外部用户访问内部服务器时,有如下两部分操作:

  • 防火墙将外部用户的请求报文的目的地址转换成内部服务器的私有地址。
  • 防火墙将内部服务器的回应报文的源地址(私网地址)转换成公网地址。

防火墙支持基于安全区域的内部服务器。例如,当需要对处于多个网段的外部用户提供访问服务时,防火墙结合安全区域配置内部服务器可以为一个内部服务器配置多个公网地址。通过配置防火墙的不同级别的安全区域对应不同网段的外部网络,并根据不同安全区域配置同一个内部服务器对外的不同的公网地址,使处于不同网段的外部网络访问同一个内部服务器时,即通过访问对应配置的公网地址来实现对内部服务器的访问能力。

配置NAT Server时,设备会自动生成Server-map表项,用于存放Global地址与Inside地址的映射关系。

Server-map基于三元组,用于存放一种映射关系,这种映射关系可以是控制数据协商出来的数据连接关系,也可以是配置NAT中的地址映射关系,使得外部网络能透过设备主动访问内部网络

用户删除NATServer时,Server-map也同步被删除。

实验

  • 拓扑图
    网络地址转换(NAT)技术_第2张图片
  • 任务:
    • 利用源NAT,实现PC1访问Client
    • 利用NAT SERVER,实现Client访问Server

1、源NAT(地址池方式)

  • pat

配置地址池(默认为pat方式)

在这里插入图片描述

配置源NAT策略

nat-policy
rule name pc1-client
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
action source-nat address-group 1

配置安全策略
网络地址转换(NAT)技术_第3张图片
注意source-address的配置,由于此时还未进行源NAT地址转换,故源地址只能是192.168.1.0
(防火墙报文处理流程/匹配顺序:目的NAT、路由表、安全策略、源NAT)
网络地址转换(NAT)技术_第4张图片
此时防火墙会话表项:
网络地址转换(NAT)技术_第5张图片
pat方式,会话表项很快就会老化,且不会生成server-map表

  • no pat

配置地址池时,修改mode
在这里插入图片描述
其他配置同上
此时的会话表项如下:
网络地址转换(NAT)技术_第6张图片
no-pat方式,会生成动态的server-map表(流量触发)
(外网用户想要访问内网,还需配置安全策略)
网络地址转换(NAT)技术_第7张图片- nat server

配置nat server,生成静态的server-map表
网络地址转换(NAT)技术_第8张图片
配置安全策略(注意此时的目的地址)
网络地址转换(NAT)技术_第9张图片
网络地址转换(NAT)技术_第10张图片
此时的会话表项如下:
在这里插入图片描述

你可能感兴趣的:(Cyber,Security,网络,服务器,运维)