如何在Linux下安装配置DHCP服务器

如何在Linux下安装配置DHCP服务器,第1张

DHCP服务在linux下算是最简单的服务了。

DHCP服务的配置。

DHCP简介:

DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。

DHCP的工作原理:

DHCP工作过程分为四个步骤:

第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,

第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。

第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。

第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。

DHCP的基本配置:

第一步:安装软件:

[root@localhost ~]# rpm -ivh /misc/cd/Server/dhcp-305-18el5i386rpm

第二步:编辑配置文件:

[root@localhost ~]# vi /etc/dhcpdconf

# see /usr/share/doc/dhcp/dhcpdconfsample

当进入到配置文件里面时,这里是空的,有如上一行的提示,说可以参考这个文件来编写配置文件,那就复制一份再编辑。

[root@localhost ~]# cp -rvf /usr/share/doc/dhcp-305/dhcpdconfsample /etc/dhcpdconf

[root@localhost ~]# vi /etc/dhcpdconf

ddns-update-style interim; //配置DHCP和DNS为互动更新模式,

ignore client-updates; //忽略客户端的更新。

subnet 1921681000 netmask 2552552550 { //定义作用域

option routers 1921681001; //默认路由

option subnet-mask 2552552550; //子网掩码

option nis-domain "rhelcom"; //NIS域名

option domain-name "rhelcom"; //DNS域名

option domain-name-servers 19216810010; //DNS服务器地址

option time-offset -18000; # Eastern Standard Time //为客户端设置与格林威治的时间偏移

option ntp-servers 19216811; //网络时间服务器地址

option netbios-name-servers 19216811; //指定WINS服务器地址

range dynamic-bootp 192168100128 192168100254; //动态分配的地址范围

default-lease-time 21600; //默认租约时间

max-lease-time 43200; //最大租约时间

host abc { //指定特定主机

hardware ethernet 00:0C:29:FD:44:C8; //硬件地址

fixed-address 19216810030; //IP地址

}

}

如有多个要绑定的主机时可以把所有主机信息用group{ }包括起来,这样更方便管理。格式如下 :

group {

……这里不可以添加一些佤全局选项,这样就不用在每个里面写了。

host abc {

……

……

}

host xyz {

……

……

}

}

[root@localhost ~]# service dhcpd restart

测试:

在linux下:

首先让地址从DHCP获取:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=dhcp

[root@localhost ~]# service network restart //重启一下网络服务,这里不能使用ifdown和ifup,因为要配置路由信息。

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:44:C8

inet addr:19216810030 Bcast:192168100255 Mask:2552552550

这就是绑定的IP地址。

[root@localhost ~]# cat /etc/resolvconf

; generated by /sbin/dhclient-script

search rhelcom

nameserver 19216810010

这里的DNS服务器地址也获取到了。

[root@localhost ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

1921681000 0000 2552552550 U 0 0 0 eth0

16925400 0000 25525500 U 0 0 0 eth0

0000 1921681001 0000 UG 0 0 0 eth0

默认路由也获取到了。查看一下端口:

[root@localhost ~]# netstat -tlunp | grep 68

udp 0 0 0000:68 0000 16150/dhclient

查看客户端的租约文件:

lease {

interface "eth0";

fixed-address 19216810030; //固定地址

option subnet-mask 2552552550; //子网掩码

option time-offset -18000; //时间偏移

option routers 1921681001; //默认路由

option dhcp-lease-time 21600; //租约时间

option dhcp-message-type 5;

option domain-name-servers 19216810010;

option dhcp-server-identifier 19216810020;

option nis-domain "rhelcom";

option domain-name "rhelcom";

renew 5 2010/4/9 09:01:40;

rebind 5 2010/4/9 11:34:53;

expire 5 2010/4/9 12:19:53;

}

windows下:

把IP地址设成自动获取。

C:\Documents and Settings\Administrator>ipconfig /all

Connection-specific DNS Suffix : rhelcom

Physical Address : 00-0C-29-D3-C6-B3

Dhcp Enabled : Yes

Autoconfiguration Enabled : Yes

IP Address : 192168100253

Subnet Mask : 2552552550

Default Gateway : 1921681001

DHCP Server : 19216810020

DNS Servers : 19216810010

Lease Obtained : 2010年4月9日 14:44:12

Lease Expires : 2010年4月9日 20:44:12

基本配置完成。

准备好PE维护U盘、映像总裁软件(网络中可搜索下载)。首先使用安装命令进行安装DHCP服务器包dhcp3-server,安装完成后,编辑/etc/default/isc-dhcp-server使用INTERFACES选项定义DHCPD响应DHCP请求所使用的接口。

2、接着让DHCPD守护进程监听eth0,使用如图所示的设置进入接口配置静态地址,主文件/etc/dhcp/dhcpdconf填写会发送到客户端的所有网络信息。

3、然后指定执行任务、是否执行任务,还有指定要发送给DHCP客户端的网络配置选项,定义网络拓扑、指定客户端、为客户端提供地址,或将一组参数应用于一组声明。

4、接着打开并修改主文件,定义DHCP服务器选项,在文件顶部设置以下全局参数,它们将应用指定使用情况的参数值。

5、然后给特定的客户机分配一个固定静态的 IP,显式将这台机器的MAC地址以及静态分配的地址添加到文件中去,进行保存关闭文件。

6、最后启动DHCP服务,并让它下次开机自启动,允许DHCP守护进程监听67UDP 端口的防火墙权限,这样就可以轻松的使用DHCP服务。

dhcp服务器,就一个配置文件,就是/etc/dhcpdconf。它是有模板的,你可以i根据模板进行修改就可以了。

搭建dhcp服务器过程很简单,安装软件、配置主配置文件,重启服务,验证是否生效。

配置文件的配置主要有全局配置、网段声明,还有主机声明(为某一台主机配置保留地址),主机声明是可选的

这个是我做实验的配置文件截下来的

//全局设置

ddns-update-stye  none;         //动态更新类型

ignore client-updates;         //不允许客户端更新,也不要改,而且必须存在

default-lease-time  28800;      //默认租期,8个小时

max-lease-time    86400          //最大租期,24个小时

option  domain-name "qqcom" //默认搜索域

option domain-name-server19216810254,202106020  //DNS服务器地址,有多个DNS时要用逗号分开

//局部配置

//subnet网段声明(配置一个作用域,可覆盖全局设置参数)

 subnet 192168100 netmask 2552552550{

    range 1921681050 19216810100;

   range 19216810120 19216810200;

    option subnet-mask  2552552550;

    option routers    19216810254;

  }

//host主机声明(为某一台主机配置保留地址,在局部声明内,不可以在全局声明)

host printer{

  hardware  ethernet 00:50:56:C0:00:01;

  fixed-address   192168108; 

  } 

然后重启服务。

如果重启失败,就是配置出错,可用dhcpd命令排错,它会输出你在哪行出错了

#dhcpd

建议你去网上去找更详细的配置文件详解~~懂得每个参数配置的含义

祝你好运~~

  将DHCP移交给专用服务器的另一个好处就是可以建立动态域名服务(DDNS),那样当主机向服务器请求DHCP地址时,新主机的主机名称会被添加到DNS系统中。

  第一步:安装及配置ISC DHCP Server

  1 想开始搭建这台多宿主服务器这个过程,需要使用“apt”实用工具,通过Debian软件库来安装ISC软件。与所有教程一样,假设你拥有root或sudo访问权限。请对下列几个命令做适当的改动。

  # apt-get install isc-dhcp-server[安装ISC DHCP Server软件]

  # dpkg --get-selections isc-dhcp-server [证实已成功安装]

  # dpkg -s isc-dhcp-server [以另一种方式证实安装]

  将ISC DHCP Server安装在Debian中

  2 鉴于服务器软件已证实成功安装,现在就有必要为服务器配置它需要分发出去的网络信息。管理员最起码要知道基本DHCP范围的下列信息:

  •网络地址

  •子网掩码

  •将被动态分配的地址范围

  让服务器动态分配的其他实用信息包括如下:

  •默认网关

  •DNS服务器的IP地址

  •域名

  •主机名称

  •网络广播地址

  这些仅仅是ISC DHCP服务器所能处理的诸多选项中的几个而已。想获得每个选项的详细描述以及完整列表,安装程序包之后请输入下面这个命令:

  # man dhcpdconf

  3 一旦管理员确定了该服务器要分发出去的所有必要信息,现在就可以配置DHCP服务器以及必要的池了。不过,在创建任何池或服务器配置之前,必须配置DHCP服务,以便侦听服务器的其中一个接口。

  在这一台服务器上,网卡组已建立起来,DHCP会侦听被赋予名称“bond0”的组接口。考虑到服务器和一切已配置好的环境,务必要进行适当的更改。该文件中的默认值适用于本教程。

  配置ISC DHCP网络

  这一行将指示DHCP服务在指定的一个接口或多个接口上侦听DHCP流量。这时候,可以改动主配置文件,以便启动必要网络上的DHCP池。主配置文件位于/etc/dhcp/dhcpdconf。首先用文本编辑工具打开该文件:

  # nano /etc/dhcp/dhcpdconf

  该文件含有针对DHCP服务器的选项的配置,以及用户希望配置的所有池/主机。文件顶部以“ddns-update-style”子句开始;就本教程而言,它仍保持被设成“none”;不过在将来的一篇文章中,将会包括动态DNS, ISC-DHCP-Server将与BIND9整合起来,让主机名称转成IP地址的更新成为可能。

  4 下一节通常介绍管理员配置全局网络设置,比如DNS域名、IP地址的默认租期、子网掩码及更多选项。想进一步了解所有选项,请务必阅读dhcpdconf文件的参考手册页。

  # man dhcpdconf

  就这次安装的服务器而言,有几个全局网络选项已在配置文件的顶部配置好,那样它们没必要实施在创建的每一个池中。

  配置ISC DDNS

  我们不妨稍微抽点时间解释其中一些选项。虽然它们在本例中全局配置,但所有选项同样可以针对每个池来配置。

  •option domain-name “comptechlocal”:该DHCP服务器托管运行的所有主机将是DNS域名“comptechlocal”的成员。

  •option domain-name-servers 17227106:DHCP将向经配置以托管的所有网络上的所有主机分发DNS服务器IP,即17227106。

  •option subnet-mask 2552552550:被分发到每个网络上的子网掩码将是2552552550 或/24。

  •default-lease-time 3600:这是租期将自动有效的时间(以秒为单位)。如果时间超时,主机会重新请求同一租期。如果主机已用完租期,就能及早归还地址。

  •max-lease-time 86400:这是主机保持租期的最长时间(以秒为单位)。

  •ping-check true:这是一个额外测试,确保服务器想要分配出去的地址没有已被网络上的另一个主机所使用。

  •ping-timeout:这是指在假设地址未使用之前,服务器为响应ping而等待多长时间(以秒为单位)。

  •ignore client-updates:眼下这个选项无关紧要,因为DDNS之前已在配置文件中被禁用,但是当DDNS运行时,这个选项将忽视主机在DNS中更新主机名称的请求。

  5 该文件中的下面一行是权威DHCP服务器这行。这一行意味着,如果该服务器将是为该文件中所配置的网络分发地址的服务器,那么就取消注释权威节(authoritative stanza)。

  该服务器将是它所网络的所有网络上的唯一权威,那样只要去掉关键字authoritative(权威)前面的“#”,即可取消注释全局权威节。

  启用ISC Authoritative

  默认情况下,服务器假设不是网络上的权威。这么做是出于安全。如果有人不明就里对DHCP服务器配置不当,或者在不该连接的网络上,这就会引起严重的连接问题。这一行还可以针对每个网络来使用。这意味着,如果服务器不是整个网络的DHCP服务器,authoritative这一行就可以改而针对每个网络来使用,而不是像上面截图看到的那样用在全局配置中。

  6 下一步是配置该服务器管理的所有DHCP池/网络。为了简洁起见,本文将只介绍配置的其中一个池。管理员需要收集所有的必要网络信息(即域名、网络地址、多少地址可以分发出去,等等)。

  就这个池而言,下列信息从网络管理员处获得:网络ID为17227600,子网掩码为2552552550或/24,子网的默认网关是17227601,广播地址为1722760255。

  这些信息对于构建dhcpdconf文件中适当的网络节而言很重要。闲话少说,不妨再次使用文本编辑工具,打开配置文件,然后将新的网络添加到服务器。这必须借助root/sudo权限来完成!

  # nano /etc/dhcp/dhcpdconf

  配置DHCP协议和网络

  这是为了将IP地址分发给用于搭建VMware虚拟服务器的网络而建立的示例。第一行表明了网络以及该网络的子网掩码。然后在括号里面是DHCP服务器应该提供给该网络上主机的所有选项。

  第一个节range 172276050 1722760254;是DHCP服务器可以分发给该网络上主机的动态分配地址的范围。请注意头48个地址并不在池中;需要的话,这些地址可以静态分配给主机。

  第二个节option routers 17227601;将默认网关地址分发给该网络上的所有主机。

  最后一个节option broadcast-address 1722760255;表明该网络的广播地址。该地址不应该是范围节的一部分,因为广播地址无法分配给主机。

  一些指针务必总是以分号(;)来结束选项行,始终确保每个创建的网络用花括号{ }包起来。

  7 如果有更多的网络要建立,继续以合适的选项来建立,然后保存文本文件。一旦所有配置都完成, ISC-DHCP-Server进程需要重启,以便让新的变更生效。这可以用下面这个命令来实现:

  # service isc-dhcp-server restart

  这会重启DHCP服务,然后管理员可以通过几种不同的方式,检查服务器是否准备好处理DHCP请求。最简单的方式就是只要通过lsof命令,看看服务器是不是在侦听端口67:

  # lsof -i :67

  检查DHCP侦听端口

  这个输出结果表明,DHCPD(DHCP Server守护程序)在运行,并侦听端口67。由于/etc/services文件中端口67的端口号映射,该输出结果中的端口67实际上被转换成了“bootps”。

  这在大多数系统上很常见。至此,服务器应该已为网络连接准备好,只要将机器连接到网络,让它向服务器请求DHCP地址,即可加以证实。

1 当你配置好DHCP服务器之后,客户端唯一要做的就是在配置IP地址时,选择自动获得IP就是了。WINDOWS是“自动获得IP地址”,LINUX的配置是“BOOTPROTO=dhcp”(其他物理连通性前提必须是好的)

2 主机通讯需要IP地址,当一个客户端的网卡处于激活状态,并且IP配置为自动获得时,那么客户端会自动向网络中的DHCP服务器发起请求,如果网络中有DHCP服务器存在并可用,那么服务器就会从它的IP地址池(地址范围中)选择空闲的IP地址和其他信息,比如租约时间等,一并发送给这个需要IP地址的客户单。这个过程就像我们租房子一样,房东是不会知道谁要租房子,但是你要生活,你就要去找,你找到房东,房东给你看房子,告诉你价格,时间,你们达成协议了,你就租到了,到期了,继续交钱,继续租用。你可以百度一下DHCP服务器的工作原理。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在Linux下安装配置DHCP服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情