Linux基础服务 ·

DHCP进阶设定

如果要管理的是几十部甚至是几百部的计算机时,却需要能够根据区域来进行 IP 的给予划分时,固定 IP 配合 MAC 就显的很重要了!那么如何取得每部主机的 IP 呢?还有,你怎么查询到相关的租约呢?以及,如果你还想要进行远程开机, 帮使用者在固定的时间就开机呢?那就来看看底下的其他用途吧!

检查租约文件

客户端会主动的纪录租约信息,那服务器端当然也会进行记录!服务器端是记录在这个地方:


从这个文件里面我们就知道有多少客户端已经向我们申请了 DHCP 的 IP 使用!

让大量设备具有固定 IP

如果你有一百台计算机要管理,每部计算机都希望是固定 IP 的情况下,那就需要通过 DHCP 的 fixed-address 来处理!

但是,这一百台计算机的 MAC 如何取得?你要怎么改啦? 难道每部计算机都去抄写,然后再回来设定 dhcpd.conf 吗?这也太可怕了吧?

既然每部计算机最终都得要开机, 那么在开机之后,利用手动的方法来设定好每部主机的 IP 后,在根据底下的脚本来处理好你的 dhcpd.conf !


这个脚本的想法很简单,如果管理的计算机都是 Linux 的话,那么先开机后使用『 ifconfig eth0 YOURIP 』 来设定对应的 IP ,在这个例子中,我使用的是 192.168.100.X/24 这个区段,此时 IP 就设定好了! 然后在通过上面的脚本跑一次,每部计算机的 MAC 与 IP 对应就顺利的写入 dhcpd.conf ! 然后再将它复制至 /etc/dhcp/dhcpd.conf 即可!如果你管理的计算机是 Windows 的话, 那使用文字接口下达『 netsh interface ip set address xxx 』之类的指令来修订!

远程自动开机 (remote boot)

既然已经知道客户端的 MAC 地址了,如果客户端的主机符合一些电源标准, 并且该客户端主机所使用的网卡主板支持网络唤醒的功能时,我们就可以通过网络来让客户端计算机开机了。 如果你有一部主机想要让他可以通过网络来启动时,你必须要在这部客户端计算机上进行:

  1. 首先你得要在 BIOS 里面设定『网络唤醒』的功能,否则是没有用的!
  2. 再来你必须要让这部主机接上网络线,并且电源也是接通的。
  3. 将这部主机的 MAC 抄下来,然后关机等待网络唤醒。

接下来请到永远开着的主机 DHCP 服务器上面 (其实只要任何一部 Linux 主机均可!) ,安装 net-tools 这个软件后, 就会取得 ether-wake 这个指令,这就是网络唤醒的主要功能!那该如何使用这个指令呢?假设客户端主机的 MAC 为 11:22:33:44:55:66 并且与我的服务器 eth1 相连接好了,那么你想要让这部主机被唤醒,就这样做:

然后你就会发现,那部客户端主机被启动了!以后如果你要连到局域网络内的话, 只要能够连上你的防火墙主机,然后通过这个 ether-wake 软件,就能够让你局域网络内的主机启动了, 控管上面就更加方便!你说是吧!

DHCP 与 DNS 的关系

我们知道局域网络内如果很多 Linux 服务器时,你得要将 private IP 加入到每部主机的 /etc/hosts 里面, 这样在联机阶段的等待时间才不会有逾时或者是等待太久的问题。问题是,如果计算机数量太大,又有很多测试机时, 这时你得要常常去更新维护那些重装过的机器的 /etc/hosts ,非常的麻烦。

此时在区网内架设一部 DNS 服务器负责主机名解析就很重要!因此既然已经有 DNS 服务器帮忙进行主机名的解析,那你根本不需要更动 /etc/hosts !未来的新机器或者是新灌的计算机也不需要改写任何网络参数,这样维护会轻松很多。 因此,一个好的区网内,理论上,我们应该在 DHCP 服务器主机上面在安装一个 DNS 服务器,提供内部计算机的名称解析为宜。 相关的设定就请参考 DNS 的介绍。

参与评论