SNAT和DNAT简介

  • NAT(Net Address Trancelate)是将局域网里的内部地址(如192.168.0.x)转换成公网(Internet)上合法的IP地址(如202.202.12.11),以使内部地址能像有公网地址的主机一样上网。这个优于代理服务器,能做直接访问外部IP地址,但NAT往往会过滤掉部分UDP数据包。
  • 借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。
  • NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作。

一、简介SNAT

SNAT,也就是源地址转换,它主要的作用就是把ip数据包的源地址转换成另外一个地址。从定义来讲它们一个是源地址转换,一个是目标地址转换。都是地址转换的功能,将私有地址转换为公网地址。

SNAT和DNAT简介
SNAT指的就是在数据包从网卡发送出去时,将数据包里面的源地址这一个部分替换成为一个指定的IP(也就是网络之间互连的协议)。这样子的话,那么接收方就会认为数据包的来源就是被替换的那个IP的主机了。

有人就会问小编MASQUERADE又是什么呢?其实它就是使用发送数据的网卡上面的IP来进行替换源IP。由此可见,对于那一些IP并不固定的场合,就比如说拨号网络或者是通过dhcp(也就是动态主机配置协议)分配IP的情况下面,那么大家就一定需要使用MASQUERADE了。

简介DNAT

那么什么是DNAT呢?DNAT的全称为Destination Network Address Translation目的地址转换,常用于防火墙中。目的地址转换的作用是将一组本地内部的地址映射到一组全球地址。
总的来说,DNAT指的就是数据包从网卡发送出去时,修改数据包里面的目的IP,具体的表现如下:假如说大家想要访问A的话,可是正正就是因为网关做了DNAT操作,将全部访问A的数据包的目的IP通通都修改成为了B。那么大家事实*问到的都会是B。
因为路由实际上就是按照目的地址来进行选择的,由此可见,DNAT是也就是在PREROUTING(修改到来的包)链上来进行操作的,然而SNAT不一样,它就是在数据包发送出去时才会进行操作的,所以它就是在POSTROUTING链上进行的。