NAT是否映射到MAC地址或本地IP?


3

我想设置NAT,以便使用Technicolor TG 582路由器在Internet上提供服务。我提到特定的路由器模型只是为了提供参考,但问题通常存在,因为我可能需要将此编程与其他路由器一起使用。

我想让DHCP服务器为服务分配地址,但同时使用NAT指向服务。

同事们告诉我,如果让DHCP将IP分配给设备,则特定的NAT规则最终将失败,因为路由器上的DHCP服务器将随着时间的推移更改分配的本地IP,从而使NAT端口链接无效- -是本地IP,而不是设备的MAC(物理)地址。

基于此信息,我的实践是对路由器后面要从外部访问的任何服务使用静态IP。但是,显然路由器有时会通过其MAC“识别”设备,有时还会通过其本地IP“识别”设备。我自己的逻辑告诉我,路由器应将外部的特定端口请求“路由”或NAT到我拥有服务的MAC地址,而不是IP。

那是什么呢?问题的第二部分是,如果DHCP服务器重新启动,或者,例如,客户端设备脱机,然后又重新启动,DHCP服务器将尝试维护分配给该设备的先前的本地IP,还是将其保留?只是选择下一个可用的IP?

Answers:


4

要回答所问的问题:

NAT是第3层网络的作用-路由数据包时会发生,而MAC地址是第2层网络的情况-它们仅在本地网络上有意义。因此,要回答您的问题,您不能将NAT转换为MAC地址-NAT的概念不能跨层工作。

要回答实际的问题(如何使用DHCP并确保NAT仍然有效):

您只需要在DHCP中保留IP地址,这样它就不会随时间变化。这绑定到计算机的MAC地址。因此,它告诉DHCP服务器,如果对IP地址的请求来自特定的MAC地址,则应为其分配特定的IP地址。


1

随着时间的推移,路由器上的DHCP服务器将更改分配的本地IP。

不,这只是默认行为。您可以为具有MAC保留的计算机分配特定的IP。

每个DHCP服务器的操作方式各不相同:

许多SoHo设备都有一个Web界面来执行此操作。该界面各不相同。

在Windows上,您可以打开DHCP服务器管理控制台并设置保留。

在Linux安装上,它取决于所使用的软件,但是大多数时候您可以编辑/etc/dhcpd.conf和添加如下内容:

 host name_of_your_PC
 {
     hardware ethernet 00:11:22:33:44:55;
     fixed-address 1.2.3.4;
 }

基于此信息,我的实践是对路由器后面要从外部访问的任何服务使用静态IP。

服务器的静态IP地址是一件好事。
(以及网络打印机,扫描仪和类似设备的静态IP地址)。

但是,您可以通过两种方式进行设置:
1.困难。在设备上配置静态IP。2.使用DHCP并设置保留。

最后一种方法更清洁,因为您只有一个地方可以管理配置。唯一的缺点是(如果)DHCP服务器宕机。两者都是有效的选项。

但是,显然路由器有时会通过其MAC“识别”设备,有时还会通过其本地IP“识别”设备。

如果您具有DHCP的背景知识,它将很有帮助。简而言之,它是这样的:

  • 一台新设备启动了NIC并广播“嗨,我是AA:BB:CC:DD:EE:FF。我想获得在该网络上工作所需的信息”。(DHCP请求)
  • DHCP服务器注意到广播并回复:
    “ AA:BB:CC:DD:EE:FF,您可以使用此IP在此期间有效。”。它还可能提供DNS的设置,默认网关和主机名。最后一个是可选的。(DHCP确认)

服务器还可以拒绝DHCP请求。

假设新设备获得IP 1.2.3.4,并被告知可以使用该设备4个小时。经过一半的时间(2小时)后,它将要求续约。“嗨,DHCP服务器。我已经从您那里获得了该IP。我想继续使用它一点。再过4个小时还好吗?”。

(想在图书馆租一本书,打电话给他续约)。

通常,这种情况会永远持续下去,并且设备将永远永远使用相同的IP。您的NAT将继续指向正确的位置,一切都会好起来。

现在,如果您关闭计算机一天的时间,则无法再对其进行更新。它将不得不要求全新的租赁。让我们素描一下:

PC1 gets IP 1.2.3.4 for 4 hours.  
PC1 gets power off for the weekend.  
PC2 get boots and gets a IP 1.2.3.4
PC1 boots and asks for an IP. 
    It will get an IP, but not the same one as before.

这是按设计运行的。(否则,旧设备只会慢慢填满已用IP表。)

我自己的逻辑告诉我,路由器应将外部的特定端口请求“路由”或NAT到我拥有服务的MAC地址,而不是IP。

否。NAT在IP层上工作。NAT不知道MAC地址。

如果DHCP服务器重新启动,或者例如客户端设备脱机,然后重新启动,DHCP服务器将尝试维护分配给该设备的先前的本地IP,还是仅选择下一个可用的IP?

这取决于DHCP服务器。有些人只会在他们的列表中分发第一个免费IP。有些人会记住以前使用的IP,并且-如果仍然免费-将同一IP分配给同一设备。这里没有通用的一种尺寸首先全部回答。


0

NAT是TCP / IP(OSI传输)层的现象,因此MAC不足以实现其目的。请记住,TCP / IP运行在除以太网之外的其他网络上,以太网可能根本不使用MAC地址。由于其是在Internetwork层之上实现的,因此您需要考虑将NAT转发的流量路由到与NAT网关不在同一LAN上的系统的能力(例如,您使用VLANS并有一个路由器在它们之间路由,或者多个子网)。您需要一个IP地址才能在网络之间路由。

您的同事是正确的,传统准则是服务器应静态分配,工作站应动态分配。这样,如果服务器出现故障,则可以将该地址分配给备份服务器,它将立即开始处理请求。

DHCP服务器通常将相同的IP地址分配给相同的MAC,但是这种情况偶尔会崩溃。几周前,我开始无缘无故地开始使用新地址。DHCP服务器确实存储了IP到MAC的映射,因此重新启动后它仍然会存在。请注意,如果客户端已经具有IP,并且DHCP服务器重新启动,则该客户端甚至不会注意到,除非它也已重新启动并再次请求地址。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.