SNAT 和 DNAT 的区别

发布时间: 更新时间: 总字数:741 阅读时间:2m 作者: IP上海 分享 网址

NAT(Net Addres Trancelate,网络地址转换) 是将局域网里的内部地址(如192.168.0.x)转换成公网(Internet)上的IP地址(如1.1.1.2),以使内部地址能像有公网地址的主机一样上网和访问。NAT包括:DNAT、SNAT、MASQUERADE。

介绍

修改ip报文的头部的source ip或者destination ipNAT通常都是router的行为。在linux中,iptables可以作为NAT执行的角色。

实现方式

  • Static NAT(静态地址转换,内网IP:公网IP=1:1)
  • Pooled NAT(动态地址转换,内网IP:公网IP=M:N)
  • NAPT(内网IP:公网IP=M:1)

DNAT

DNAT(Destination Network Address Translation)修改网络包目的ip地址。当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布,比如:将 NAT 网关上的公网 IP 映射给云实例使用,使云实例能够提供互联网服务。

SNAT

SNAT(Source Network Address Translation)修改网络包源ip地址。内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部的私有IP转换为公网的公有IP网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部,比如:为VPC中无公网IP的ECS实例提供访问互联网的代理服务。SNAT是为了解决ip地址不够用的情况。

RFC 1918保留了3个网段作为private addresses

  • 10.0.0.0/8 (即 10.0.0.0 - 10.255.255.255)
  • 172.16.0.0/12 (即 172.16.0.0 - 172.31.255.255)
  • 192.168.0.0/16 (即 192.168.0.0 - 192.168.255.255)
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数