搭建nat服务器必须要先搭建dns吗

搭建nat服务器必须要先搭建dns吗,第1张

是的,大概方法如下
DNS域名解析安装部署
A 部署环境并安装DNS服务
1)为Shanghai设置好IP地址10002,默认网关指向10001,首选DNS服务器填127001
2)打开开始菜单à控制面板à添加或删除程序à添加删除Windows组件
◆ 网络服务-->详细信息-->域名系统(DNS)
◆ 下一步-->插入windows sever 2003 R2 CD1的光盘-->完成。(DNS服务安装完毕)
在Beijing的客户端上单击开始菜单-->管理工具DNS-->右击“正向查找区域”-->新建区域-->下一步-->主要区域-->区域名称,输入“COM”
◆ 下一步-->点选“允许非安全和安全动态更新” -->完成-->右击“COM” ,新建域
◆ 右击IBM,”新建主机“-->主机名为“>nat有三种实现方式:静态、动态和端口多路复用。
静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,而是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation)采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

NAT是(Network Address Translation)的缩写。
还有个名字叫NAPT(Network Address Port Translation),NAPT既支持地址转换也支持端口转换,并允许多台内网主机共享一个外网IP地址访问外网,因此NAPT可以有效的改善IP地址短缺现象。
如果没有做特殊说明,本文档中的NAT均是指NAPT方式的NAT。

随着网络应用的增多,IPv4地址枯竭的问题越来越严重。尽管 IPv6 可以从根本上解决IPv4地址空间不足问题,但目前众多网络设备和网络应用大多是基于IPv4的,因此在IPv6广泛应用之前,使用一些过渡技术(如CIDR、私网地址等)是解决这个问题的主要方式,NAT就是这众多过渡技术中的一种。

当私网用户访问公网的报文到达网关设备后,如果网关设备上部署了NAT功能,设备会将收到的IP数据报文头中的IP地址转换为另一个IP地址,端口号转换为另一个端口号之后转发给公网。在这个过程中,设备可以用同一个公网地址来转换多个私网用户发过来的报文,并通过端口号来区分不同的私网用户,从而达到地址复用的目的。

早期的NAT是指Basic NAT,Basic NAT在技术上实现比较简单,只支持地址转换,不支持端口转换。因此,Basic NAT只能解决私网主机访问公网问题,无法解决IPv4地址短缺问题。后期的NAT主要是指网络地址端口转换NAPT(Network Address Port Translation),NAPT既支持地址转换也支持端口转换,允许多台私网主机共享一个公网IP地址访问公网,因此NAPT才可以真正改善IP地址短缺问题。

Basic NAT方式只转换IP地址,不转换TCP/UDP协议的端口号,属于一对一的转换,一个外网IP地址只能被一个内网用户使用。[图1]描述了Basic NAT的基本原理。

Basic NAT实现过程如下:

NAPT方式既转换IP地址,也转换TCP/UDP协议的端口号,属于多对一的转换。NAPT通过使用“IP地址+端口号”的形式,使多个内网用户共用一个外网IP地址访问外网,因此NAPT也可以称为“多对一地址转换”或“地址复用”。[图2]描述了NAPT的基本原理。

NAPT实现过程如下:

当VPC内的云主机需要访问公网,请求量大时,为了节省d性公网IP资源并且避免云主机IP直接暴露在公网上,您可以使用公网NAT网关的SNAT功能。VPC中一个子网对应一条SNAT规则,一条SNAT规则可以配置多个d性公网IP。公网NAT网关为您提供不同规格的连接数,根据业务规划,您可以通过创建多条SNAT规则,来实现共享d性公网IP资源。

当VPC内的云主机需要面向公网提供服务时,可以使用公网NAT网关的DNAT功能。

DNAT功能绑定d性公网IP,有两种映射方式(IP映射、端口映射)。可通过端口映射方式,当用户以指定的协议和端口访问该d性公网IP时,公网NAT网关会将该请求转发到目标云主机实例的指定端口上。也可通过IP映射方式,为云主机配置了一个d性公网IP,任何访问该d性公网IP的请求都将转发到目标云主机实例上。使多个云主机共享d性公网IP和带宽,精确的控制带宽资源。

一个云主机配置一条DNAT规则,如果有多个云主机需要为公网提供服务,可以通过配置多条DNAT规则来共享一个或多个d性公网IP资源。

典型的P2P场景:

在[STUN]标准中,根据私网IP地址和端口到NAT出口的公网IP地址和端口的映射方式,把NAT分为如下四种类型,详见下图。

STUN中定义的NAT类型

STUN
ICE

我在从服务器收到的端口上添加了1,因为如果我支持两个对称NAT,那么增量是1端口也是如此 查看示例:
连接到服务器和NAT A向S发送包含以下内容的数据包:458966125:58000
B连接到服务器,NAT B向S发送包含以下内容的数据包:14485118:45000
S将B的信息发送给A,将A的信息发送给B
现在,如果A向B发送此信息,NAT A将创建此 Map :
INTERNAL_IP_A:58001-14485118:45001
对于此连接,NAT A应使用端口58001(最后一个端口1,它是对称NAT)
NAT B接收数据包但丢弃它
现在,如果B使用收到的信息向A发送数据包,NAT B将创建此映射:
INTERNAL_IP_B:45001-458966125:58001
现在NAT应该接受这个数据包,因为在它的表中有接收它的信息

先上一张比较有名的图:

(CONNTRACK),顾名思义,就是跟踪并且记录连接状态。Linux为每一个经过网络堆栈的数据包,生成一个新的连接记录项 (Connection entry)。此后,所有属于此连接的数据包都被唯一地分配给这个连接,并标识连接的状态。连接跟踪是防火墙模块的状态检测的基础,同时也是地址转换中实 现SNAT和DNAT的前提。

那么Netfilter又是如何生成连接记录项的呢?每一个数据,都有“来源”与“目的” 主机 ,发起连接的主机称为“来源”,响应“来源”的请求的主机即 为目的,所谓生成记录项,就是对每一个这样的连接的产生、传输及终止进行跟踪记录。由所有记录项产生的表,即称为连接跟踪表。

连接跟踪子系统跟踪已看到的所有数据包流,运行“sudo conntrack -L”以查看其内容:

每行显示一个连接跟踪条目。您可能会注意到,每行两次显示地址和端口号,甚至是反向的地址和端口对。这是因为每个条目两次插入到状态表中。第一个地址四元组(源地址和目标地址以及端口)是在原始方向上记录的地址,即发起方发送的地址。第二个四元组是conntrack希望在收到来自对等方的答复时看到的内容。这解决了两个问题:

如果NAT规则匹配(例如IP地址伪装),则将其记录在连接跟踪条目的答复部分中,然后可以自动将其应用于属于同一流的所有将来的数据包。

状态表中的查找将是成功的,即使它是对应用了任何形式的网络或端口地址转换的流的答复包。

原始的(第一个显示的)四元组永远不会改变:它是发起方发送的。NAT *** 作只会将回复(第二个)更改为四倍,因为这将是接收者看到的内容。对第一个四倍的更改将毫无意义:netfilter无法控制启动程序的状态,它只能影响数据包的接收/转发。当数据包未映射到现有条目时,conntrack可以为其添加新的状态条目。对于UDP,此 *** 作会自动发生。对于TCP,conntrack可以配置为仅在TCP数据包设置了SYN位的情况下添加新条目。默认情况下,conntrack允许中流拾取不会对conntrack变为活动状态之前存在的流造成问题。

如上一节所述,列出的答复元组包含NAT信息。可以过滤输出以仅显示应用了源或目标nat的条目。这样可以查看在给定流中哪种类型的NAT转换处于活动状态。“sudo conntrack -L -p tcp –src-nat”可能显示以下内容:

此项显示从100010:5536到108212:80的连接。但是,与前面的示例不同,答复方向不仅是原始的反向方向:源地址已更改。目标主机(108212)将答复数据包发送到19216812,而不是100010。每当100010发送另一个数据包时,具有此条目的路由器将源地址替换为19216812。当108212发送答复时,它将目的地更改回100010。此源NAT是由于nft假装规则所致:

inet nat postrouting meta oifname "veth0" masquerade

其他类型的NAT规则,例如“dnat to”或“redirect to”,将以类似的方式显示,其回复元组的目的地不同于原始的。

conntrack记帐和时间戳记是两个有用的扩展。“sudo sysctl netnetfilternf_conntrack_acct=1”使每个流的“sudo conntrack -L”跟踪字节和数据包计数器。

“sudo sysctl netnetfilternf_conntrack_timestamp=1”记录每个连接的“开始时间戳”。然后,“sudo conntrack -L”显示自第一次看到流以来经过的秒数。添加“–output ktimestamp”也可以查看绝对开始日期。

您可以将条目添加到状态表。例如:

conntrackd将此用于状态复制。活动防火墙的条目将复制到备用系统。这样,备用系统就可以接管而不会中断连接,即使建立的流量也是如此。Conntrack还可以存储与网上发送的数据包数据无关的元数据,例如conntrack标记和连接跟踪标签。使用“update”(-U)选项更改它们:

sudo conntrack -U -m 42 -p tcp
这会将所有tcp流的connmark更改为42。

在某些情况下,您想从状态表中删除条目。例如,对NAT规则的更改不会影响属于表中流的数据包。对于寿命长的UDP会话(例如像VXLAN这样的隧道协议),删除条目可能很有意义,这样新的NAT转换才能生效。通过“sudo conntrack -D”删除条目,然后删除地址和端口信息的可选列表。下面的示例从表中删除给定的条目:

云场景下的NAT的基本原理没有大的变化。但要考虑租户隔离与租户运维等问题。

VPC及VPC下的子网网段是用用户自管理的,因此就要解决在一个设备上为多个可能地址重叠的租户提供NAT能力。因此我们使用了vxlan隧道技术来解决这个问题。
云计算中,为了解决租户隔离的问题,一般每个用户子网都会对应分配一个vni(vxlan net identity)。
因此我们可以用vni来标识不同vpc下的nat实例。

华为云NAT介绍
>上面那个讲的太复杂了,我给你讲述简单一点的嘛所为NAT过载就是在你配置NAT的时候在后面加上一个overload例如:ip nat inside source list 100 interface S0/1 overload 这个overload的作用就是使多个内网的私有IP地址映射成为一个公网IP地址,给你一个NAT过载的例子嘛例如网络中有switch 1台 路由器1台 switch的F0/1连接到router的F0/0,router的F0/1连接到ISP那么要使交换机下的所有主机都能上外网的话,配置如下第一步:定义你NAT范围可以是一个地址也可以是一个地址池=>ip nat inside source list 100 interface F0/1 overload (也可以是一个地址池,这里的接口表示我使用的就是哪个接口的地址作为出站地址)第二步:定义你的ACL表,就是你允许那些内部的主机访问外网access-list 100 permit any any第三步:定义你的出站接口和入站接口在router的F0/0接口下输入:ip nat inside 在F0/1下输入ip nat outside这样就完成了一个NAT的过载配置现在给你讲述哈NAT的知识,NAT有三种静态NAT 动态NAT PAT静态NAT和动态NAT都是一个IP地址对应一个IP地址所不同的是静态NAT的对应关系是绑定的每一个私网地址对应一个公网地址而动态NAT的对应关系是不绑定的每一个私网地址对应一个公网地址,但是下一次可能就不一定是你上次我使用的公网的地址PAT就是你所说的NAT过载,,他的特点就所有的私网主机可以对应一个公网IP地址


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10903800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存