NAT
网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
网络地址转换(NAT)简介
虽然NAT可以借助于某些代理服务器来实现,但考虑到运算成本和网络性能,很多时候都是在路由器上来实现的。
随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。
SNAT
snat是源地址转换,其作用是将ip数据包的源地址转换成另外一个地址,可能有人觉得奇怪,好好的为什么要进行ip地址转换啊,为了弄懂这个问题,我们要看一下局域网用户上公网的原理,假设内网主机A(192.168.2.8)要和外网主机B(61.132.62.131)通信,A向B发出IP数据包,如果没有SNAT对A主机进行源地址转换,A与B主机的通讯会不正常中断,因为当路由器将内网的数据包发到公网IP后,公网IP会给你的私网IP回数据包,这时,公网IP根本就无法知道你的私网IP应该如何走了。所以问它上一级路由器,当然这是肯定的,因为从公网上根本就无法看到私网IP,因此你无法给他通信。为了实现数据包的正确发送及返回,网关必须将A的址转换为一个合法的公网地址,同时为了以后B主机能将数据包发送给A,这个合法的公网地址必须是网关的外网地址,如果是其它公网地址的话,B会把数据包发送到其它网关,而不是A主机所在的网关,A将收不到B发过来的数据包,所以内网主机要上公网就必须要有合法的公网地址,而得到这个地址的方法就是让网关进行SNAT(源地址转换),将内网地址转换成公网址(一般是网关的外部地址),所以大家经常会看到为了让内网用户上公网,我们必须在routeros的firewall中设置snat,俗称IP地址欺骗或伪装(masquerade)
如何区分SNAT和DNAT?
从定义来讲它们一个是源地址转换,一个是目标地址转换。都是地址转换的功能,将私有地址转换为公网地址。
要区分这两个功能可以简单的由连接发起者是谁来区分:
内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。
当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。
在配置防火墙或者路由acl策略时要注意这两个NAT一定不能混淆。
分享到:
相关推荐
Linux NAT 实现了两种类型的 NAT:源 NAT(SNAT)和目的 NAT(DNAT)。 源 NAT(SNAT)是一种将私有 IP 地址转换为公网 IP 地址的技术,以便于私有网络中的主机可以访问 Internet。目的 NAT(DNAT)是一种将公网 IP...
2. **会话跟踪**:为了正确地进行反向NAT,即从公网回源到私网,系统必须跟踪每个连接的源IP、目的IP、源端口和目的端口等信息,这通常通过会话表来实现。 3. **动态地址分配**:当内部用户发起对外连接时,SNAT...
兼容lvs原有功能,可以作为网关单独部署,也可以负载均衡部署在同一台机器,跟vs/nat,vs/fullnat等转发模式一起使用 请注意我们使用fwmark 1作为snat的开关,并不需要iptables配合使用 标签:Lvssnat
`iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 202.97.224.68` 在网关服务器具有非固定的动态IP地址时,使用Iptables命令的MASQUERADE模式,自动获取外网接口的IP地址,不需要...
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT --to-source 172.16.16.88 ``` 这里,172.16.16.88是对外显示的公网IP地址。 4. **内网网页内容的处理**:如果内部网络有服务器提供网页服务...
总结了nat规则的配置过滤规则,包含SNAT、DNAT的ip及端口过滤配置说明等,以及NAT规则的查看、删除命令等。
NAT主要涉及三种类型的操作:源NAT(SNAT)、目的NAT(DNAT)和端口地址转换(PAT)。 1. **源NAT (SNAT)**:当内部主机发送数据包到外部网络时,NAT设备会将内部主机的源IP地址替换为公网IP地址,同时可能还会改变...
4.5.1 典型nat 配置举例 1. 组网需求 如下图所示,一个公司通过secpath 防火墙的地址转换功能连接到广域网。要求该公司能够通过防火墙ethernet3/0/0 访问internet,公司内部对外提供www、ftp和smtp 服务,而且提供...
在这个eNSP实验中,你可能会深入理解NAT的工作原理,包括源NAT(SNAT)和目的NAT(DNAT),以及PAT(Port Address Translation)的实现方式。同时,也会掌握如何在实际网络环境中配置和管理NAT,提升你的网络管理和...
在 VMware 环境中,SNAT 和 DNAT 可以通过分布式路由器( Distributed Router,DR)或虚拟网络适配器(Virtual Network Adapter)的 NAT 规则进行配置。虽然这里没有详细介绍具体的配置命令,但理解 SNAT 和 DNAT 的...
1. **启用NAT**:通过iptables命令在Linux系统上设置NAT规则,包括SNAT和DNAT。 2. **安装与配置Squid**:在Linux系统上安装Squid,并编辑其配置文件squid.conf以适应特定的网络环境需求。 #### 具体配置细节 ####...
简单NAT 这是在AWS上创建NAT实例的CDK构造。 它支持将特定的IP CIDR添加到VPC的路由表,这些IP CIDR中的网络流量将转发到NAT实例。用法new SimpleNAT ( this , 'SimpleNAT' , { vpc , natSubnetsSelection : { ...
主要讲述防火防火墙的nat no-pat、napt、出接口地址方式、smart nat以及三元组nat的地址转换技术。
2. **配置SNAT规则**:在POSTROUTING链上添加SNAT规则,将所有来自内部网络的数据包的源IP地址转换为NAT网关的公网IP地址。 3. **配置DNAT规则**:如果实验室网络需要提供对外的服务,比如Web服务器,那么在...
在这个基于Python实现网络地址转换的实验中,我们将探讨SNAT(源NAT)和DNAT(目的NAT)的概念以及如何使用Python来模拟这些过程。 ### SNAT(源NAT) SNAT(Source Network Address Translation)用于改变数据包的...
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT --to-source 211.84.20.1 ``` - 其中,`eth1`表示连接到外部网络的接口。 #### 五、总结 通过以上介绍可以看出,NAT作为一种重要的网络技术...
这一过程包括源NAT(SNAT)和目的NAT(DNAT),分别对应着出站和入站流量的处理。 ##### 2.2 打洞技术概念 打洞技术的核心思想是在两个NAT后的节点之间建立直接的通信通道。该技术并不真正意义上穿透或绕过NAT,而是...
`iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth0 -j SNAT --to-source 192.168.79.129` 四、MASQUERADE 和 SNAT 的区别 MASQUERADE 和 SNAT 都是用于网络地址转换的技术,但是它们有所不同。MASQUERADE...