linux下DHCP服务
Linux下配置完整安全的DHCP服务器详解

名称dhcpd.conf - dhcpd 配置文件描述dhcpd.conf 文件包括ISC DHCP的dhcpd的配置信息。
dhcpd.conf文件是一个普通格式的ASCII码文档,它由内置的递归解析器解释。
dhcpd.conf文件可能会包含许多额外的tab和空格、空行,它们的目的是让文件更容易阅读。
其中的关键字对大小写不敏感。
注释语句可以放在任何位置(除了引号中)注释语句用# 开头,这一行结束时注释语句自然结束。
文件包括一组语句,语句在一对大括号中,包含参数和声明。
参数语句说明如何做一件事(例如,租期是多长时间),或者是否做一件事情。
(例如,dhcpd 是否为未知客户提供地址),或者给客户提供哪种参数(例如,使用网关220.177.244.7)。
声明用来描述网络的拓扑结构、网络上的客户,提供可以为客户端分配的地址,或者对某个客户端组应用组(group)参数。
在任何组参数中,所有的这些组参数必须比使用这些组参数的语句先出现。
网络声明包含多子网的网络(有些地方译为:超网,但超网太难理解了,这里叫“多子网网络”)和子网的拓扑声明。
对于有地址被动态分配给客户端的子网,子网声明中必须有一个range声明语句。
对于静态分配的地址,或者是已知客户的安装,每个客户端都必须使用一个host声明语句。
如果一个参数应用到一组声明中,这些声明并不只与某个子网相关,可以定义一个“组参数”。
对每一个要服务的子网,每个dhcp服务器连接的子网,都必须有一个子网声明,用来告诉dhcpd如何处理那个子网上的地址。
即使一个子网不需要分配任何地址,也需要一个子网声明。
一些物理网络上不只有一个IP子网存在,例如,如果一个网络需要一个8位的子网,但是当业务发展使总的节点数超过了254台,就需要增加一个8位的子网。
这时,就增加了一个新的物理网络,这种情况下,2个网络的子网声明必须包含在一个“多子网网络声明(超级作用域)”中。
有些网络的客户端不只有一个子网,可能会为同一子网中一些客户端分配的一些参数与其它的客户端不同。
Linux1 DHCP服务器配置 Linux客户端

Linux1 DHCP服务器配置Linux客户端
Linux客户端要想获得DHCP服务器分配的IP地址,可通过修改网络参数的配置方法,来设置自动取得IP地址,如图26所示。
图26 修改网络参数
完成网络参数的修改后,利用/etc/init.d/network restart命令将整个网络重新启动即可(不要使用ifdown与ifup,因为那样还有默认路由需要设置),如图27所示。
但如果在远程进行此操作,联机肯定会出现错误,因为网卡已经关闭,所以必须在本地计算机上进行此操作。
如果执行后正确的找到了DHCP服务器,那么多个客户端计算机中多个文件(如,resolv.conf、routing table[路由]等)都可能会被更改。
图27 重启网络
●DNS的IP地址
DNS的IP地址会被更改,可通过查阅resolv.conf文件,如图28所示。
图28 查看DNS的IP地址
●路由
Linux客户端网卡参数生效后,DHCP服务器中配置的路由信息(option routers [192.168.1.254]),也将被客户端正确的捕捉到,可通过利用route –n命令查看,如图29所示。
图29 查看路由信息
●客户端租约信息
另外,还可通过cat /var/lib/dhcp/dhclient-eth0.leases命令,查看到客户端租约中所记载的变化信,如图30所示。
图30 查看客户端租约信息。
linux dhclient工作原理

linux dhclient工作原理DHCP(Dynamic Host Configuration Protocol)是网络中常用的自动分配IP地址的一种协议。
dhclient是一个在Linux操作系统上用于接收DHCP服务器提供的IP地址和其他网络配置信息的客户端程序。
dhclient的工作原理可以分为以下几个步骤:1.初始化:当系统启动时,dhclient会被调用来自动获取网络配置信息。
首先,它会通过套接字(socket)与DHCP服务器进行通信。
然后,确定要使用的网络接口,并创建一个相应的套接字,用于与DHCP服务器之间的通信。
2.发现DHCP服务器:dhclient会发送一个广播消息(DISCOVER)到本地网络中的所有主机,以寻找可用的DHCP服务器。
广播消息会通过套接字发送到预定义的目标地址和目标端口号(67)。
3.获取IP地址:当DHCP服务器收到广播消息后,它会从一个地址池中选择一个可用的IP地址,并将其分配给dhclient。
服务器会发送一个包含IP地址的消息(OFFER)给dhclient,通过套接字返回给dhclient。
4.请求IP地址:dhclient接收到服务器的OFFER消息后,会向服务器发送一个请求(REQUEST)消息,请求分配给自己的IP地址。
此时,dhclient会将自己的MAC地址和请求的IP地址发送给服务器。
5.确认IP地址:DHCP服务器接收到请求消息后,会判断请求的IP地址是否仍然可用。
如果可用,服务器会发送一个确认(ACK)消息给dhclient,表示分配成功。
同时,服务器会将其他网络配置信息(如子网掩码、网关、DNS服务器等)一并发送给dhclient。
6.配置网络接口:dhclient接收到服务器的确认消息后,将IP地址和其他网络配置信息写入系统中的网络接口文件(如/etc/network/interfaces)。
然后,dhclient会发送一个DHCPINFORM消息给DHCP服务器,以通知服务器其配置已成功。
Linux1 DHCP服务的启动与观察

Linux1 DHCP服务的启动与观察完成对DHCP服务器配置文件dhcpd.conf的设定后,就可以启动DHCP。
另外还需要注意dhcpd使用的端口是67,并且启动的结果会记录在/var/log/messages文件内,最好去观察一下/var/log/messages所显示的dhcpd信息。
在服务器上,可输入/etc/init.d/dhcpd start命令,并按【回车】键来启动DHCP 服务,如图14所示。
图14 启动dhcp服务启动dhcp服务后,可使用“netstat -tlunp”命令查看端口的状态来确认dhcp服务是否已成功启动,如图15所示。
图15 查看端口状态另外,查看日志始终都是配置服务器的最好帮手,学会查看日志能节省许多时间。
Dhcp服务器的日志保存在/var/log/目录中。
若要查看日志文件全部日志信息,可使用“tail /var/log/messages”命令。
但由于日志信息过多,只希望从众多的dhcp日志信息中截取最新的20行,则可使用“tail -20 /var/log/messages”命令执行操作,如图16所示。
图16 查看dhcp日志信息日志内容用空格做区域分隔,第1列为月,第2列为日,第3列为时间,第4列为服务器的名称,第5列为服务和进程号,第6列为发生的事件。
如果查看到以上这些信息,则表明已经成功配置并启用了DHCP服务器。
如果查看到的日志文件内容显示如下:Dec 5 11:11 linux dhcpd: /etc/dhcpd.conf line 10: semicolon expected.Dec 5 11:11 linux dhcpd: subnetDec 5 11:11 linux dhcpd: _Dec 5 11:11 linux dhcpd: Configuration file errors encountered – exiting.则代表在第10行出现了没有分号(Semicolon)问题,且分号是在符号“_”所指地方,也就是subnet附近,很容易辨别。
linux dhclient工作原理

linux dhclient工作原理dhclient是一个在Linux系统上处理DHCP客户端的工具。
DHCP (动态主机配置协议)是一个用于自动分配IP地址、子网掩码、网关和DNS服务器等网络配置信息的协议。
dhclient工具可以通过向DHCP服务器发送数据包来请求和获取这些配置信息。
dhclient工作原理如下:1. dhclient启动:当系统启动时,dhclient会自动启动。
它可以通过命令行或配置文件进行配置。
默认情况下,dhclient在Linux系统上通过启动NetworkManager或systemd-networkd来进行配置。
2.查找网络接口:dhclient会检查系统中的网络接口,例如eth0、eth1或wlan0。
它会根据接口的配置文件或网络管理器来识别哪个接口需要进行DHCP配置。
3.发送DHCP Discover数据包:一旦确定了要配置的网络接口,dhclient会发送一个DHCP Discover数据包。
这个数据包会被广播到局域网上的所有DHCP服务器。
4. DHCP服务器响应:DHCP服务器收到DHCP Discover数据包后,会根据自身的配置向客户端发送DHCP Offer数据包。
这个数据包包含了可用的IP地址、子网掩码、网关和DNS服务器等网络配置信息。
5.接收DHCP Offer数据包:dhclient会接收到DHCP Offer数据包后,会将其中的网络配置信息存储在本地。
6.请求IP地址:dhclient会发送一个DHCP Request数据包,请求DHCP服务器提供的IP地址。
7.确认IP地址:DHCP服务器收到DHCP Request数据包后,会发送DHCP Ack数据包确认IP地址分配。
8.配置网络接口:dhclient收到DHCP Ack数据包后,会将其中的网络配置信息应用到相应的网络接口上。
它会设置接口的IP地址、子网掩码、网关和DNS服务器等配置。
Linux dhcp server

Page 13/20
常用选项介绍
ip地址 1:option routes ip地址 作用: 作用:为客户机指定默认网关 例如: 192.168.9.1; 例如:option routes 192.168.9.1; subnet2: option subnet-mask 子网掩码 作用: 作用:设定客户机的子网掩码 例如: subnet255.255.255.0; 例如:option subnet-mask 255.255.255.0; 3:option domain-name-servers ip地址 domain-nameip地址 作用:为客户端指定DNS DNS服务器地址 作用:为客户端指定DNS服务器地址 例如: domain-anme202.98.1.11; 例如:option domain-anme-servies 202.98.1.11;
Page 17/20
dhcp的启动与停止 的启动与停止
1:dhcp服务的启动 1:dhcp服务的启动 service dhcpd start /etc/rc.d/init.d/dhcpd start 2:dhcp服务的停止 2:dhcp服务的停止 service dhcp stop /etc/rc.d/init.d/dhcpd stop 3:dhcp服务的重新启动 3:dhcp服务的重新启动 service dhcpd restart /etc/rc.d/init.d/dhcpd restart
Page 19/20
应用案例
产品研发部有200台计算机,准备采用192.168.20.0/24网 产品研发部有200台计算机,准备采用192.168.20.0/24网 200台计算机 192.168.20.0/24 段给该部门使用,由于手动配置工和量较大, 段给该部门使用,由于手动配置工和量较大,所以管理员 准备使用一台Linux系统搭建DHCP服务器。其中路由器IP Linux系统搭建DHCP服务器 准备使用一台Linux系统搭建DHCP服务器。其中路由器IP 地址为192.168.20.1, 地址为192.168.20.1, DNS服务器IP地址为 服务器IP地址为192.168.20.2, DNS服务器IP地址为192.168.20.2, DHCP服务器为192.168.20.3, 服务器为192.168.20.3 DHCP服务器为192.168.20.3, 其它人使用192.168.20.30 192.168.254,子网掩码均为 192.168.20.30其它人使用192.168.20.30-192.168.254,子网掩码均为 255.255.255.0。 255.255.255.0。 部门经理所使用的IP地址固定IP192.168.20.88 IP地址固定IP192.168.20.88, 部门经理所使用的IP地址固定IP192.168.20.88,副经理 也使用固定IP地址192.168.20.66 IP地址192.168.20.66。 也使用固定IP地址192.168.20.66。
-linux DHCP服务器搭建

《RedHatlinux操作系统》实验报告实验题目:DHCP的搭建与管理姓名:黄跃座号:32 班级:计算机通信2 报告日期:2011.4.5一、实验内容简要描述1、实验目标:在linux上配置DHCP服务器,使其相连的主机能够自动分配到相应的IP地址。
2、实验要求:(1)按步骤完成配置任务。
(2)验证实验最终结果。
(3)总结实验心得体会:二、报告主要内容1、设计思路:利用VMware Player开启两台red hat linux,一台模拟DHCP 服务器,一台作为客户机验证实验结果。
2、主要步骤:(1).配置linux DHCP服务器端ip地址。
[root@dhcp ~]# ifconfig eth0 192.168.1.1 netmask 255.255.255.0[root@dhcp ~]# route add default gw 192.168.1.254(2)安装DHCP服务器软件包,并查看安装结果。
[root@dhcp /]# cd /media/RHEL_5.1\ i386\ DVD/Server/[root@dhcp Server]# rpm -qa | grep dhcpdhcp-devel-3.0.5-7.el5dhcpv6_client-0.10-33.el5dhcp-3.0.5-7.el5dhcpv6-0.10-33.el5[root@dhcp Server]# rpm -ivh dhcp-3.0.5-7.el5.i386.rpm[root@dhcp Server]# rpm -ivh dhcp-devel-3.0.5-7.el5.i386.rpm[root@dhcp Server]# rpm -qa | grep dhcpdhcp-devel-3.0.5-7.el5dhcpv6_client-0.10-33.el5dhcp-3.0.5-7.el5(3)复制样本文件到DHCP配置文件中。
linux dhcp server的option code参数

在Linux DHCP服务器中,option code参数用于指定DHCP选项的类型。
不同的option code 对应不同的DHCP选项,用于提供各种网络配置信息,例如IP地址、子网掩码、默认网关等。
以下是一些常见的option code参数:
option-1:DHCP客户端请求的IP地址。
option-3:DHCP客户端的硬件地址(MAC地址)。
option-6:DHCP服务器名称(或域名)。
option-9:客户端的逻辑地址(即客户端的IP地址)。
option-12:客户机的物理地址。
option-15:要分配给客户端的域名。
option-16:DNS服务器的IP地址。
option-17:WINS服务器的IP地址。
option-28:请求的IP地址的超时时间。
option-43:服务器可用的配置选项类型。
option-50:建议的IP地址租期。
这只是一部分option code参数,Linux DHCP服务器还支持其他更多的option code参数。
您可以通过查看Linux DHCP服务器的文档或使用dhcpd-pools软件包来获取更详细的option code参数列表和说明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第11章DHCP服务
11.1基本概念
DHCP即动态主机设置通信协议(Dynamic Host Configuration Protocol),它是定义在RFC2131和2132的Internet标准,可以动态地设置客户端IP状态。
DHCP服务器
DHCP客户端
严格来说,在DHCP的正式标准中支持3种不同方式来指定客户端的IP地址信息:
(1)手动指定IP地址(Manual):管理者必须为每个客户端指定一个固定的IP地址,然后在客户端计算机要求租用IP地址时,
通过DHCP服务器将此IP地址分配给客户端;
(2)自动指定IP地址(Automatic):IP地址的指定工作完全交给DHCP服务器来决定,而不需要经过管理员的手动输入;
(3)动态指定IP地址(Dynamic):管理员在DHCP服务器中设置
一个IP地址范围,然后在客户端提出IP地址租用的要求后,
自动指派一个IP地址给客户端,但与前面两种方式不同的是
指派给客户端的IP地址并非是无限制的使用,而客户端使用
的时间完全由管理者自行决定。
DHCP的优点是:
(1)可避免在计算机上手动设置状态时所造成的错误,可有效防止地址冲突;
(2)可大大节省用于设置IP状态的时间。
11.2DHCP服务器的安装与启动
rpm –qa dhcp:查询是否安装
在安装好DHCP服务器后,如果直接使用命令”/etc/rc.d/init.d/dhcpd start “可能并没有实际启动DHCP服务器,这是因为DHCP服务器在启动时会去寻找/etc/dhcpd.conf文件,但是系统在安装后并不会自动建立这个文件,可用下面的方法建立(直接将设置文件模板dhcpd.conf.sample复制到/etc目录下,并命名dhcpd.conf为):
cp /usr/share/doc/dhcp-2.0pl5/dhcpd.conf.sample /etc/dhcpd.conf /etc/rc.d/init.d/dhcpd start
service dhcpd start
11.3DHCP客户端租用IP流程
客户端一般会使用两个不同的处理程序来与DHCP服务器通信,并取得其设置值。
(1)初始租用处理
DHCP
服
DHCP探索
DHCPDISCOVER
DHCP提供
DHCPOFFER
DHCP回复
DHCPREQUEST
DHCP认可
DHCPACK
(2)租用的更新处理:通常DHCP客户端在关机重启后,会取得与关机前相同IP地址的租用,而在经过客户端租用时间的1/2
后,客户端会要求DHCP服务器尝试更新其租用。
11.4DHCP服务器状态设置
有关DHCP服务器的状态设置几乎都集中在/etc/dhcpd.conf文件中,这个文件主要分为两部分:
(1)参数:指如何做某事,例如提供的IP租用时间、是否执行某些功能,例如是否提供IP地址给未知的客户端,或是提供客户端那些数据内容,例如网关的IP地址为192.168.0.1;
(2)声明:用来描述此网络的拓扑、描述网络的客户端、提供可指定给客户端的IP地址,或是将一组参数指定给一组声明
等。
一般较常用的网络拓扑声明有3种类型:子网、主机和
群组。
1)Subnet:如果是对于一个子网中的客户端,动态地指定IP地址,则在
此Subnet声明中必
须包含一组IP地址范围;
2)Host:这是适用于客户端使用固定式IP地址
的环境,每一个客户端都必须单独使用一个
Host声明;
3)Group:若是某些参数套用于多个声明,而
这些声明并没出现于个别的子网中,则此时必
须使用Group声明。
11.5客户端连接和测试结果
在DHCP服务器设置完成后,可以使用DHCP客户端来进行测试,以确保设置的成功:
(1)Linux客户端(netconfig)
(2)Windows客户端
11.6实例
一、DHCP服务器的配置
1、在Webmin中安装DHCP服务器软件包
系统软件包
2、启动WEBMIN,进入“服务”----“DHCP服务器”页面:
1)“DHCP服务器”页面,单击“新建一个子网”超链接,进入“创建子网”页面“
在“创建子网”页面,输入新建子网的IP,注意一般
和DHCP服务器的IP地址是同一子网。
如DHCP服
务器IP是192.168.1.1则新建子网网络地址为
192.168.1.0,子网掩码为255.255.255.0,IP地址范围
为可分配给客户机使用的IP地址的范围,如
192.168.1.1——192.168.1.100,如下图:
单击“新建”按钮,系统回到DHCP服务器主页面,此时可以看见新增加了一个192.168.1.0子网
在DHCP服务器主页面最下方,单击“启动服务器”按钮,启动DHCP 服务器
二、设置DHCP客户机
1、在客户机(实验时的WIN2000Profesional计算机里的vmnet1这块虚
拟网卡)的TCP/IP属性,设置IP地址为“自动获得IP地址”,如下
图:
2、验证:在客户机上启动DOS命令行界面
在命令行下输入ipconfig /all命令,则系统显示VNMET1这块网卡从DHCP服务器获得的IP地址,如下图:
注意:在实验前有时发现客户机自动获得的IP地址并不是我们指定的
DHCP服务器分配或者自动获得的IP地址不在我们设定的范围,这就要在2000中“开始”菜单---“程序”---“manage vitual network”启动虚拟机的虚拟网络设置,选择DHCP选项卡,删除原DHCP的设置,使得VMWARE软件自带的DHCP服务器停止服务以免影响实验。
二、还可以为客户机分配DNS服务器地址等选项:
(一)DHCP服务器端的改变
1、在webmin中的DHCP服务器主页面,单击“192.168.1.0”子网进入该子网的配置页面,在该页面最下方,单击“编辑客户选项”按钮,进入选项配置页面:
2、在“客户选项”页面,设置“缺省路由器”(也就是网关地址)为192.168.1.254,“DNS服务器”地址为210.35.6.8(DNS的地址不一定在这
个子网),如下图:
3、在该页面下最左下方,单击“保存”按钮,再回到DHCP服务器主页面,单击“应用改变”按钮重新启动DHCP服务器。
(二)客户端的再次验证:
1、在客户机DOS窗口,输入ipconfig/renew命令强行重新向服务器发出更新请求;
2、再输入ipconfig /all命令查看,此时,可以看见客户机获得了服务器给
他指定的网关和DNS服务器地址,如下图:。