SNAT与DNAT

发布时间 2023-10-17 09:25:45作者: ShineLe

学习自:SNAT与DNAT_梅比乌斯N的博客-CSDN博客

网络地址转换:DNAT和SNAT有啥区别?分别用于什么场景?_dnat 路由器-CSDN博客

NAT(Network Address Translation,地址转换)

NAT是一种常见的网络技术,用于私有网络(家庭、办公网络)公有网络(互联网)之间的网络通信。

NAT的主要目的是将私有网络中的内部IP地址转为公网中可路由的IP地址,实现与公网的连接。

NAT工作在网络层,它通过修改IP数据包源、目的IP来实现地址转换。通常,NAT是由网络层设备(路由器、防火墙)执行的。

SNAT(Source Network Address Translation,源地址转换)

1、SNAT

局域网共享一个公网IP接入互联网。

2、原理

修改内网数据包源地址,实现地址转换

3、优点

  1. 保护内网用户安全,因为公网地址总会被恶意访问,但是内网地址在公网没有路由,因此就无法被访问,能被访问的只有接入公网的这一台(防火墙所在),这就减少了被攻击的可能;
  2. 节省IPv4地址。一个公司只有一个IPv4地址,但却有几百个用户需要上网,此时就要用SNAT;
  3. 省钱。公网地址付费,使用SNAT只需要一个公网IP就能满足几百人同时上网

4、源地址转换过程

  1. 数据包从内网发到公网时,SNAT将数据包的源地址内网IP转为公网IP
  2. 数据包从公网发到内网时,将数据包的目的地址公网IP转为内网IP
  3. 内网多台主机访问外网时,SNAT在转换时自动分配端口不同内网主机通过端口号区分

 DNAT(Destination Network Address Translation)

1、DNAT:为内网路由器提供外部访问支持

公网用户访问内网服务器的两种方法:

  1. 配置双网卡,一个对内,一个对外;一般用于高访问量的Web服务器,为了避免占用网关流量才这样做,并非广泛做法;
  2. 内网Web服务器、FTP服务器,为了公网用户的访问,采用DNAT方案。

服务器一般不会直接暴露在公网中,否则很容易被攻击。服务器一般使用内网IP,所以访问服务器需要进行目标地址转换。

2、布设地点

在公网发布位于内网的服务器。

3、原理

修改外部请求数据包目的地址,将外部请求目的IP转为内网中的特定IP

4、过程

  1. 当(外部用户的请求)数据包从外网(公网IP)发到内网时,DNAT会把数据包的目的地址公网IP转为内网IP
  2. 当相应的数据包从内网发到公网时,会把数据包的源地址内网IP转为公网IP

 

DNAT与SNAT的区别

  • SNAT是针对内网客户端而言的,是内网上主机访问外网的规则。当内网有多台主机访问外网时,SNAT会在转换时自动分配端口,不同内网主机会通过端口号进行区分。
  • DNAT是针对内网服务器而言的,用于提供服务器的外部访问如果多台服务器使用的是同一个网关,那么通过不同端口号来对应不同的服务器。
  • DNAT通常用于将公共IP地址端口号映射到内部服务器上,以方便外部用户访问内部服务。SNAT将源IP地址更改为路由器IP地址。当内网计算机访问外部资源时,路由器会更改数据包中的源IP地址以防止攻击。由于SNAT更改了源IP,因此目标服务器会认为请求它的计算机是路由器,而非内部真实计算机。因此SNAT常用于网络安全和流量控制