Linux中DHCP服务器配置

来源:互联网 发布:数据整合平台 编辑:程序博客网 时间:2024/05/21 18:34

转自:http://www.jmqy.com/192168253/2012/0417/16530.html

DHCP的全称是动态主机配置协议,它的目的就是为了减轻TCP/IP网络的规划、管理和的负担,解决IP地址空间缺乏问题。DHCP分为两个部分:一个是服务器端,而另一个则是客户端。所有的IP网络设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP资料。DHCP协议通过“租约”的概念,有效且动态的分配客户端的TCP/IP设定。

  一、DHCPD进程

  dhcpd进程为了向网络提供服务,需要知道网络的地址和掩码,并且还要知道地址分配的范围,这与Windows系统下的DHCP服务所需要条件是一样的。在dhcpd.conf文件中指定网络地址和掩码的语句如下:

  subnet192.168.1.0netmask255.255.255.0{range192.168.1.10192.168.1.253

  #dhcpd服务器将给192.168.1.0网络,分配从192.168.1.10到192.168.1.253这个范围的IP地址。

  我们从WindowsServer2003系统DHCP服务器配置过程中知道,还需要配置IP地址的租约期,在Linux系统也一样。配置IP租期时间只需简单的两个语句:

  deult-lease-time#配置默认租期时间

  max-lease-time#配置用户可以获得的最长租期时间

  租期可以从0秒到无限长,可以根据需要来定(以秒为单位)。缺省的租期时间为一天,即86400秒。下面的配置将缺省的租期时间设置为30分钟,最长租用时间为8小时:

  deult-lease-time1800;

  max-lease-time28800;

  在Windows系统的DHCP服务器配置中,还可以一起配置一些选项,如路由、DNS服务器等,在Linux系统中也可以。它是用option参数来指定的,例如:

  optionrouters192.168.1.10#配置默认路由为192.168.1.10

  optiondomain-name-servers192.168.1.1#配置DNS服务器地址为192.168.1.1

  二、dhcpd.conf配置文件主要语句

  dhcpd.conf是个递归下降格式的配置文件,有点象C的源程序风格,由参数和声明两大类语句构成,参数类语句主要告诉DHCPd网络参数,如租约的时间、网关、DNS等,而声明语句则是描述网络的拓扑,用来表明网络上的客户、要提供给客户的IP地址、提供一个参数组给一组声明等。

  描述网络拓扑的声明语句有shared-network和subnet声明。如果要给一个子网里的客户动态指定IP地址,那么在subnet语句中必须有一个range参数配置,说明地址范围。如果要给DHCP客户静态指定IP地址,那么每个这样客户都要有一个host参数配置。对于每个要提供服务的与DHCP服务器连接的子网,则都要有一个subnet参数配置,即使这是个没有IP地址要动态分配的子网。

  1、典型语句

  #examples

  deult-lease-time28800#定义缺省租约时间

  max-lease-time43200#指定最大租约时间

  optionsubnet-mask255.255.255.0#指定子网掩码选项

  optionbroadcast-address192.168.0.255#指定地址选项

  optionrouters192.168.0.1#指定路由器地址选项

  optiondomain-name-servers192.168.0.1#指定DNS地址选项

  optiondomain-name"netreslab.org"#指定域名选项

  #以上都是全局参数,以下是子网和掩码声明。

  subnet192.168.1.0netmask255.255.255.0{range192.168.1.10192.168.0.100;range192.168.0.150192.168.0.200}

  #这段配置文件将允许DHCP服务器分配两段地址范围给DHCP客户,192.168.0.10-100和192.168.0.150-200。

  以上整个dhcpd.conf配置文件定义了以下内容:如果DHCP客户在申请租约时不请求一个特定租约失效时间,则以deult-lease-time(28800秒)为租约时间,如果有请求一个特定的租约失效时间,则采用max-lease-time语句指定为432000秒。DHCP客户机从DHCP服务器中可以获取的IP地址参数如下:子网掩码是255.255.255.0,地址是192.168.1.255,默认网关是192.168.0.1,DNS是192.168.0.1。

  2、Options语句

  在dhcpd.conf配置文件中有一类语句应用非常多,它就是选项(Options)类语句。这类语句均是以Option开头,后面跟一个选项名,选项名后是选项数据,选项非常的多,这里列出一些常用的选项供参考。

  optionroutersip-address[,ip-address]#指明在客户子网内的路由器的地址,可以有多个;

  optiontime-serversip-address[,ip-address...]#指明时间服务器的地址

  optiondomain-name-serversip-address[,ip-address...]#指明DNS的地址

  optionhost-anmestring#给客户指定主机名,string是个字符串。

  optiondomain-namestring#指定域名

  optionintece-mtumtu#指明网络界面的MTU,这里mtu是个正整数,如optionintece-mtu1500;

  optionbroadcast-addressip-address#指定地址

  Linux中的DHCP服务器与Windows系统中的DHCP服务器一样,dhcpd进程也可以把主机的MAC地址和IP在一起,实现在动态IP地址分配中的静态IP地址分配。具体方法是,在/etc/dhcpd.conf中加上一句:

  hostpc1{hardwareethernetxx.xx.xx.xx.xx.xxfixed-address192.168.0.9;}

  pc1是指定的主机名字;hardwareethernet后面的xx.xx.xx.xx.xx.xx指的是要与IP地址绑定的MAC地址;fixed-address指后的IP地址。

  三、DHCP服务器的启动

  现在配置文件已经有了,但还是如果我们执行“系统配置”、“服务器配置”等。在打开的“服务”窗口中启动“dhcpd”服务,或者通过命令方式输入#/etc/rc.d/init.d/dhcpdstart时会发现还是不能成功启动dhcpd进程,那是因为我们还没有创建关于dhcpd进程的租用文件。

  现在我们创建dhcpd.leases文件,输入以下命令:

  #touch/var/state/dhcp/dhcpd.leases

  然后就可以启动dhcpd进程了。如果希望在每次启动系统的时候也启动dhcpd进程,则执行命令:#/sbin/chkconfig--level3dhcpdon,当然也可在“服务”窗口中选中该进程前面的复选框,然后提升进程启动的等级。

  chkconfig命令是检查设置系统的各种服务的。参数—level<等级代号>指定该系统服务要在哪一个执行等级中或关闭,范围是0-7。然后,在Linux客户端的netconf网络设置中把IP地址的获得设置为DHCP。这样,我们DHCP服务器的配置就完成了。

原创粉丝点击