为DHCP网络中的计算机分配固定的IP地址


11

我想为服务器分配一个固定的专用IP地址,以便本地计算机始终可以访问它。

当前,服务器的DHCP地址类似于192.168.1.66

我是否应该简单地为服务器分配与固定的相同的IP,并配置路由器,以使其从DHCP可用的IP中排除该IP?还是有一些IP地址范围传统上保留给静态地址?

我的初学者的问题与命令无关,而与一般原则和良好实践有关。


实际案例 (第1步,共2步)

感谢您提供许多好的答案,尤其是来自Liam的非常详细的答案。

我可以访问路由器的配置。

Routers's overview panel:
=========================
Connectivity type is set to DHCP and PPoE.
(...)

Network panel
=============
IPv4 address distribution (DHCP)
--------------------------------
Enable DHCP on LAN : Off
DHCP range starts at IP address : 192.168.1.33
DHCP range ends at IP address : 192.168.1.35
(...)
Nota bene: There is also an IPv6 section.

引导任何计算机时,它将在DHCP中获取其IPv4地址。

ipconfig all在Windows中使用该命令可以看到的IP地址和MAC地址与路由器显示的已连接设备列表中的IP地址和MAC地址相匹配,以便我可以确认谁是谁。

已连接设备的列表类似于

Description IP address              MAC address
«Unknown»   192.168.1.xx (static)   01:02:03:04:05:06
«Unknown»   192.168.1.yy (static)   07:08:09:10:11:12

我不明白的事情:

  • 尽管所有IP地址都是在DCHP中获得的,但路由器会将它们显示为静态地址。
  • 路由器的设置“在LAN上启用DHCP”设置为“关”,但是IP地址是通过DHCP获得的。
  • 属于计算机IP地址的很窄的DHCP范围之外192.168.1.33,以192.68.1.35

在以DCHP连接的任何Windows计算机上,ipconfig /all显示如下内容:

IPv4 Address    ........ 192.168.1.xx(prefered)
Default Gateway ........ 192.168.1.1  (= IP of the router)
DHCP server ............ 192.168.1.5

我想念什么,但是呢?


实际案例(2之2)

找到解决方案。

有关详细信息,请参阅此消息底部的我对Michal的评论的答案。

我必须承认,路由器显示事物的方式保留了一定的神秘性。默认情况下,路由器似乎使用DHCP,但会记住与之连接的设备(可能使用其mac地址)。这可能是为什么IP是动态的却将IP列为静态的原因。还有192.168.1.4用于某些企业通信服务的Cisco路由器,但我没有访问它的凭据。


没有管理DHCP保留范围的标准,但这会很好。
LawrenceC

某些路由器允许您为选定的mac地址定义IP。使用该地址,DHCP将为您的服务器保留该地址。您还可以在192.168.0.1/255.255.255.0网络中将DHCP范围设置为例如192.168.0.128-192.168.0.254,并在192.168.0.2-192.168.0.127范围内设置“静态”服务器上的所有静态地址。
Michal B.

@Michal B .:我同意并同时做到了:1.获取服务器的mac地址。2.观察哪些IP路由器受让人到计算机(例如,192.168.0.50192.168.1.70)3.启动在DHCP服务器。在路由器面板中,根据其mac地址命名它,以便路由器记住它。4.在服务器中,将IP从DHCP模式切换到手动模式,并分配超出路由器将分配给其他设备(例如192.168.1.100)的IP的IP 。您可以使用nmtui,然后编辑可替换PREFIX=32为的配置文件NETMASK=255.255.255.0。6.重新启动网络服务。
OuzoPower '18 -4-6

Answers:


15

确定分配给服务器的IP地址,然后转到DHCP并为该服务器设置DHCP保留。


1
保留实质上是自我记录。++
mfinni

5
@mfinni ++仅适用于程序员。--您的评论:P
加拿大卢克,

..是的,他还应该使用固定IP,并为其加上标签。记录下来。甚至为此保留一个范围。在使用内部VPN的企业中,通常将这些IP硬编码在HOSTS文件和SSH配置文件中,因此当它们突然更改时,这很重要。
mckenzm

10

DHCP服务在许多可能的实现中有所不同,并且传统上没有为静态地址保留的IP范围。这取决于您的环境中配置的内容。我假设我们正在考虑一种典型的家庭/ SOHO设置,因为您提到您的路由器正在提供DHCP服务。

我是否应该简单地为服务器分配与固定的相同的IP,并配置路由器,以使其从DHCP可用的IP中排除该IP?

我会说这不是最佳实践。许多用户路由器将无法从DHCP租用地址范围(称为“池”)中排除单个地址。另外,由于DHCP无法识别您已“固定”服务器上的IP地址,因此有发生冲突的风险。您通常可以:

  • 在DHCP配置中设置保留,以便DHCP服务始终为服务器设备分配相同的地址,或者
  • 为服务器设备设置一个静态地址,该地址在DHCP服务分配的地址池之外

要扩展这些选项:

DHCP预留

如果您的路由器允许保留,则第一个DHCP保留选项将有效地实现您的计划。请注意最大的区别:地址分配仍由DHCP服务管理,而不是在服务器上“固定”。服务器仍然请求一个DHCP地址,每次都获取一个相同的DHCP地址。

静态IP地址

如果您希望设置静态地址,则应检查路由器的(默认)配置,以确定用于DHCP租用的地址块。通常,您将能够看到配置为第一个地址和最后一个地址,或者第一个地址和最大客户端数。一旦知道这一点,就可以为服务器选择一个静态地址。

例如:路由器设置为最多允许128个DHCP客户端,第一个DHCP IP地址为192.168.1.32。因此,可以为设备分配从192.168.1.32到192.168.1.159(包括192.168.1.159)之间的任何地址。您的路由器将使用超出此范围的静态地址(通常是第一个或最后一个地址.1或.254),现在您可以为服务器选择任何其他可用地址。

TL; DR

这取决于您的DHCP服务的配置。检查可用于DHCP的设置,然后在DHCP中保留一个地址,或选择一个DHCP不使用的静态地址-不要越过流。


1
在此加倍。
ivanivan '18

1
感谢Liam的详细而有用的回答。访问路由器的配置后,出现了我在原始消息中添加的其他问题。
OuzoPower '18 -4-5

@OuzoPower我是在这里响应的新手,因此没有足够的代表对此问题发表评论。您的更新显示您的路由器不提供DHCP服务。路由器上的设置已关闭,您的Windows ipconfig输出显示192.168.1.5的设备提供了DHCP服务。您是否有Pi-Hole或其他提供DHCP的类似设备?在此可以找到DHCP配置。注意:这也解释了为什么路由器将地址显示为静态,以及DHCP分配的地址为何不在路由器上配置的范围内。
利亚姆

@利亚姆:据我所知,没有皮孔或类似的东西。找到的解决方案:因为我无法在路由器中设置DHCP范围,但可以在路由器中注册服务器的mac地址,然后将远远超出路由器自然分配给现有设备范围的固定IP地址分配给服务器。由于注册了服务器的mac地址,路由器将其保留在内存中,并在服务器关闭时显示服务器丢失。有关详细信息,请参阅原始帖子中我对Michal B.的回答。该解决方案似乎很有吸引力。
OuzoPower '18 -4-6

@OuzoPower短期内该方法可能有效,但您如何知道选择的地址不在DHCP范围内?许多DHCP系统从可用池中随机选择地址。在某些时候,您将需要知道 DHCP的实际配置,而不是通过观察(!)进行估算,否则您将遇到一些冲突。您的问题询问最佳实践。在这里,最佳实践是知道哪个系统正在为您的LAN处理DHCP。我将从访问192.168.1.5https://192.168.1.5/开始寻找线索。
利亚姆'18

1

将子网划分为DHCP池范围和静态范围不是一个坏习惯,但是您当然可以执行JohnA编写的操作-为服务器使用预留空间,但是第一种情况更清晰,因为您并不会搞乱DHCP服务器。未使用的额外设置(这可能会使其他不知道服务器是静态的管理员感到困惑)。如果使用DHCP池+静态池,那么别忘了将静态服务器添加到DNS(为其创建A / AAAA记录)。


我想补充一点,为服务器保留DHCP的缺点是,如果您的DHCP环境没有足够的容错能力,则DHCP服务器中断可能会引起各种问题。密切监视DHCP,并设置足够长的租约,即使在漫长的周末之后也可以响应问题。
JohnA

1

我更喜欢设置需要静态IP地址超出DHCP池范围的网络设备,服务器,打印机等。例如,将xx.xx.xx.0到xx.xx.xx.99留给固定IP分配,将xx.xx.xx.100到xx.xx.xx.250设为DHCP池。


我也喜欢这种方法。这样,即使DHCP服务器放假或决定开始分发无效的租约,我仍然可以访问服务器!
ErikF

使用isc-dhcp-server它是必需的(这是我的pi所做的,以及DNS缓存,LAN的假域以及一些无线设备的流量整形)。不幸的是,我见过基于浏览器的路由器配置页面(出厂和替换),这些页面要么需要保留地址,要么要保留在动态池中。
ivanivan '18

1

除了其他答案外,我想集中讨论一个事实,即您的路由器配置似乎不适合服务器上的IP地址配置。

请看一下ipconfig / all的输出:

IPv4地址........ 192.168.1.xx(首选)

默认网关........ 192.168.1.1(=路由器的IP)

DHCP服务器............ 192.168.1.5

网络中的客户端不从路由器获取IP地址,而是网络中的其他DHCP服务器(192.168.1.5而不是192.168.1.1)。您必须找到该服务器并检查其配置,而不是路由器的DHCP服务器配置,后者似乎仅用于无线网络。


0

我的路由器(OpenWRT)允许静态DHCP租约。

静态租约用于为DHCP客户端分配固定的IP地址和符号主机名。

因此,您提供服务器的MAC地址及其所需的IP地址作为“静态租约”,而DHCP将始终分配相同的IP。客户端计算机(在这种情况下为服务器)无需进行任何配置更改,仍然可以从DHCP中获取其IP地址(配置的地址)。


-2

请注意,您不能在192.168中分配固定的IP地址,以便客户端可以“始终访问它”,除非您还为每个客户端都提供了固定的IP地址和子网。因为如果客户端使用DHCP,则它们将获得DHCP服务器为其提供的任何子项,并且如果使用自动寻址,则它们将不在192.168子网中。

一旦意识到无法轻松完善该系统,您就会发现最佳选择取决于您要执行的操作。Upnp是使设备可见的一种常用方法。DNS是使设备可见的一种常用方法。WINS是使设备可见的一种常用方法。DHCP是使设备可见的一种常用方法。

我所有的打印机都有保留:我的打印机不是关键基础架构,我希望能够对其进行管理,无论如何,许多客户端都使用UPNP或mDNS进行发现。

我的网关和DNS服务器在保留范围内具有固定的IP地址:我的DHCP服务器提供网关和DNS地址,而我的DHCP服务器没有能力进行动态发现或DNS查找。

我的所有流传输设备都没有固定或保留的IP值:如果网络中断,以致DHCP和DNS无法正常工作,则客户端无论如何都无法连接到固定IP地址。


这从字面上讲是没有意义的。您是在说不能在/ 16中混合使用静态和动态吗?
Gaius

我曾断言,如果您使用静态,则不会保证客户端可以“始终访问”它根本不会。我刚刚断言我在设置中混合了静态和动态。
user165568 '18

@Gaius我断言,如果使用静态,则不能保证客户端可以“始终访问”它。抱歉,这对您没有意义:这是世界脱离静态的主要原因之一。我还断言我在设置中混合了静态和动态:请参阅:“我的流媒体设备均未固定或保留”和“ DNS服务器具有固定IP”:DNS服务器确实与服务器位于同一子网中客户。
user165568

抱歉,我必须不了解您的大部分回答。据我所知,DNS是域名服务器,当您要命名服务器时(例如,将域名分配给网站时),DNS很有用。由于我不需要域名,DNS对我来说毫无用处。没有DNS,访问服务器不是问题。有关我找到的解决方案,请参阅原始帖子中对Michal B.的回答。
OuzoPower '18 -4-6
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.