服务器 频道

Liunx架站之架设DHCP服务器4:设定 Server

  【IT168 服务器学院】设定 DHCP Server:

  好不容易!终于到了要架设 DHCP Server 的时候了,哇!好感动.....咦!鸟哥怎么老是在唱单口相声.

  其实要设定好一个 DHCP 主机还真是蛮简单的,只要设定一个档案即可!但是前面的确认工作请先仔细的查验好!

1. 确认硬件的联机没有问题:

  这可是架设网站的第一个重点!如果你的硬件没有搞定,那么软件再怎么厉害,呵呵!也是没有用的啦!目前我的架构就像底下这样,我的 Linux 主机上面有两张网络卡,一张对内一张对外喔! 



2. 确认 dhcp 的相关套件已经安装好了:

  如果您还不知道如何确认你的主机上面是否已经安装了某个套件,很抱歉,请不要学习架站啦!我们这里以 RPM 档案及使用 Mandrake 9.0 为范例说明,使用 rpm 来查询吧!

 


  看到了吧!我们需要的套件就是这三个啰!如果没有安装的话,请拿出您的原板光盘(不论是那个 Linux distribution ,应该都是这三个套件名称啦!只是后面的版本可能不一样就是了!但是,需要注意的是,在 Red Hat 上面,这三个套件被整合成为一个,亦即是 dhcp-xxxx.rpm 的档案就是了!),先挂载上去,然后就以 rpm 给他安装啦!什么?不知道如何搞定 RPM ?参考这里『 RPM 与 Tarball 的使用』。
 
3. 确认 dhcp 相关设定档案摆放的路径:

  请您特别留意的是,不同的 Linux distribution 中,每个套件的设定文件放置的位置都不相同,例如 OpenLinux 使用的 dhcp 设定档放置在 /etc/dhcpd/dhcpd.conf ,而 Red Hat 与 Mandrake 则放在 /etc/dhcpd.conf 里头!那么我要怎么确认呢?呵呵,因为我知道设定档案与 server 有关,所以当然是查询 dhcp-server 这个套件啰,要查询设定档,可以加上 c 的参数,所以:



  知道那个 /etc/dhcpd.conf.sample 是范例文件,注意,我们的 DHCP 设定档之档名为 dhcpd.conf ,所以啰,马上就知道我们的设定档案即为 /etc/dhcpd.conf 啰!咦!这个档案不存在哪!没有关系,我们要自动的建立这个档案喔!除此之外,如果您是使用 RPM 安装的 DHCP ,那么察看一下 /etc/rc.d/init.d/dhcpd 这个 scripts 的内容,也可以知道设定参数文件的位置,甚至修正他的位置呢!
 
4. 设定 dhcpd.conf 设定档:

  好了,那么来到最重点啦!我们的 DHCP 就只要设定这个档案即可!那么这个档案如何设定呢?基本上,我们刚刚前面提过说, DHCP 的 IP 分配可分为给予动态 IP 与静态 IP ,其中,又需要了解的是,如果需要设定静态 IP 的话,那么就必须要知道要设定成静态 IP 的那部计算机的硬件地址 (MAC)才行,请使用 arp 及 ifconfig 来查知您的接口的 MAC 吧!此外,我们需要设定的项目大概有几项:
 
o 整体设定(Global):里面含有租约期限啦、或许还有 DNS IP 与 router 的设定等等内容;

o 动态 IP 设定:使用 subnet 的项目与 range 的参数来设定要分配出去的 IP !请先确认好您的网段喔!

o 静态 IP 设定:使用 host 这个项目段,配合 MAC 来设定!
 
在 dhcpd.conf 这个档案里头有些地方要特别留意:

 
o 『#』为批注符号;

o 除了括号那一行之外,其它的每一行后面都要以『 ; 』做为结尾!这很重要!
 
那么我的网络环境是怎样呢?
 
o 目前我的内部网段设定为 192.168.1.0/24 这一段,且 router 为 192.168.1.2 ,此外, DNS 的 IP 为中华电信的 168.95.1.1 及 Seednet 的 139.175.10.20 这两个;

o 我想要让每个使用者预设租约为 3 天,最长为 6 天;

o 我只想要分配的 IP 只有 192.168.1.21 到 192.168.1.100 这几个,其它的 IP 则保留下来;

o 我还有一部主机,他的 MAC 是『 00:40:95:30:43:B4 』,我要给他的主机名称为 vbird-inside ,且 IP 为 192.168.1.5 这个。
 
则,我的设定档为:


 

 



  在 Global 的设定当中,也就是不在 subnet 与 host 的括号内的设定资料,就是可以被视为『预设』的资料啦!也就是说,当 subnet 里头没有写到租约期限啦、没有写到 domain-name 啦,那么这个 Global 的设定就会自动被拿去做为该设定内的设定内容啰!
 
5. 建立租约期限档案:

  既然我们知道 DHCP 是由用户与主机端之间的租约是否到期来进行是否继续联机的动作,那么自然就有所谓的『签约仪式』啰!哈哈!真会掰!这个时候,我们就得要知道一下,那么我到底要在哪里设定这个租约期限档案呢?如果在比较早期的版本中,这个步骤一定要进行的!不过,目前的版本中,似乎预设已经有这个租约期限档案了!无论如何,还是作一下比较安心啦!



  这个档案倒是蛮有趣的!因为在实际的运作过程中,这个档案本身不会有什么作用,但是在激活了 DHCP 之后,这个档案会被 copy 一份成为底下的档案: 『/var/lib/dhcp/hdcpd.conf 』而真正在记录的,其实就是这个 /var 底下的档案啦!后面我们再来看一下这个档案的内容吧!目前还不会用到这个档案的内容啰!
 
6. 编辑 scripts 内容:

  咦!不是可以激活了吗?喔不~我们还得要检查一下,你要提供 DHCP 的接口是哪一个呢!就如同我上面的图标,基本上,我的主机是有两块网络卡的,一块对外一块对内,而我只对这个对内部的网络卡激活 DHCP ,因此,我可以修改一下我的 /etc/rc.d/init.d/dhcp 这个档案:注:我是以 Mandrake 9.0 为例来说明的,如果您是使用 Red Hat 或者是 OpenLinux 等其它版本时,你应该可以找到『 daemon /usr/sbin/dhcpd 』那一行,将他改成底下的样子也就可以啦!



  基本上,上面的 /etc/dhcpd.conf 设定档案的所在目录是可以变动的!就在这里进行更动即可!你可以使用 man dhcpd 就可以知道每个参数代表的意义了!请注意,那个 start() 里面的信息,只要更动找到的 daemon .... 那一行即可!至于上面的参数设定内容,则可以参考 BASH 的变量设定方法来写!目前因为我们只要针对 eth0 来启用 DHCP 而已,所以上面 INTERFACES 的部分我就写入了 eth0 而已,如果你还要激活 eth1 的话,那么就需要:『 INTERFACES="eth0 eth1"』两个接口中间以空格符来隔开!这样,大致上就已经设定妥当了!准备来去激活啦!
 
7. 激活 DHCP 服务:

  激活服务的方法不需要再教了吧!?直接给他执行刚刚改过的 scripts 即可:

 

  注意屏幕前面要显示 OK 才可以呢!好了,除此之外,我们还要确认 DHCP 已经激活才行!
 
8. 确认正确的激活 DHCP :观察激活的 port 号与登录文件的讯息:

  要注意的是,虽然我们已经驱动了 script 了,不过,你仍然不会知道,那个 script 是否真的让你的 service 激活了哪?所以,在激活任何的服务之后,观察一下两个东西,一个是 port 是否以激活,另一个则是到登录文件去查询一下讯息!这都是很重要的信息呢!所以,你应该这样做:



  仔细的看到喔! DHCP 显示的是 bootps 这个字样! WHY ?没有什么奇特的原因啦,因为 DHCP 的前身就是 bootps 这个 protocol ,所以当然就沿用啦!如果你想要修改这个字眼使成为 dhcp 的话,可以修改 /etc/services : 



  那未来使用 netstat -tln 就可以得到 dhcp 的显示了!嗄!忘记 netstat 后面的参数意义!喂!不要再混了!赶快回去修练修练等级吧!
 
9. 修改 /etc/hosts 档案内容对应:

  如果你有仔细的瞧过俺写的写过的 网络基础 一文的话,那么应该还会记得那个 /etc/hosts 会影响内部计算机的联机速度很大吧?!那么我现在使用 DHCP 之后,糟糕!我怎么知道哪一部 PC 连上我的主机,那么要怎么填写 /etc/hosts 的内容呢?这真是太简单了!那就将所有可能的计算机 IP 都加进去该档案呀! ^_^ !以我为例,在这个例子中,我的分配的 IP 至少有 192.168.1.5, 192.168.1.21 ~ 192.168.1.100 ,所以我的 /etc/hosts 可以写成:



  这样一来,所有可能连进来的 IP 都已经有纪录了,哈哈!当然没有什么大问题啰!

0
相关文章