动态主机配置协议是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。首先,DHCP服务器必须是一台安装有Windows2000Server/AdvancedServer系统的计算机;其次,担任DHCP服务器的计算机需要安装TCP/IP协议,并为其设置静态IP地址、子网掩码、默认网关等内容。默认情况下,DHCP作为Windows2000Server的一个服务组件不会被系统自动安装,必须添加它。
DHCP是由IETF(internet工作任务小组)开发设计的,于1993年10月成为标准协议,其前身是BOOTP协议。当前的DHCP定义可以在RFC2131中找到,而基于IPv6的建议标准(DHCPv6)可以在RFC3315中找到。
DHCP服务器的搭建
呵呵今天我来复习DHCP的搭建了,DHCP的搭建比我想象的要简单,不过估计深究的话也会有很多知识点的,就好像DNS一样,深究的话会扯出一串的知识点。好了言归正传我现在就开始撰写复习笔记
一.什么是DHCP
Dhcp就是动态主机配置协议,可以自动的去分配IP地址、子网掩码、网关以及DNS等tcp/ip信息。当局域网中电脑十分的多的时候,咱总不能一台一台的去主机旁设IP等信息吧,那不累死了。所以只需要在局域网中设置一台DHCP服务器,通过此服务器就可以动态的给局域网中的每台电脑自动设置IP等信息。
二.DHCP的工作原理
(1)首先我们先介绍几个名字解释:
DHCP客户端:DHCP客户是通过DHCP来获得网络配置参数的internet主机,通常就是普通的用户工作站。
DHCP服务器:DHCP服务器是提供网络参数的给DHCP客户的internet主机
DHCP/BOOTP中继代理:在DHCP客户和服务器之间转发DHCP消息的主机或者路由器
DHCP是基于客户机/服务器模型设计的,DHCP客户和DHCP服务器之间通过收发DHCP消息进行通讯。
作用域:一个完整连续的可用IP地址薄,DHCP服务主要就是通过作用域来管理网络分布、IP地址分配及相关配置参数。
排除范围:排除范围是作用域内从DHCP服务中排除的有限地址序列,排除范围确保在这些范围中的任何地址都不是由网络上的服务器提供给客户端的。其实说白了就是将作用域中的一些IP地址给排除在外使其不能分配给客户端。
地址池:在定义DHCP作用域并应用排除范围后,剩余的地址在作用域内形成的可用地址池,地址池中的地址可以动态分配给DHCP客户端。
租约:客户端可以使用动态分配IP地址的时间。
预约:创建从DHCP服务器到客户机的永久地址租约指定,预约可以保证子网上的特定硬件设备总是使用相同的IP。
(2)工作原理
大致知道一些名字后,我们来说说其其基本原理:
首先DHCP一般是局域网内的一个通讯协议,当客户端没有设定任何网络配置信息时候,他会想其所在的局域网上发出一个广播封包给局域网内的所有主机(其发送的是DHCPDISCVER数据包,为保证服务器能够接收到请求,数据包源地址设定为0.0.0.0,而目的地址为255.255.255.255,以广播形式发送DHCPDISCOVER的信息。),一般主机接收到这个封包后,会直接给予丢弃,但如果局域网中有DHCP服务器,则会自动响应。
当DHCP服务器监听到客户端发出的DHCPDISCOVER广播后,它会从那些还没有租出的地址范围内选择可用的IP及其他TCP/IP设定以DHCPOFFER数据包的形式发送给客户机。
如果客户端收到网络上多台DHCP服务器的响应,客户端会挑选最快的一个DHCPOFFER并向网络发送一个DHCPREQUEST广播封包,告诉所有DHCP服务器它将使用哪一台服务器提供的IP地址。同时,客户端还会向网络发送ARP广播数据包,查询网络上面有没有其他机器使用该IP地址,如果发现该IP地址已经被占用,客户端则会发送一个DHCPDECLINE数据包给DHCP服务器,拒绝接受其DHCPOFFER,并重新发送DHCPREQUEST信息。
注:实际上并不是所有DHCP客户端都会无条件接受DHCP服务器的响应,客户端可以保留自己的一些TCP/IP设定,比如网关、DNS地址等等
将地址分配给客户端后,DHCP服务器会发送一个DHCPACK消息,以确认IP租约的正式生效,结束完整的DHCP工作过程。
DHCP客户端成功地从服务器取得IP地址之后,一般不需要再发送DHCPDISCOVER信息了,除非其租约已经到期或者IP地址重新设定回0.0.0.0。此时客户端会直接使用已经租用到的IP地址向为其发此IP地址的DHCP服务器发出DHCPREQUEST信息,DHCP服务器会尽量让客户端使用原来的IP地址,如果没有特殊的情况,会直接响应DHCPACK,允许客户端继续使用该IP地址。如果该地址已经失效或者已经被其他主机使用了,服务器则会响应一个DHCPNACK数据包给客户端,要求其重新执行DHCPDISCOVER。
注意:客户端执行DHCPDISCOVER后,如果没有DHCP服务器响应客户端的请求,客户端会随机使用169.254.0.0/16网段中的一个IP地址配置本机地址。
Ok大致的过程就是如上所示,上面也是我摘抄的,似乎说的比较详细,简单的说就是在一个存在DHCP服务器的网络环境中,客户端发送一个目标地址为255.255.255.255的广播给网络中的所有主机,其他客户端收到此消息会直接丢弃,而DHCP服务器收到此消息后则会从其地址池中随机选择一个IP给发送此消息的客户端来配置其网络参数,客户端接收到消息后,就开始处理本身的网络参数,包括网关、DNS等等信息,并且会给服务器发送一个确认信息,表示该参数已经被接受了,可别又分给其他客户端。
这里有个地方需要注意一下,当客户端无论是关闭网络接口(ifdown)、重新启动(reboot)、关机(shutdown)等行为都算是脱机,这个时候服务器端会收回IP,并放到自己的备用区中,等待未来使用。但通过前面我们讲述原理知道“DHCP服务器会尽量让客户端使用原来的IP地址,如果没有特殊的情况,会直接响应DHCPACK,允许客户端继续使用该IP地址”所以当重启网络服务的时候,常常会发现IP地址居然没有改变,原因就在这里。
三.配置DHCP服务器端
首先当然是要安装DHCP,如果你有yum仓库的话,直接
yuminstalldhcp就可以实现安装,我先查看下我的主机装了没有呵呵:
[root@Linux102dhcpd]#rpm-qadhcp
dhcp-3.0.5-21.el5
ok,我已经装过了。那么我们就开始配置吧。配置DHCP服务器大概有以下几个步骤:
首先编辑/etc/dhcpd.conf
配置dhcp一般是配置/etc/dhcpd.conf这个文件,但一般情况下此文件并不存在,需要我们自己手动配置,这里面的东东还蛮多的,自己一个一个敲多费劲,所以我们可以拷贝一个现成的配置文件到etc目录下将其改名即可:
cp/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample/etc/dhcpd.conf
复制好后,我们就在/etc下有这个文件了。
hcpd.conf包括全局配置和局部配置。全局配置可以包含参数或选项,该部分对整个DHCP服务器生效;局部配置通常由声明部分来表示,该部分仅对局部生效,比如只对某个IP作用域生效
dhcpd.conf文件格式:
#全局配置
参数或选项;#全局生效
#局部配置
声明{
参数或选项;#局部生效
}
下来我们将对全局与局部配置的一些常用参数和声明进行解释
1.常用参数:
(1)ddns-update-style(none|interim|ad-hoc)
作用:定义所支持的DNS动态更新类型。
none:表示不支持动态更新
interim:表示DNS互动更新模式
ad-hoc:表示特殊DNS更新模式
因为DHCP客户端所取得的IP通常是一直变动的,所以某部主机的主机名与IP的对应就很难处理。此时DHCP可以透过ddns来更新主机名与IP的对应。
注意:这个选项是必选参数哈,配置文件中必须包含这一个参数并且要放在第一行。
(2)gnoreclient-updates
作用:忽略客户端更新
(3)default-lease-timenumber(数字)
作用:定义默认IP租约时间
(4)max-lease-timenumber(数字)
作用:定义客户端IP租约时间的最大值,当客户端超过租约
间却尚未更新IP时,最长可以使用该IP的时间;
注意:(3)、(4)都是以秒为单位的租约时间,该项参数可以作用在全局配置中,也可以作用在局部配置中。
2.常用声明
声明一般用来指定IP作用域、定义为客户端分配的IP地址池等等
声明格式如下:
声明{
选项或参数;
}
常见声明的使用如下:
(1)subnet网络号netmask子网掩码{......}
作用:定义作用域,指定子网
注意:网络号必须与DHCP服务器的网络号相同
(2)range起始IP地址结束IP地址
作用:指定动态IP地址范围
注意:可以在subnet声明中指定多个range,但多个range所定义IP范围不能重复。
3.常用选项介绍
选项通常用来配置DHCP客户端的可选参数,比如定义客户端的DNS地址、默认网关等等。选项内容都是以option关键字开始滴
常见选项使用如下:
(1)optionroutersIP地址
作用:为客户端指定默认网关
(2)optionsubnet-mask子网掩码
作用:设置客户端的子网掩码
(3)optiondomain-name-serversIP地址
作用:为客户端指定DNS服务器地址
(4)optionbroadcasst-address广播地址:
设定广播地址而已。如果没有设定的话,系统应该会自动依据classA,B,C的原则来计算出广播地址。
注意:(1)、(2)、(3)选项可以用在全局配置中,也可以用在局部配置中。
ok大概说完了之后,我们来看看这个配置文件到底是什么样子的
图上的是我自己服务器上的配置,基本上就这么多东西。根据实际情况大家也可以自己添加。
这里稍微多说几句关于dhcp的固定ip获取:
(1)host主机名{......}
作用:用于定义保留地址
注意:该项通常搭配subnet声明使用。
(2)hardware类型硬件地址
作用:定义网络接口类型和硬件地址。常用类型为以太网(ethernet),地址为MAC地址。
(3)fixed-addressIP地址
作用:定义DHCP客户端指定的IP地址。
注意:(2)、(3)项只能应用于host声明中。
配置到这里,基本上就已经可以正常使用了,但如果服务器上有多个网络接口的时候,往往就会出错。比如192.168.0.0/24是eth0
上的,而192.168.1.0/24是eth1上的,如果DHCP服务器同时监听的是两个接口的话,这个时候我们192.168.1.0/24上的客户端发送了dhcp封包要求,这个时候他取的ip就可能取成192.168.0.0/24网段上的了(服务器设置的是0网段),所以为了防止这类事情发生,我们最好可以设定dhcp的监听端口。如图:
[root@linux102]#vi/etc/sysconfig/dhcpd
#Commandlineoptionshere
DHCPDARGS=“eth0”
配置好后,我们来启动dhcp服务器:
启动好后,我们来观察下端口启动的情况:
DHCP启用的是67号端口,我们看到我的67号端口服务器上已经开启了。
服务器端查询有多少客户端已经向我们申请了ip,以及ip的相关记录可以再此处查询:
[root@linux102~]#cat/var/lib/dhcpd/dhcpd.leases
lease192.168.0.101{//客户端的ip地址
starts52011/08/0506:56:02;
ends52011/08/0512:56:02;
tstp52011/08/0512:56:02;
bindingstatefree;
hardwareethernet00:0c:29:5d:41:62;
}
这个其实是租约数据库文件,其是用于保存一系列的租约声明,其中包含客户端的主机名、MAC地址、分配到的IP地址,以及IP地址的有效期等相关信息。这个数据库文件是可编辑的ASCII格式文本文件。每当发生租约变化的时候,都会在文件结尾添加新的租约记录。
DHCP刚安装好后租约数据库文件dhcpd.leases是个空文件
四.客户端的配置
其实客户端也没啥配置的,只要设置成dhcp方式来获取ip就可以了。设置好后,我们重启网络就可以从刚刚配置好的dhcp服务器上来获取ip了呵呵就这么简单。现在我们在客户端上来观察下其相关参数都是否符合配置:
1.客户端的dns是否符合
[root@linux101~]#cat/etc/resolv.conf
;generatedby/sbin/dhclient-script
searchlinux102
nameserver192.168.0.102
客户端的dns已经是是我们设定的dns地址了,注意观察哦,这里的
searchlinux102就是我们在服务器上设置的“optiondomain-name”的名称,nameserver即是我们服务器上设置的地址。所以完全吻合
2.ip是否符合
[root@linux101~]#ifconfig
eth0Linkencap:EthernetHWaddr00:0C:29:5D:41:62
inetaddr:192.168.0.101Bcast:192.168.0.255Mask:255.255.255.0
我们服务器上是设置了给客户端绑定ip为192.168.0.101,也符合
3.观察路由
[root@linux101~]#route-n
KernelIProutingtable
DestinationGatewayGenmaskFlagsMetricRefUseIface
192.168.0.00.0.0.0255.255.255.0U000eth0
169.254.0.00.0.0.0255.255.0.0U000eth0
0.0.0.0192.168.0.10.0.0.0UG000eth0
观察发现和我服务器上设置的192.168.0.1是一致的
4.查看端口
Dhcp客户端所用的端口是68,现在我们来检查下:
5.查看客户端所记载的租约记录信息
[root@linux101dhclient]#cat/var/lib/dhclient/dhclient-eth0.leases
lease{
lease{
interface"eth0";//所监听的端口
fixed-address192.168.0.101;//ip地址
optionsubnet-mask255.255.255.0;//所取得的子网掩码
optiontime-offset-18000;
optionrouters192.168.0.1;//路由地址
optiondhcp-lease-time21600;//租约时间
optiondhcp-message-type5;
optiondomain-name-servers192.168.0.102;//dns的地址
optiondhcp-server-identifier192.168.0.102;
optionnis-domain"domain.org";
optiondomain-name"linux102";//dns主机名称
renew22011/8/911:22:19;//下一次预计更新(renew)时间
rebind22011/8/913:47:58;
expire22011/8/914:32:58;
}
#这个档案会记录该适配卡所曾经要求过的DHCP信息!
#他几乎就与你设定的/etc/dhcpd.conf类似
Ok,整个过程已经全部讲解完毕,现在我们来进行个简单的总结:
基本的DHCP服务器搭建流程:
(1)编辑主配置文件dhcpd.conf,指定IP作用域(指定一个或多个IP地址范围)。
(2)建立租约数据库文件。
(3)重新加载配置文件或重新启动dhcpd服务使配置生效。
DHCP工作流程:
(1)客户端发送广播向服务器申请IP地址。
(2)服务器收到请求后查看主配置文件dhcpd.conf,先根据客户端的MAC地址查看是否为客户端设置了固定IP地址。
(3)如果为客户端设置了固定IP地址则将该IP地址发送给客户端。如果没有设置固定IP地址,则将地址池中的IP地址发送给客户端。
(4)客户端收到服务器回应后,客户端给于服务器回应,告诉服务器已经使用了分配的IP地址。
(5)服务器将相关租约信息存入数据库。
详解如何搭建DHCP服务器
2011-08-1009:27:28我来说两句
收藏我要投稿
DHCP服务器的搭建
呵呵今天我来复习DHCP的搭建了,DHCP的搭建比我想象的要简单,不过估计深究的话也会有很多知识点的,就好像DNS一样,深究的话会扯出一串的知识点。好了言归正传我现在就开始撰写复习笔记
一.什么是DHCP
Dhcp就是动态主机配置协议,可以自动的去分配IP地址、子网掩码、网关以及DNS等tcp/ip信息。当局域网中电脑十分的多的时候,咱总不能一台一台的去主机旁设IP等信息吧,那不累死了。所以只需要在局域网中设置一台DHCP服务器,通过此服务器就可以动态的给局域网中的每台电脑自动设置IP等信息。
二.DHCP的工作原理
(1)首先我们先介绍几个名字解释:
DHCP客户端:DHCP客户是通过DHCP来获得网络配置参数的internet主机,通常就是普通的用户工作站。
DHCP服务器:DHCP服务器是提供网络参数的给DHCP客户的internet主机
DHCP/BOOTP中继代理:在DHCP客户和服务器之间转发DHCP消息的主机或者路由器
DHCP是基于客户机/服务器模型设计的,DHCP客户和DHCP服务器之间通过收发DHCP消息进行通讯。
作用域:一个完整连续的可用IP地址薄,DHCP服务主要就是通过作用域来管理网络分布、IP地址分配及相关配置参数。
两台连接到互联网上的电脑相互之间通信,必须有各自的IP地址,由于IP地址资源有限,宽带接入运营商不能做到给每个报装宽带的用户都能分配一个固定的IP地址(所谓固定IP就是即使在你不上网的时候,别人也不能用这个IP地址,这个资源一直被你所独占),所以要采用DHCP方式对上网的用户进行临时的地址分配。也就是你的电脑连上网,DHCP服务器才从地址池里临时分配一个IP地址给你,每次上网分配的IP地址可能会不一样,这跟当时IP地址资源有关。当下线的时候,DHCP服务器可能就会把这个地址分配给之后上线的其他电脑。这样就可以有效节约IP地址,既保证了网络通信,又提高IP地址的使用率。
在一个使用TCP/IP协议的网络中,每一台计算机都必须至少有一个IP地址,才能与其他计算机连接通信。为了便于统一规划和管理网络中的IP地址,DHCP(DynamicHostConfigureProtocol,动态主机配置协议)应运而生了。这种网络服务有利于对校园网络中的客户机IP地址进行有效管理,而不需要一个一个手动指定IP地址。
DHCP用一台或一组DHCP服务器来管理网络参数的分配,这种方案具有容错性。即使在一个仅拥有少量机器的网络中,DHCP仍然是有用的,因为一台机器可以几乎不造成任何影响地被增加到本地网络中。
甚至对于那些很少改变地址的服务器来说,DHCP仍然被建议用来设置它们的地址。如果服务器需要被重新分配地址(RFC2071)的时候,就可以在尽可能少的地方去做这些改动。对于一些设备,如路由器和防火墙,则不应使用DHCP。把TFTP或SSH服务器放在同一台运行DHCP的机器上也是有用的,目的是为了集中管理。
DHCP也可用于直接为服务器和桌面计算机分配地址,并且通过一个PPP代理,也可为拨号及宽带主机,以及住宅NAT网关和路由器分配地址。DHCP一般不适用于使用在无边际路由器和DNS服务器上。
范围
它是TCP/IP协议簇中的一种,主要是用来给局域网客户机分配动态的IP地址。缺点:DHCP存在较多的广播开销,对于用户量较多的城域网会造成网络运行效率下降和配置困难;另一方面,仍然无法解决用户自行配置IP地址的问题。
公有ip地址的动态分配主要通过PPPoE。
工作原理
分配方式
在DHCP的工作原理中,DHCP服务器提供了三种IP分配方式:自动分配(Automaticallocation)、手动分配和动态分配(DynamicAllocation)。
自动分配是当DHCP客户端第一次成功的从DHCP服务器获取一个IP地址后,就永久的使用这个IP地址。
手动分配是由DHCP服务器管理员专门指定的IP地址
动态分配是当客户端第一次从DHCP服务器获取到IP地址后,并非永久使用该地址,每次使用完后,DHCP客户端就需要释放这个IP,供其他客户端使用。
第三种是最常见的使用形式。
排除范围:排除范围是作用域内从DHCP服务中排除的有限地址序列,排除范围确保在这些范围中的任何地址都不是由网络上的服务器提供给客户端的。其实说白了就是将作用域中的一些IP地址给排除在外使其不能分配给客户端。
地址池:在定义DHCP作用域并应用排除范围后,剩余的地址在作用域内形成的可用地址池,地址池中的地址可以动态分配给DHCP客户端。
租约:客户端可以使用动态分配IP地址的时间。
预约:创建从DHCP服务器到客户机的永久地址租约指定,预约可以保证子网上的特定硬件设备总是使用相同的IP。
(2)工作原理
大致知道一些名字后,我们来说说其其基本原理:
首先DHCP一般是局域网内的一个通讯协议,当客户端没有设定任何网络配置信息时候,他会想其所在的局域网上发出一个广播封包给局域网内的所有主机(其发送的是DHCPDISCVER数据包,为保证服务器能够接收到请求,数据包源地址设定为0.0.0.0,而目的地址为255.255.255.255,以广播形式发送DHCPDISCOVER的信息。),一般主机接收到这个封包后,会直接给予丢弃,但如果局域网中有DHCP服务器,则会自动响应。
当DHCP服务器监听到客户端发出的DHCPDISCOVER广播后,它会从那些还没有租出的地址范围内选择可用的IP及其他TCP/IP设定以DHCPOFFER数据包的形式发送给客户机。
如果客户端收到网络上多台DHCP服务器的响应,客户端会挑选最快的一个DHCPOFFER并向网络发送一个DHCPREQUEST广播封包,告诉所有DHCP服务器它将使用哪一台服务器提供的IP地址。同时,客户端还会向网络发送ARP广播数据包,查询网络上面有没有其他机器使用该IP地址,如果发现该IP地址已经被占用,客户端则会发送一个DHCPDECLINE数据包给DHCP服务器,拒绝接受其DHCPOFFER,并重新发送DHCPREQUEST信息。
注:实际上并不是所有DHCP客户端都会无条件接受DHCP服务器的响应,客户端可以保留自己的一些TCP/IP设定,比如网关、DNS地址等等
将地址分配给客户端后,DHCP服务器会发送一个DHCPACK消息,以确认IP租约的正式生效,结束完整的DHCP工作过程。
DHCP客户端成功地从服务器取得IP地址之后,一般不需要再发送DHCPDISCOVER信息了,除非其租约已经到期或者IP地址重新设定回0.0.0.0。此时客户端会直接使用已经租用到的IP地址向为其发此IP地址的DHCP服务器发出DHCPREQUEST信息,DHCP服务器会尽量让客户端使用原来的IP地址,如果没有特殊的情况,会直接响应DHCPACK,允许客户端继续使用该IP地址。如果该地址已经失效或者已经被其他主机使用了,服务器则会响应一个DHCPNACK数据包给客户端,要求其重新执行DHCPDISCOVER。
注意:客户端执行DHCPDISCOVER后,如果没有DHCP服务器响应客户端的请求,客户端会随机使用169.254.0.0/16网段中的一个IP地址配置本机地址。
Ok大致的过程就是如上所示,上面也是我摘抄的,似乎说的比较详细,简单的说就是在一个存在DHCP服务器的网络环境中,客户端发送一个目标地址为255.255.255.255的广播给网络中的所有主机,其他客户端收到此消息会直接丢弃,而DHCP服务器收到此消息后则会从其地址池中随机选择一个IP给发送此消息的客户端来配置其网络参数,客户端接收到消息后,就开始处理本身的网络参数,包括网关、DNS等等信息,并且会给服务器发送一个确认信息,表示该参数已经被接受了,可别又分给其他客户端。
这里有个地方需要注意一下,当客户端无论是关闭网络接口(ifdown)、重新启动(reboot)、关机(shutdown)等行为都算是脱机,这个时候服务器端会收回IP,并放到自己的备用区中,等待未来使用。但通过前面我们讲述原理知道“DHCP服务器会尽量让客户端使用原来的IP地址,如果没有特殊的情况,会直接响应DHCPACK,允许客户端继续使用该IP地址”所以当重启网络服务的时候,常常会发现IP地址居然没有改变,原因就在这里。
三.配置DHCP服务器端
首先当然是要安装DHCP,如果你有yum仓库的话,直接
yuminstalldhcp就可以实现安装,我先查看下我的主机装了没有呵呵:
[root@linux102dhcpd]#rpm-qadhcp
dhcp-3.0.5-21.el5
ok,我已经装过了。那么我们就开始配置吧。配置DHCP服务器大概有以下几个步骤:
首先编辑/etc/dhcpd.conf
配置dhcp一般是配置/etc/dhcpd.conf这个文件,但一般情况下此文件并不存在,需要我们自己手动配置,这里面的东东还蛮多的,自己一个一个敲多费劲,所以我们可以拷贝一个现成的配置文件到etc目录下将其改名即可:
cp/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample/etc/dhcpd.conf
复制好后,我们就在/etc下有这个文件了。
hcpd.conf包括全局配置和局部配置。全局配置可以包含参数或选项,该部分对整个DHCP服务器生效;局部配置通常由声明部分来表示,该部分仅对局部生效,比如只对某个IP作用域生效
dhcpd.conf文件格式:
#全局配置
参数或选项;#全局生效
#局部配置
声明{
参数或选项;#局部生效
}
下来我们将对全局与局部配置的一些常用参数和声明进行解释
1.常用参数:
(1)ddns-update-style(none|interim|ad-hoc)
作用:定义所支持的DNS动态更新类型。
none:表示不支持动态更新
interim:表示DNS互动更新模式
ad-hoc:表示特殊DNS更新模式
因为DHCP客户端所取得的IP通常是一直变动的,所以某部主机的主机名与IP的对应就很难处理。此时DHCP可以透过ddns来更新主机名与IP的对应。
注意:这个选项是必选参数哈,配置文件中必须包含这一个参数并且要放在第一行。
(2)gnoreclient-updates
作用:忽略客户端更新
(3)default-lease-timenumber(数字)
作用:定义默认IP租约时间
(4)max-lease-timenumber(数字)
作用:定义客户端IP租约时间的最大值,当客户端超过租约
间却尚未更新IP时,最长可以使用该IP的时间;
注意:(3)、(4)都是以秒为单位的租约时间,该项参数可以作用在全局配置中,也可以作用在局部配置中。
2.常用声明
声明一般用来指定IP作用域、定义为客户端分配的IP地址池等等
声明格式如下:
声明{
选项或参数;
}
常见声明的使用如下:
(1)subnet网络号netmask子网掩码{......}
作用:定义作用域,指定子网
注意:网络号必须与DHCP服务器的网络号相同
(2)range起始IP地址结束IP地址
作用:指定动态IP地址范围
注意:可以在subnet声明中指定多个range,但多个range所定义IP范围不能重复。
3.常用选项介绍
选项通常用来配置DHCP客户端的可选参数,比如定义客户端的DNS地址、默认网关等等。选项内容都是以option关键字开始滴
常见选项使用如下:
(1)optionroutersIP地址
作用:为客户端指定默认网关
(2)optionsubnet-mask子网掩码
作用:设置客户端的子网掩码
(3)optiondomain-name-serversIP地址
作用:为客户端指定DNS服务器地址
(4)optionbroadcasst-address广播地址:
设定广播地址而已。如果没有设定的话,系统应该会自动依据classA,B,C的原则来计算出广播地址。
注意:(1)、(2)、(3)选项可以用在全局配置中,也可以用在局部配置中。
ok大概说完了之后,我们来看看这个配置文件到底是什么样子的
图上的是我自己服务器上的配置,基本上就这么多东西。根据实际情况大家也可以自己添加。
这里稍微多说几句关于dhcp的固定ip获取:
(1)host主机名{......}
作用:用于定义保留地址
注意:该项通常搭配subnet声明使用。
(2)hardware类型硬件地址
作用:定义网络接口类型和硬件地址。常用类型为以太网(ethernet),地址为MAC地址。
(3)fixed-addressIP地址
作用:定义DHCP客户端指定的IP地址。
注意:(2)、(3)项只能应用于host声明中。
配置到这里,基本上就已经可以正常使用了,但如果服务器上有多个网络接口的时候,往往就会出错。比如192.168.0.0/24是eth0
上的,而192.168.1.0/24是eth1上的,如果DHCP服务器同时监听的是两个接口的话,这个时候我们192.168.1.0/24上的客户端发送了dhcp封包要求,这个时候他取的ip就可能取成192.168.0.0/24网段上的了(服务器设置的是0网段),所以为了防止这类事情发生,我们最好可以设定dhcp的监听端口。如图:
[root@linux102]#vi/etc/sysconfig/dhcpd
#Commandlineoptionshere
DHCPDARGS=“eth0”
配置好后,我们来启动dhcp服务器:
启动好后,我们来观察下端口启动的情况:
DHCP启用的是67号端口,我们看到我的67号端口服务器上已经开启了。
服务器端查询有多少客户端已经向我们申请了ip,以及ip的相关记录可以再此处查询:
[root@linux102~]#cat/var/lib/dhcpd/dhcpd.leases
lease192.168.0.101{//客户端的ip地址
starts52011/08/0506:56:02;
ends52011/08/0512:56:02;
tstp52011/08/0512:56:02;
bindingstatefree;
hardwareethernet00:0c:29:5d:41:62;
}
这个其实是租约数据库文件,其是用于保存一系列的租约声明,其中包含客户端的主机名、MAC地址、分配到的IP地址,以及IP地址的有效期等相关信息。这个数据库文件是可编辑的ASCII格式文本文件。每当发生租约变化的时候,都会在文件结尾添加新的租约记录。
DHCP刚安装好后租约数据库文件dhcpd.leases是个空文件
四.客户端的配置
其实客户端也没啥配置的,只要设置成dhcp方式来获取ip就可以了。设置好后,我们重启网络就可以从刚刚配置好的dhcp服务器上来获取ip了呵呵就这么简单。现在我们在客户端上来观察下其相关参数都是否符合配置:
1.客户端的dns是否符合
[root@linux101~]#cat/etc/resolv.conf
;generatedby/sbin/dhclient-script
searchlinux102
nameserver192.168.0.102
客户端的dns已经是是我们设定的dns地址了,注意观察哦,这里的
searchlinux102就是我们在服务器上设置的“optiondomain-name”的名称,nameserver即是我们服务器上设置的地址。所以完全吻合
2.ip是否符合
[root@linux101~]#ifconfig
eth0Linkencap:EthernetHWaddr00:0C:29:5D:41:62
inetaddr:192.168.0.101Bcast:192.168.0.255Mask:255.255.255.0
我们服务器上是设置了给客户端绑定ip为192.168.0.101,也符合
3.观察路由
[root@linux101~]#route-n
KernelIProutingtable
DestinationGatewayGenmaskFlagsMetricRefUseIface
192.168.0.00.0.0.0255.255.255.0U000eth0
169.254.0.00.0.0.0255.255.0.0U000eth0
0.0.0.0192.168.0.10.0.0.0UG000eth0
观察发现和我服务器上设置的192.168.0.1是一致的
4.查看端口
Dhcp客户端所用的端口是68,现在我们来检查下:
5.查看客户端所记载的租约记录信息
[root@linux101dhclient]#cat/var/lib/dhclient/dhclient-eth0.leases
lease{
lease{
interface"eth0";//所监听的端口
fixed-address192.168.0.101;//ip地址
optionsubnet-mask255.255.255.0;//所取得的子网掩码
optiontime-offset-18000;
optionrouters192.168.0.1;//路由地址
optiondhcp-lease-time21600;//租约时间
optiondhcp-message-type5;
optiondomain-name-servers192.168.0.102;//dns的地址
optiondhcp-server-identifier192.168.0.102;
optionnis-domain"domain.org";
optiondomain-name"linux102";//dns主机名称
renew22011/8/911:22:19;//下一次预计更新(renew)时间
rebind22011/8/913:47:58;
expire22011/8/914:32:58;
}
#这个档案会记录该适配卡所曾经要求过的DHCP信息!
#他几乎就与你设定的/etc/dhcpd.conf类似
Ok,整个过程已经全部讲解完毕,现在我们来进行个简单的总结:
基本的DHCP服务器搭建流程:
(1)编辑主配置文件dhcpd.conf,指定IP作用域(指定一个或多个IP地址范围)。
(2)建立租约数据库文件。
(3)重新加载配置文件或重新启动dhcpd服务使配置生效。
DHCP工作流程:
(1)客户端发送广播向服务器申请IP地址。
(2)服务器收到请求后查看主配置文件dhcpd.conf,先根据客户端的MAC地址查看是否为客户端设置了固定IP地址。
(3)如果为客户端设置了固定IP地址则将该IP地址发送给客户端。如果没有设置固定IP地址,则将地址池中的IP地址发送给客户端。
(4)客户端收到服务器回应后,客户端给于服务器回应,告诉服务器已经使用了分配的IP地址。
(5)服务器将相关租约信息存入数据库。
服务器租用选择的成功与否,可以说在一定程度上直接影响着网站建设的成功与否。这不论是对大企业,还是中小企业建网站都是一样的。
但实际,很多中小企业在建设网站,并选择服务器作为其信息化基础工具时,则出现一些不正确的做法:如为了节省资金,便随便租用或购买一台服务器。结果由于服务器性能低下导致信息系统经常出问题。最终不但没有帮助企业传播信息,提升品牌,反而因系统不稳定,给企业带来负面影响。
因此,拥有一款稳定、良好的服务器无疑是企业最基本的选择。那么,企业又该如何选择优秀的服务器呢。
第一、资质是最基本的,一定要有齐全的IDC服务商资质。
第二、对于中小企业不建议租用一线城市机房的服务器,原因很简单。像北京上海这种一线机房,都是寸土寸金,服务器好不好先不说,但是光机房的成本就比二线、三线城市的要高得多。这费用当然要算到企业的头上。而且二线、三线城市的机房其实是一样的,但是它的成本要低得多。
第三、一定要考虑清楚需要什么服务器?比如说品牌、配置,或者说是需要服务器租用、服务器托管还是服务器合租等等。这些都需要根据自身企业的需求来确定。如果自己不清楚,可以选择咨询IDC服务商,不放心的话可以在网上问相关的专业人士。
更多详细内容,尽在编程学习网教育,我们期待您得咨询!