今天我们的课程是DHCP服务器的架设,在安装虚拟机的时候网卡选择桥接的就可以.
DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务。
当然高级的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息
安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功能的客户机称为DHCP客户端,DHCP服务器是以地址租约的方式为DHCP客户端提供服务的,它有以下两种方式。
限定租期
永久租用
学DHCP服务器,就一定要知道DHCP服务器的工作原理,不然你就白学了
DHCPDISCOVER(DHCP发现)
DHCPOFFER(DHCP提供)
DHCPREQUEST(DHCP请求)
DHCPACK(DHCP确认)
 
这个4个步骤,是client获取IP地址必经的步骤
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第1张图片
在第二步,DHCP提供的时候,服务器已经给client分配了IP地址,第二部分分给client的IP地址是临时的,client得到这个IP地址后,会发出DHCP请求,请求租用这个地址,服务器收到请求后,就会正式把这个地址分配给client,继而向client发送DHCP确认。
这个四步主要是应对同一网络多个DHCP服务器
后台进程:dhcpd
脚本:/etc/rc.d/init.d/dhcpd
使用端口:67
所需RPM包:dhcp
相关RPM包:
dhcp-devel-3.0.5-7.el5.i386.rpm
dhcpv6-0.10-33.el5.i386.rpm
dhcpv6_client-0.10-33.el5.i386.rpm
配置文件:/etc/dhcpd.conf
日志:/var/log/xferlog
68号是网络启动模式使用的,暂时不讨论
再提示一点吧,网络启动方式也叫bootpc,这样获取的IP地址是不会受服务器的租期限制的,它永远有效
好了,我们先安装DHCP服务器
p_w_picpath
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第2张图片
编辑DHCP的主配置文件
vim /etc/dhcpd.conf
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第3张图片
这里的意思是see的路劲是一个模板
我们把这个文件内容导进来,在末行模式运行以下命令
末行模式使用 : r  文件名
:r /usr/share/doc/dhcp*/dhcpd.conf.sample
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第4张图片
这样模板就被导入进来了
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第5张图片
使用模板的好处
第一自己写配置文件,麻烦还容易出错
第二使用模板架设很快,只需要修改几个参数就OK了
 
ddns-update-style 类型 定义所支持的DNS动态更新类型(必选),一般我们设置成关闭,interim和none都是关闭的意思
allow/ignore client-updates 允许/忽略客户机更新DNS记录  
subnet 网络号 netmask 子网掩码 {…} 定义作用域(或IP子网) 
p_w_picpath
配置文件已经说的很清楚了 option routers ,网关,我的网关是192.168.0.1
p_w_picpath
nis-domain 局域网内有nis服务器的,可以设置nis服务器的域名
p_w_picpath
我没有架设nis服务器,所以这行可以注释了
下一行是domain-name,域名
我的是wanxuan.com
域名服务器是我这个机器的IP,192.168.0.1
p_w_picpath
linux当然有超级域,linux也能实现中继DHCP,相关设置参考 [RHEL5企业级Linux服务攻略]--第3季 DHCP服务全攻略 
time-offset:为客户端指定格林威治时间偏移时间,单位秒,该选项可以在全局配置、局部配置均可使用。
ntp-servers:NTP是时间服务器
netbios-name-servers:是微软的名字服务器
p_w_picpath
NTP服务器,你可以设置一个外网的,如果觉得没必要就可以不设置
range dynamic-bootp 就是动态分配的IP地址池,这个是IP地址是连在一起的地址池范围
下面两行是默认租期和最大租期,单位是秒
p_w_picpath
如果你某个主机要固定获取某个IP,就可以使用下面的功能,next-server 这里用不上,意思就是下一个服务器,一般指向tftp的,一般是PXE网络使用这个参数
p_w_picpath
好了,保存退出
重新启动服务
p_w_picpath
记住,配置文件中的{}一定要对应,还有第一个参数ddns-update-styple 必须要,一般就不会出什么问题了
看下日志 cat /var/log/messages
[root@rhel5 ~]# cat /var/log/messages
Mar 22 04:02:10 rhel5 syslogd 1.4.1: restart.
Mar 22 04:02:09 rhel5 nmbd[24089]: [2009/03/22 04:02:09, 0] nmbd/nmbd_workgroupdb.c:dump_workgroups(282)
Mar 22 04:02:09 rhel5 nmbd[24089]:   dump_workgroups()
Mar 22 04:02:09 rhel5 nmbd[24089]:    dump workgroup on subnet   192.168.0.188: netmask=  255.255.255.0:
Mar 22 04:02:09 rhel5 nmbd[24089]:      WANXUAN(7) current master browser = SERVER
Mar 22 04:02:09 rhel5 nmbd[24089]:      WORKGROUP(6) current master browser = LENOVO-A5A67FC0
Mar 22 04:02:09 rhel5 nmbd[24089]:      MYGROUP(1) current master browser = RHEL5
Mar 22 04:02:09 rhel5 nmbd[24089]:              RHEL5 40849a03 (Samba Server Version 3.0.25b-0.el5.4)
Mar 22 08:38:43 rhel5 kernel: VFS: busy inodes on changed media.
Mar 22 08:38:49 rhel5 last message repeated 7 times
Mar 22 08:48:06 rhel5 scim-bridge: Panel client has not yet been prepared
Mar 22 08:48:09 rhel5 Panel client has not yet been prepared
Mar 22 08:48:09 rhel5 scim-bridge: Panel client has not yet been prepared
Mar 22 08:53:07 rhel5 kernel: VFS: busy inodes on changed media.
Mar 22 08:53:38 rhel5 last message repeated 33 times
Mar 22 08:54:21 rhel5 last message repeated 42 times
Mar 22 13:27:30 rhel5 Panel client has not yet been prepared
Mar 22 13:27:30 rhel5 scim-bridge: Panel client has not yet been prepared
Mar 22 13:29:09 rhel5 nmbd[24089]: [2009/03/22 13:29:09, 0] nmbd/nmbd.c:terminate(58)
Mar 22 13:29:09 rhel5 nmbd[24089]:   Got SIGTERM: going down...
Mar 22 13:34:09 rhel5 nmbd[18273]: [2009/03/22 13:34:09, 0] nmbd/nmbd.c:terminate(58)
Mar 22 13:34:09 rhel5 nmbd[18273]:   Got SIGTERM: going down...
Mar 22 13:39:51 rhel5 nmbd[18445]: [2009/03/22 13:39:51, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(396)
Mar 22 13:39:51 rhel5 nmbd[18445]:   *****
Mar 22 13:39:51 rhel5 nmbd[18445]:   
Mar 22 13:39:51 rhel5 nmbd[18445]:   Samba name server RHEL5 is now a local master browser for workgroup MYGROUP on subnet 192.168.0.188
Mar 22 13:39:51 rhel5 nmbd[18445]:   
Mar 22 13:39:51 rhel5 nmbd[18445]:   *****
Mar 22 16:17:20 rhel5 nmbd[18445]: [2009/03/22 16:17:20, 0] nmbd/nmbd.c:terminate(58)
Mar 22 16:17:20 rhel5 nmbd[18445]:   Got SIGTERM: going down...
Mar 22 16:22:51 rhel5 nmbd[23030]: [2009/03/22 16:22:51, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(396)
Mar 22 16:22:51 rhel5 nmbd[23030]:   *****
Mar 22 16:22:51 rhel5 nmbd[23030]:   
Mar 22 16:22:51 rhel5 nmbd[23030]:   Samba name server RHEL5 is now a local master browser for workgroup MYGROUP on subnet 192.168.0.188
Mar 22 16:22:51 rhel5 nmbd[23030]:   
Mar 22 16:22:51 rhel5 nmbd[23030]:   *****
Mar 22 16:28:33 rhel5 nmbd[23030]: [2009/03/22 16:28:33, 0] nmbd/nmbd.c:terminate(58)
Mar 22 16:28:33 rhel5 nmbd[23030]:   Got SIGTERM: going down...
Mar 22 16:34:15 rhel5 nmbd[23366]: [2009/03/22 16:34:15, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(396)
Mar 22 16:34:15 rhel5 nmbd[23366]:   *****
Mar 22 16:34:15 rhel5 nmbd[23366]:   
Mar 22 16:34:15 rhel5 nmbd[23366]:   Samba name server RHEL5 is now a local master browser for workgroup MYGROUP on subnet 192.168.0.188
Mar 22 16:34:15 rhel5 nmbd[23366]:   
Mar 22 16:34:15 rhel5 nmbd[23366]:   *****
Mar 23 10:44:21 rhel5 kernel: VFS: busy inodes on changed media.
Mar 23 10:44:26 rhel5 last message repeated 7 times
Mar 23 14:01:09 rhel5 dhcpd: WARNING: Host declarations are global.  They are not limited to the scope you declared them in.
Mar 23 14:01:10 rhel5 dhcpd: dhcpd shutdown succeeded
Mar 23 14:01:10 rhel5 dhcpd: Internet Systems Consortium DHCP Server V3.0.5-RedHat
Mar 23 14:01:10 rhel5 dhcpd: Copyright 2004-2006 Internet Systems Consortium.
Mar 23 14:01:10 rhel5 dhcpd: All rights reserved.
Mar 23 14:01:10 rhel5 dhcpd: For info, please visit [url]http://www.isc.org/sw/dhcp/[/url]
Mar 23 14:01:10 rhel5 dhcpd: WARNING: Host declarations are global.  They are not limited to the scope you declared them in.
Mar 23 14:01:10 rhel5 dhcpd: Wrote 0 deleted host decls to leases file.
Mar 23 14:01:10 rhel5 dhcpd: Wrote 0 new dynamic host decls to leases file.
Mar 23 14:01:10 rhel5 dhcpd: Wrote 0 leases to leases file.
Mar 23 14:01:10 rhel5 dhcpd: Listening on LPF/eth0/00:0c:29:ec:fd:83/192.168.0/24
Mar 23 14:01:11 rhel5 dhcpd: Sending on   LPF/eth0/00:0c:29:ec:fd:83/192.168.0/24
Mar 23 14:01:11 rhel5 dhcpd: Sending on   Socket/fallback/fallback-net
Mar 23 14:01:11 rhel5 dhcpd: dhcpd startup succeeded
[root@rhel5 ~]#
现在我们来测试,使用client来获取IP: dhclient
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第6张图片
临时获取一个IP地址,重新启动网卡失效,获取的是192.168.0.254
我们来看看服务器的日志
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第7张图片
看明白日志了吗?client的请求我的linuxDHCP是收到了
linux的DHCP是从后面开始获取的,从高位开始分配的
查看 /var/lib/dhcpd/dhcpd.leases这个文件,可以看到被租出去的IP地址和相关信息
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第8张图片
这个很简单,大家应该很容易看懂
DHCP中继,一般使用路由器实现,很少使用主机来做
这个文件 /etc/sysconfig/dhcrelay就是设置DHCP中继的文件,大家打开看看吧,很简单的
interfaces 就是来自这个端口的dhcpdiscover(请求)都会转发到后面的DHCPSERVERS服务器
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第9张图片
这个文件 /etc/sysconfig/dhcpd是指定DHCP服务器监听的网卡,如果只有一个网卡,一般不用设置
DHCPDARGS=eth0 或者是eth1 ,如果全部监听就不用管
RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置_第10张图片
设置了DHCP中继,需要启动中继服务, service dhcrelay start ,有环境的朋友可以自己测试下, 转发的服务器和监听的网卡要不在一个子网 
不过建议DHCP服务器还是用路由器代替,cisco的中继叫IP助手
##################Michael分割线######################