我正和一个工作人员进行一场“热烈的”辩论,讨论在networking环境中使用DHCP的原因。 特别是networking环境是一个相对较小的networking,但根据我的经验,最好在静态地址上安装服务器,特别是远程pipe理等。
我看了一下,可以find任何具体的原因,或对服务器上分配的dynamic地址,所以我想我会问这里的人群。
我的工作联系人争辩说DHCP分配的服务器地址,以便于pipe理,并说明如果地址有变化,您不必手动更改服务器IP。 我很怀疑这个回应。
出于pipe理的目的,这个networking很小,改变静态设备的IP并没有什么大不了的。
任何build议,想法或意见?
为什么不把cfengine或puppet和静态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 。
优点:
缺点:
我不同意使用DHCP服务器的想法 – 尽pipe在非常大的networking上,我可以想象这可能会模糊 – 但它是一个偏好问题,而不是一个硬性和速度的事情 – 你可以保留服务器的地址等(虽然如果你这么做的话,那么为什么不把它们变成静态的,这使我回到了为什么我不同意它呢)。
我认为一些服务器应用程序要么显式地要求静态IP地址,要么如果地址确实发生了变化,就不会performance得很好。 对我来说,那些往往很难指出这是一个坏主意。
您需要使用DHCP预留来为服务器保留分配的IP,并避免将其IP分配给其他PC。
你可以得到最好的两种方法:使用DHCP的一切预留工作站的范围和固定IP到每个服务器的MAC地址。
您希望将静态IP地址与需要公共私有IP转换的服务器一起使用。 例如,一个电子邮件或网站服务器位于防火墙之后,应该可以从互联网上访问。 任何提供域服务的东西都应该使用STATIC。 大多数其他东西都可以使用DHCP,但要谨慎使用,因为它有其他人提到的潜在缺陷。