RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置

  1. 云栖社区>
  2. 博客>
  3. 正文

RHCE课程-RH253Linux服务器架设笔记四-DHCP服务器配置

技术小美 2017-11-29 20:14:00 浏览1187
今天我们的课程是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地址必经的步骤
image
在第二步,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服务器
image
image
编辑DHCP的主配置文件
vim /etc/dhcpd.conf
image
这里的意思是see的路劲是一个模板
我们把这个文件内容导进来,在末行模式运行以下命令
末行模式使用 :r  文件名
:r /usr/share/doc/dhcp*/dhcpd.conf.sample
image
这样模板就被导入进来了
image
使用模板的好处 
第一自己写配置文件,麻烦还容易出错 
第二使用模板架设很快,只需要修改几个参数就OK了
 
ddns-update-style 类型 定义所支持的DNS动态更新类型(必选),一般我们设置成关闭,interim和none都是关闭的意思
allow/ignore client-updates 允许/忽略客户机更新DNS记录  
subnet 网络号 netmask 子网掩码 {…} 定义作用域(或IP子网) 
image
配置文件已经说的很清楚了 option routers ,网关,我的网关是192.168.0.1
image
nis-domain 局域网内有nis服务器的,可以设置nis服务器的域名
image
我没有架设nis服务器,所以这行可以注释了
下一行是domain-name,域名
我的是wanxuan.com
域名服务器是我这个机器的IP,192.168.0.1
image
linux当然有超级域,linux也能实现中继DHCP,相关设置参考[RHEL5企业级Linux服务攻略]--第3季 DHCP服务全攻略 
time-offset:为客户端指定格林威治时间偏移时间,单位秒,该选项可以在全局配置、局部配置均可使用。
ntp-servers:NTP是时间服务器
netbios-name-servers:是微软的名字服务器
image
NTP服务器,你可以设置一个外网的,如果觉得没必要就可以不设置
range dynamic-bootp 就是动态分配的IP地址池,这个是IP地址是连在一起的地址池范围
下面两行是默认租期和最大租期,单位是秒
image
如果你某个主机要固定获取某个IP,就可以使用下面的功能,next-server 这里用不上,意思就是下一个服务器,一般指向tftp的,一般是PXE网络使用这个参数
image
好了,保存退出
重新启动服务
image
记住,配置文件中的{}一定要对应,还有第一个参数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
image
临时获取一个IP地址,重新启动网卡失效,获取的是192.168.0.254
我们来看看服务器的日志
image
看明白日志了吗?client的请求我的linuxDHCP是收到了
linux的DHCP是从后面开始获取的,从高位开始分配的
查看/var/lib/dhcpd/dhcpd.leases这个文件,可以看到被租出去的IP地址和相关信息
image
这个很简单,大家应该很容易看懂
DHCP中继,一般使用路由器实现,很少使用主机来做
这个文件/etc/sysconfig/dhcrelay就是设置DHCP中继的文件,大家打开看看吧,很简单的
interfaces 就是来自这个端口的dhcpdiscover(请求)都会转发到后面的DHCPSERVERS服务器
image
这个文件/etc/sysconfig/dhcpd是指定DHCP服务器监听的网卡,如果只有一个网卡,一般不用设置
DHCPDARGS=eth0 或者是eth1 ,如果全部监听就不用管
image
设置了DHCP中继,需要启动中继服务,service dhcrelay start ,有环境的朋友可以自己测试下,转发的服务器和监听的网卡要不在一个子网 
不过建议DHCP服务器还是用路由器代替,cisco的中继叫IP助手
##################Michael分割线######################






本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/141522,如需转载请自行联系原作者