鸟哥的 Linux ADSL 私房菜


简易 DHCP 服务器设定
最近更新日期:2003/03/15
 
如果您在工作单位使用的是笔记型计算机,而且常常要带着您的笔记型计算机到处跑,那么由前几章的『连上 Internet 』设定当中,会发现,哇!我的网络卡参数要常常修改啊!而且,每到一个新的地方,就得问清楚该地的 Server 提供的网络参数才行!真是麻烦~~这个时候,动态主机设定协议 (DHCP) 可就大大的派上用场啦!DHCP 这个服务器可以自动的分配 IP 与相关的网络参数给 Client 端,来提供 Client 端自动以主机提供的参数来设定他们的网络,如此一来,使用者只要将自己的 Notebook 设定好经由 DHCP 协议来取得网络参数后,一插上网络线,呵呵!马上就可以享受 Internet 的服务啦!很方便吧!所以得来瞧一瞧这个好用的协定喔!
 
原理
  :什么是 DHCP
  :DHCP 的运作方式
  :什么时候需要 DHCP
套件安装
设定 DHCP Server
  :DHCP 套件结构
  :主机的规划技巧
  :设定流程
设定 DHCP Client
除错与检视租约档案
重点回顾
参考资源
本章习题练习

原理:
套件安装:
在 Linux 上面 DHCP 套件的安装也是很简单的,不需要以 Tarball 来安装啦!直接拿出您的原版光盘, mount 他,并且找到 dhcp 字样的套件,使用 RPM 安装好就好了!以 mandrake 9.0 及 Red Hat 9 为例的话,您需要的 DHCP 套件为:
 
# 在 Mandrake 9.0 当中:
[root@test root]# rpm -qa | grep dhcp
dhcp-server-3.0-1rc9.2mdk
dhcp-common-3.0-1rc9.2mdk
dhcp-client-3.0-1rc9.2mdk
 
# 在 Red Hat 9 当中:
[root@test root]# rpm -qa | grep dhcp
dhcp-3.0pl1-23
dhcp-devel-3.0pl1-23
 
看到了吧!我们需要的套件在不同的 Linux 版本上面会有些许的差异喔!如果是 Mandrake 系列的话,DHCP 套件档案总数会有三个啰!如果没有安装的话,请拿出您的原板光盘(不论是那个 Linux distribution ,应该都是这三个套件名称啦!只是后面的版本可能不一样就是了!但是,需要注意的是,在 Red Hat 上面,这三个套件被整合成为一个,亦即是 dhcp-xxxx.rpm 的档案就是了!),先挂载上去,然后就以 rpm 给他安装啦!什么?不知道如何搞定 RPM ?唉啊!又得拿出『鸟哥的 Linux 私房菜 -- 基础学习篇』好好的 K 一 K 『 RPM 与 Tarball 的使用』。另外,如果在系统当中没有找到 dhcp 套件的话,还可以使用前面 网络升级套件 章节提到的 apt-get 或者是 urpmi 都是很好的安装方式吶! ^_^

设定 DHCP Server:
设定 DHCP Client
DHCP 的 Client 端,可以是 Windows 也可以是 Linux 呢!由于我的领域内刚好有两部 Client 端的计算机,一部为 Linux ( Red Hat 7.3 ) 另一部为 Windows 2000 ,这里就提一下,分别是怎样设定的呢?

除错与检视租约档案:
接着下来,我们就要努力的来除虫了!除虫的第一步,就是察看登录档啦!最常发生的错误其实大概就是:
  1. 写错字:不要笑!真的很容易写错字的!这很正常!所以大家要多多的去检查一下:
  2. 没有加上『 ;』符号号:是的,这也是最常发生的错误啦!
  3. 新版 DHCP 新增的功能限制:有时后也会有这样的讯息出现呢!
例如底下就是错误讯息的一般显示状态:
 
[root@test root]# vi /var/log/messages
Nov 23 23:32:25 vbird dhcpd: /etc/dhcpd.conf line 6: semicolon expected.
Nov 23 23:32:25 vbird dhcpd: option
Nov 23 23:32:25 vbird dhcpd: ^
Nov 23 23:32:25 vbird dhcpd: Configuration file errors encountered -- exiting
Nov 23 23:32:25 vbird dhcpd:
# 这一个例子告诉您,在第六行有错误!什么错误?呵呵!/etc/dhcpd.conf 中仔细检查啰!

Nov 23 23:34:12 vbird dhcpd: ** You must add a ddns-update-style statement to /etc/dhcpd.conf.
Nov 23 23:34:12 vbird dhcpd:    To get the same behaviour as in 3.0b2pl11 and previous
Nov 23 23:34:12 vbird dhcpd:    versions, add a line that says "ddns-update-style ad-hoc;"
Nov 23 23:34:12 vbird dhcpd:    Please read the dhcpd.conf manual page for more information. **
Nov 23 23:34:12 vbird dhcpd:
# 这个例子则在告诉您,您必须要新增一行字喔!不然不给您启动! ^_^

 
这样就能够检验成功了!修改上面是很容易的啦!
再来要讨论的则是那个租约档案的内容问题!去看一下 /var/lib/dhcp/dhcpd.lease 的内容吧!
 
[root@test root]# vi /var/lib/dhcp/dhcpd.lease
lease 192.168.1.100 {
  starts 6 2002/11/23 16:15:22;
  ends 5 2002/11/29 16:15:22;
  tstp 5 2002/11/29 16:15:22;
  binding state active;
  next binding state free;
  hardware ethernet 00:90:cc:08:49:13;
  uid "\001\000\220\314\010I\023";
}
lease 192.168.1.99 {
  starts 6 2002/11/23 16:33:16;
  ends 2 2002/11/26 16:33:16;
  binding state active;
  next binding state free;
  hardware ethernet 00:40:95:30:43:b4;
  uid "\001\000@\2250C\264";
  client-hostname "tools";
}
lease 192.168.1.99 {
  starts 6 2002/11/23 16:33:21;
  ends 2 2002/11/26 16:33:21;
  binding state active;
  next binding state free;
  hardware ethernet 00:40:95:30:43:b4;
  uid "\001\000@\2250C\264";
  client-hostname "tools";
}
 
看到了吧!这个就是租约档案的内容啦!详细的记载何时申请的租约,以及期限在哪儿!嗯!这样就完成记录啰!

重点回顾
参考资源:
本章习题练习 ( 要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看 )
简易 DHCP 服务器设定

2002/11/23:第一次完成
2003/03/15:加入相关重点回顾、与练习题
2003/09/10:修改版面去!

2002/11/24以来统计人数


Designed by VBird during 2001-2004.  Aerosol Lab.