学习自: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、优点
保护内网用户安全,因为公网地址总会被恶意访问,但是内网地址在公网没有路由,因此就无法被访问,能被访问的只有接入公网的这一台(防火墙所在),这就减少了被攻击的可能;
节省IPv4地址。一个公司只有一个IPv4地址,但却有几百个用户需要上网,此时就要用SNAT;
省钱。公网地址付费,使用SNAT只需要一个公网IP就能满足几百人同时上网。
4、源地址转换过程
数据包从内网发到公网时,SNAT将数据包的源地址从内网IP转为公网IP;
数据包从公网发到内网时,将数据包的目的地址从公网IP转为内网IP;
内网多台主机访问外网时,SNAT在转换时自动分配端口,不同内网主机通过端口号区分。
DNAT(Destination Network Address Translation)
1、DNAT:为内网路由器提供外部访问支持
公网用户访问内网服务器的两种方法:
配置双网卡,一个对内,一个对外;一般用于高访问量的Web服务器,为了避免占用网关流量才这样做,并非广泛做法;
内网Web服务器、FTP服务器,为了公网用户的访问,采用DNAT方案。
服务器一般不会直接暴露在公网中,否则很容易被攻击。服务器一般使用内网IP,所以访问服务器需要进行目标地址转换。
2、布设地点
在公网发布位于内网的服务器。
3、原理
修改外部请求数据包的目的地址,将外部请求的目的IP转为内网中的特定IP。
4、过程
当(外部用户的请求)数据包从外网(公网IP)发到内网时,DNAT会把数据包的目的地址从公网IP转为内网IP;
当相应的数据包从内网发到公网时,会把数据包的源地址从内网IP转为公网IP。
DNAT与SNAT的区别
SNAT是针对内网客户端而言的,是内网上主机访问外网的规则。当内网有多台主机访问外网时,SNAT会在转换时自动分配端口,不同内网主机会通过端口号进行区分。
DNAT是针对内网服务器而言的,用于提供服务器的外部访问如果多台服务器使用的是同一个网关,那么通过不同端口号来对应不同的服务器。
DNAT通常用于将公共IP地址和端口号映射到内部服务器上,以方便外部用户访问内部服务。SNAT将源IP地址更改为路由器IP地址。当内网计算机访问外部资源时,路由器会更改数据包中的源IP地址以防止攻击。由于SNAT更改了源IP,因此目标服务器会认为请求它的计算机是路由器,而非内部真实计算机。因此SNAT常用于网络安全和流量控制。