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

简介:
今天我们的课程是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 ,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
14天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
28 4
|
28天前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
40 1
|
6天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1192 6
|
18天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
18天前
|
Linux
Linux安装bind9搭建自己的域名服务器
Linux安装bind9搭建自己的域名服务器
11 0
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
28天前
|
网络协议 安全 Shell
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
33 0
|
28天前
|
Shell Linux 网络安全
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
29 0

热门文章

最新文章