首页 > 其他分享 >SNAT 与 DNATjK

SNAT 与 DNATjK

时间:2024-09-01 14:03:50浏览次数:3  
标签:DNAT SNAT 网络 DNATjK IP地址 数据包 内部

本文为博主原创,转载请注明出处:

  SNAT(Source Network Address Translation,源网络地址转换)和DNAT(Destination Network Address Translation,目标网络地址转换)是网络地址转换(NAT)中的两种重要技术,它们在实现内部网络与外部网络之间的通信中发挥着关键作用。以下是对这两种技术的详细解释和它们的主要用途:

一、SNAT(源网络地址转换)

定义: SNAT是一种在IP数据包从内部网络发送到外部网络时,将源IP地址替换为公共IP地址的技术。这种转换允许内部网络中的多台设备通过共享一个或多个公共IP地址来访问外部网络。

工作原理: 当内部网络中的设备发送数据包到外部网络时,数据包经过NAT设备(如路由器或防火墙),NAT设备会自动将数据包的源IP地址替换为配置的公共IP地址。这样,外部网络中的设备看到的所有来自内部网络的数据包都似乎来自同一个公共IP地址。

主要用途

  1. 地址共享:允许多个内部设备共享一个或多个公网IP地址访问互联网,从而节省公网IP资源。
  2. 负载均衡:在负载均衡场景中,SNAT可以将内部服务器的源IP地址替换为负载均衡器的IP地址,以实现流量分发和负载均衡。
  3. 安全性:通过隐藏内部网络的实际IP地址,SNAT可以增强内部网络的安全性,防止外部直接攻击内部设备。
  4. 简化网络配置:使用SNAT可以在规划地址时有更大的灵活性,简化内部网络的设计和配置。

二、DNAT(目标网络地址转换)

定义: DNAT是一种在IP数据包从外部网络发送到内部网络时,将目标IP地址替换为内部网络中的IP地址的技术。这种转换允许外部网络中的设备通过公共IP地址访问内部网络中的特定设备或服务。

工作原理: 当外部网络中的数据包到达NAT设备时,NAT设备会检查数据包的目标IP地址和端口号,并根据配置的DNAT规则将其替换为内部网络中的相应IP地址和端口号。然后,数据包被转发到内部网络中的指定设备。

主要用途

  1. 端口映射:将外部网络中的公共IP地址和端口号映射到内部网络中的私有IP地址和端口号,实现远程访问、网站托管等功能。
  2. 负载均衡:在将外部流量分发到内部多个服务器时,DNAT可以根据负载均衡策略将流量转发到不同的服务器。
  3. 安全性:通过隐藏内部网络的实际IP地址和端口号,DNAT可以在一定程度上增强内部网络的安全性。

三、场景示例

场景假设

  • 内部网络:192.168.1.0/24
  • 外部网络:互联网,假设通过ISP获得的公网IP为1.2.3.4
  • 内部服务器IP:192.168.1.100,希望对外提供服务(例如Web服务)
  • NAT服务器/防火墙IP:内网为192.168.1.1,外网为1.2.3.4

3.1 添加SNAT规则

  允许外部访问内部服务器,首先,我们需要将到达NAT服务器的公网IP(1.2.3.4)上的特定端口(例如HTTP的80端口)的数据包转发到内部服务器的相应端口。

# 添加SNAT规则  
# 将源地址是192.168.1.0/24的数据包的源地址改为1.2.3.4  
# 假设出站接口为eth0(连接到外部网络的接口),需要根据实际情况替换  
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 1.2.3.4  

3.2 添加DNAT规则

  允许外部访问内部服务器,需要将到达NAT服务器的公网IP(1.2.3.4)上的特定端口(例如HTTP的80端口)的数据包转发到内部服务器的相应端口。

# 添加DNAT规则  
# 将目的地址为1.2.3.4且目的端口为80的数据包的目标地址改为192.168.1.100  
iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80  
  • -t nat:指定要操作的表为NAT表。NAT表用于地址转换,包括源地址转换(SNAT)和目的地址转换(DNAT)。
  • -A PREROUTING:向PREROUTING链添加一条规则。PREROUTING链用于处理进入本机的数据包,在路由决策之前进行。这意味着,对于进入本机的数据包,首先会经过PREROUTING链上的规则处理。
  • -d 1.2.3.4:指定目的IP地址为1.2.3.4的数据包会被这条规则匹配。这意味着,只有当数据包的目的地址是1.2.3.4时,这条规则才会生效。
  • -p tcp:指定协议类型为TCP。这意味着,只有TCP协议的数据包才会被这条规则匹配。
  • --dport 80:指定目的端口为80。这意味着,只有目的端口为80的TCP数据包才会被这条规则匹配。
  • -j DNAT:指定满足条件的数据包应该执行的动作是DNAT(目的地址转换)。DNAT用于将数据包的目的地址和/或端口号转换为其他值。
  • --to-destination 192.168.1.100:80:指定转换后的目的地址和端口。这意味着,满足上述条件的数据包的目的地址将被转换为192.168.1.100,目的端口将被转换为80。

本博客参考楚门加速器p。转载请注明出处!

标签:DNAT,SNAT,网络,DNATjK,IP地址,数据包,内部
From: https://www.cnblogs.com/westworldss/p/18391241

相关文章

  • 网络防火墙之SNAT
    网络防火墙NATNAT:networkaddresstranslationPREROUTING,INPUT,OUTPUT,POSTROUTING请求报文:修改源/目标IP,由定义如何修改响应报文:修改源/目标IP,根据跟踪机制自动实现SNAT:sourceNATPOSTROUTING,INPUT让本地网络中的主机通过某一特定地址访问外部网络,实现......
  • SNAT与DNAT
    一、SNAT策略概述1、SNAT策略的典型应用环境局域网主机共享单个公网IP地址接入Internet(私有IP不能在Internet中正常路由)局域共享上网2、SNAT策略的原理修改数据包的源地址把从内网-->外网的数据的源内网地址转换成公网源地址  3、SNAT转换前提条件 局域网各......
  • Linux防火墙【SNAT、DNAT】
    一、网络防火墙iptables/netfilter利用filter表的FORWARD链,可以充当网络防火墙注意的问题:(1)请求-响应报文均会经由FORWARD链,要注意规则的方向性;(2)如果要启用conntrack机制,建议将双方向的状态为ESTABLISHED的报文直接放行。示例一:实现内网和外网可以相互访问1.内网机......
  • iptables防火墙SNAT策略和DNAT策略
    目录1.SNAT策略及应用(1)SNAT原理与应用:(2)SNAT转换(1)前提条件:(2)实现方法:2.DNAT策略及应用(1)DNAT原理与应用:(2)DNAT转换(1)前提条件:(2)实现方法:1.SNAT策略及应用(1)SNAT原理与应用:SNAT应用环境:局域网主机共享单个公网IP地址接入Internet(私有IP不能在Internet中正常路由)SNAT原理:修改数据包的......
  • F5负载均衡系列教程四【SNAT实验】
     基础拓扑如下所示:F5里面的SNAT可以理解为路由交换里面的源地址转换,可以将特定的源地址转成另外一个ip地址(IP地址池)去访问目的服务器参考文档:https://my.f5.com/manage/s/article/K7820实验环境如下,其中F5到后端服务器网络均路由可达VS地址poolmember测试的s......
  • SNAT与DNAT
    学习自:SNAT与DNAT_梅比乌斯N的博客-CSDN博客网络地址转换:DNAT和SNAT有啥区别?分别用于什么场景?_dnat路由器-CSDN博客NAT(NetworkAddressTranslation,地址转换)NAT是一种常见的网络技术,用于私有网络(家庭、办公网络)与公有网络(互联网)之间的网络通信。NAT的主要目的是将私有网络中......
  • iptables、共享上网SNAT、端口转发DNAT
    iptables、共享上网SNAT、端口转发DNAT1.防火墙概述封端⼝,封ip实现NAT功能共享上⽹端⼝映射(端⼝转发),ip映射2.防火墙2.1防火墙种类以及使用说明硬件:整个企业入口软件:开源软件网站内部封ipiptables云防火墙安全组NAT网关waf应用防火墙2.2专有名词容器、表、链......
  • SNAT与DNAT原理及应用
     SNAT与DNAT原理及应用 当内部地址要访问公网上的服务时(如httpd访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换功能称为SNAT,主要用于内部共享IP访问外部网络。当内部地址需要提供对外......
  • iptables实战-SNAT|DNAT|负载均衡
    一、路由转发与SNAT实验环境说明:debian机器位于内网,有一个网卡ens38,ip地址172.16.1.2/24,网关为172.16.1.1(router的eth2)router机器位于内网和外网的边界,有2个网卡eth1和eth2,eth1地址192.168.124.247接外网,网关192.168.124.1;eth2地址172.16.1.1,连接debian在网卡配置正确的情况下,......
  • F5 LTM 知识点和实验 7-使用SNATs处理流量
    第七章:使用SNATs处理流量SNATs:传统的vs都是对目的地址和端口进行改变,而源地址没有改变,如果你需要对源地址和源端口进行更改,则需要使用SNAT能力,好处在于:1、允许不可路由地址(网络内部)的设备获得可路由地址以进入网络外部。2、确保目标服务器通过BIG-IP系统返回响应,而不是直接发......