DHCP寻址与服务器的静态寻址

我正和一个工作人员进行一场“热烈的”辩论,讨论在networking环境中使用DHCP的原因。 特别是networking环境是一个相对较小的networking,但根据我的经验,最好在静态地址上安装服务器,特别是远程pipe理等。

我看了一下,可以find任何具体的原因,或对服务器上分配的dynamic地址,所以我想我会问这里的人群。

我的工作联系人争辩说DHCP分配的服务器地址,以便于pipe理,并说明如果地址有变化,您不必手动更改服务器IP。 我很怀疑这个回应。

出于pipe理的目的,这个networking很小,改变静态设备的IP并没有什么大不了的。

任何build议,想法或意见?

为什么不把cfenginepuppet和静态IP地址组合起来? 从鸟瞰的angular度来看,这是两者中最好的 – 集中式configuration,而不会丢失关键path服务。 它提供了一个中心的方式来搞砸了吗? 是的,但DHCP也是如此。

在我工作的大型设备中,这一切都是通过pipe理kickstart和cfengine的组合来完成的,而且它的工作非常精美。 此外,大多数(如果不是所有)VPS提供商都使用计算工具来计算IP地址,并在创build的实例中静态设置它们 – configurationpipe理+静态IP地址的另一个例子。

对于一个足够大的安装,你应该使用configurationpipe理,接近完全自动化的部署,更不用说变更控制程序,这些程序将阐明(理想情况下)。

我看到DHCP用于服务器的最大问题是,如果出于某种原因,DHCP服务永远closures,您的服务器可能会丢失其IP地址。 除此之外,通过控制DHCP租约(控制默认网关),还能够通过中间人服务器的安全风险。 而且,正如其他海报所说,一些服务器/服务需要静态IP地址(域控制器是一个很好的例子)。

虽然有一些服务器function,必须有本地定义的IP,我是使用DHCP的服务器地址的巨大风扇。

首先,正如其他人所指出的那样,您可以(也应该)使用DHCP来提供静态地址。 假设Linux,你需要在你的dhcpd.conf中:

 host server { option host-name "server.example.com"; hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address server.example.com; } 

在您的DNS区域文件中,将一个IP分配给server.example.com

优点:

  • DNS区域文件现在是所有IP分配的“真实的一个来源”。 使查找错误变得容易(重复的IP地址,拼写错误),并确保每个人都可以无误地find服务器的IP地址
  • networking基础设施的变化可以很容易地传播。 推出备份DNS服务器? 只需将其添加到DHCPconfiguration文件中,所有系统都会在续订租约时将其提取出来。
  • 根据定义,对机器的IP和机器的DNS条目的更改不能同步。 将机器移动到新的子网? 在一个地方改变IP,你就全部设置好了。

缺点:

  • 你已经添加了一个重要的失败点。 用备份的DHCP服务器缓解这个问题。 长租赁时间也可以帮助。
  • 生成树学习模式阻止DHCP请求,这会显着延长机器启动时间,甚至导致DHCP超时。 使用portfastclosuresselect端口上的生成树。 顺便说一下,工作站的好主意。

我不同意使用DHCP服务器的想法 – 尽pipe在非常大的networking上,我可以想象这可能会模糊 – 但它是一个偏好问题,而不是一个硬性和速度的事情 – 你可以保留服务器的地址等(虽然如果你这么做的话,那么为什么不把它们变成静态的,这使我回到了为什么我不同意它呢)。

我认为一些服务器应用程序要么显式地要求静态IP地址,要么如果地址确实发生了变化,就不会performance得很好。 对我来说,那些往往很难指出这是一个坏主意。

您需要使用DHCP预留来为服务器保留分配的IP,并避免将其IP分配给其他PC。

你可以得到最好的两种方法:使用DHCP的一切预留工作站的范围和固定IP到每个服务器的MAC地址。

您希望将静态IP地址与需要公共私有IP转换的服务器一起使用。 例如,一个电子邮件或网站服务器位于防火墙之后,应该可以从互联网上访问。 任何提供域服务的东西都应该使用STATIC。 大多数其他东西都可以使用DHCP,但要谨慎使用,因为它有其他人提到的潜在缺陷。