5.网络基础-NAT技术

NAT概述

随着接入Internet的计算机数量的不断猛增,早期网络通信协议和标准的组织已经意识到了IPv4地址马上被耗尽的危机,因此制定了短期措施,其中就包含NAT。
NAT(Network Address Translation,网络地址转换)是将IP 数据报报头中的IP 地址转换为另一个IP 地址的的功能。
通常,一个局域网由于申请不到足够互联网IP地址,或者只是为了编址方便,在局域网内部采用私有IP地址为设备编址,当设备访问外网时,再通过NAT将私有地址转换为合法的公网IP地址。

公网IP和私网IP

公网IP是指在因特网上直接可达的IP地址,如果你有一个公网地址,那就意味着你不但能访问别人,还能被人访问。
为了弥补IPv4地址日益枯竭的矛盾,在A、B、C类地址中专门划出一小块地址作为全世界各地建设局域网使用,这些划出来专门作为局域网内网使用的IP地址称为私网IP地址。这些私网IP地址在访问 Internet 时会经过 NAT 技术转换为公网地址再访问 Internet。所以在公网上看不到这些私有地址

 NAT的优缺点

 

 静态NAT

NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用PAT。
静态转换是指将内部地址和外部地址进行一对一的转换。这种方法要求申请到的合法公网IP地址足够多,可以与内部IP地址一一对应。
静态NAT一般用于那些需要固定的合法IP地址的主机,比如Web服务器、FTP服务器、E-mail服务器等。

 动态NAT

将多个合法IP地址统一的组织起来,构成一个IP地址池,当有主机需要访问外网时,就分配一个合法IP地址与内部地址进行转换,当主机用完后,就归还该地址。
对于NAT池,如果同时联网用户太多,可能出现地址耗尽的问题。

PAT 

端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外网IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
NAT在使用场景上分为SNAT(源地址NAT)、DNAT(目的地址NAT)和双向地址NAT

 SNAT

源地址转换即内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址,内网的多部主机可以通过一个有效的公网ip地址访问外部网络。
主要使用场景:局域网私网IP使用有限的公网IP访问互联网。

生成记录,把转换前和转换后的Ip地址记录下来

 

 DNAT

当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT。

主要使用场景:主要用于内部服务对外发布。

当网络内部有一台服务器要对外发布时,出口NAT设备,将公网IP和设备转换成私网IP的过程,叫DNAT,公司内部使用的是A类的私网网段10网段,公司 可用的ip只有一个123.1.1.1,公司内有一台网站服务器,ip地址是10.1.1.100,端口:8080,公司需要将这台服务器提供给互联网用户访问。只有公网IP才能被用户访问,不仅需要在出口NAT上配置Ip和路由信息,还需要配置DNAT,将公网IP123.1.1.1:80映射给内网IP地址10.1.1.100:8080,这样互联网用户可以通过123.1.1.1:80来进行网站的访问。对访问数据流进行分析:

互联网上有一个用户,它的IP地址是200.1.1.1:54321,访问123.1.1.1端口号80,在互联网的访问期间,目的Ip是123.1.1.1,目的端口是80,但是在经过公司出口的NAT设备时,匹配上DNAT策略,对目的ip和目的端口进行替换,目的IP转换为公司内部的私网Ip:10.1.1.100,目的端口转换为8080,源ip和源端口都不变,同时NAT会在DNAT表中生成一条记录。

 双向NAT

 双向地址转换

常规地址转换技术只转换报文的源地址或目的地址,而双向地址转换(Bidirectional NAT)技术可以将报文的源地址和目的地址同时转换。
主要使用场景:内网用户通过外网IP/域名访问内网业务

目的:1.内外网的访问方式保持一致2.安全的考虑,隐藏内网服务器iP

 如果要求内网用户(192.168.1.1.)访问内网WEB服务器192.168.1.100,但必须通过访问公网IP200.1.1.1。且只是配置DNAT,能否满足这一需求?

配置DNAT的话,可以通过公网IP访问内网ip,数据流在经过NAT设备时可以匹配到公网ip200.1.1.1,目的ip转换成192.168.1.254,请求的数据会通过路由到达服务器上,服务器可以进行正常的数据应答。只不过应答的源Ip是192.168.1.100,目的ip是192.168.1.1,数据直接转发到192.168.1.1的这台电脑上。注:PC发出请求的目的IP是一个公网200.1.1.1,但是应答源IP的是一个私网ip 192.168.1.100。对电脑来说会直接丢包拒收。双向NAT就可以解决这个问题。

双向NAT的数据流是:在请求的数据经过NAT设备时,NAT设备对源母IP同时进行替换,目的ip转换成内网真实的IP,源Ipt替换成出口NAT 口的ip地址:192.168.1.254.和DNAT不同是回数据时又经过了一次NAT设备进行转换。将源IP和目的ip还原回去。

拓展了解 

NAT 只能对IP 报文的头部地址和TCP/UDP 头部的端口信息进行转换。对于一些特殊协议,例如ICMP、FTP 、SIP等,它们报文的数据部分可能包含IP 地址或端口信息,这些内容不能被NAT有效的转换。
为了使得这些应用也能透明地完成NAT转换,NAT使用一种称作ALG(Application Level Gateway应用程序级网关)的技术,它能对这些应用程序在通信时应用层数据所包含的地址信息也进行相应的NAT转换。通常网络设备的ALG功能均有单独的开关.

 

用户(172.172.10.10)通过外网(在浏览器里输入Server.sangfor.com.cn 即202.96.139.99)访问服务器(172.172.10.100)

分析:LAN-LAN的数据流走向:

172.172.10.10通过202.96.139.99访问内网的数据流变化,

1.数据从PC中发出:源ip(sip)电脑自己的ip:172.172.10.10目的ip(dip):202.96.139.99(输入后做DNS解析出这个ip地址)源端口(sport):客户端上是大于1024的随机端口。加入是8888。目的端口(dport):80(因为是通过HTTP协议访问的)协议:HTTP.以上就是数据包的五元组。

2.在AF上配置一条目的转换规则,202.96.139.99:80数据包映射到HTTP SERVER 

则源IP(sip)还是172.172.10.10 目的Ip(dip)就转换成了172.172.10.100 sport:8888 dport :80 HTTP协议

3.HTTP SERVER收到数据包后做一个回复。即是把数据包的五元组做了一次调换。

源ip(服务器自己的Ip):172.172.10.100 目的ip(电脑的Ip):172.172.10.10 源端口(sport)80 目的端口(dport):8888

 

注意:来回数据包的五元组要保持一致

上图中pc请求的目的ip是202.96.139.99,但是收到的回复包中的源Ip是172.172.10.100

两个五元组是匹配不上的。

数据包的流程是:PC-AF-SERVER HTTP-PC

正常的是希望:PC-AF-SERVER HTTP-AF-PC

来回的五元组就会是一样的了。

 满足这个要求的配置:问题出现在第2步,发出这个数据包的源Ip是电脑的IP

数据包再发送给电脑时,就是来回一致的

各产品线实现双向NAT方式--AC

方法1:先做一条端口映射(将PC的私网地址转换成AC外网口的公网地址),再做一条代理上网规则(将内网的源地址转换成AC内网口的地址)。
【系统管理】-【防火墙】-【端口映射】中新建高级规则 【系统管理】-【防火墙】-【NAT代理上网】新建规则如下:

方法2:直接做一条高级映射规则,勾选【发布服务器】选项(相当于是做了SNAT):将源IP转换成了AC内网口的IP。
【系统管理】-【防火墙】-【端口映射】中新建高级规则如下 

各产品线实现双向NAT方式--AF 

直接做一条双向地址转换规则,【策略】-【地址转换】-【双向地址转换】中新建规则如下:

各产品线实现双向NAT方式--AD

先做一条目的地址转换,再做一条源地址转换
【网络部署】-【地址转换】-【目的地址转换】中新建规则 【网络部署】-【地址转换】-【目的地址转换】中新建规则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值