DHCP服务的作用及好处相信大家都应该知道,这里就不再阐述了。在rhel 5实现DHCP需要安装dhcp-3.0.5-7.el5.i386.rpm,其配置文件是/etc/dhcpd.conf,租约数据库文件是/var/lib/dhcpd/dhcpd.leases
  在第一次打开该文件时,只告知一个例子文件的路径,可将该例子覆盖该配置文件再进行修改。
  dhcpd.conf文件有二大部分,分别是全局配置和局部配置。当全局配置与局部配置发生冲突时,局部配置优先级更高。
  常用参数:
  ddns-update-style (none|interim|ad-hoc):定义所支持的DNS动态更新类型,该参数必选且必须放在第一行且只能在全局配置中使用。
  ●none:不支持。
  ●interimDNS互动更新模式。
  ●ad-hoc:特殊DNS更新模式。
  ●ignore-client-updates:忽略客户端更新,该参数只能在全局配配置中使用。
  ●default-lease-time:默认IP租约时间,单位秒,该参数可以在全局配置、局部配置均可使用。
  ●mas-lesase-time:客户端IP租约时间的最大值,单位秒,该参数可以在全局配置、局部配置均可使用。
  常用声明:
  ●subnet 网络号 netmask 子网掩码 {…..}:定义作用域。
  ●range 起始IP 结束IP:动态IP地址范围。
  常用选项:
  ●option routes IP地址:默认网关,该选项可以在全局配置、局部配置均可使用。
  ●option subnet-mask 子网掩码:默认子网掩码,该选项可以在全局配置、局部配置均可使用。
  ●option domain-name-serversDNS服务器地址,该选项可以在全局配置、局部配置均可使用。
  ●option domain-nameDNS后缀,该选项可以在全局配置、局部配置均可使用。
  ●option time-offset:为客户端指定格林威治时间领衔时间,单位秒,该选项可以在全局配置、局部配置均可使用。
  下面我们来看一个配置实例:
  ddns-update-style interim;
  ignore client-updates;
  option domain-name“demo.zqin”;
  subnet 192.168.159.0 netmask 255.255.255.0 {
  option routers 192.168.159.18;
  option subnet-mask255.255.255.0;
  option domain-name-servers192.168.159.1;
  option domain-name“example.zqin”;
  option time-offset-18000;
  range dynamic-bootp 192.168.159.20 192.168.100.250;
  default-lease-time 21600;
  max-lease-time 43200;
  }
  上述配置实际上只需在rhel中所提供的例子文件中改几处即可,在编写配置文件时需注意以下几个问题:
  每行必须以分号结尾(如不用分号结尾,在启动dhcpd时是不会报错的,只能通过查看日志文件/var/log/message得知)
  局部配置必须包含在一对中括号之间。
  上面的例子中全局部分定义了参数option domain-name,在局部也定义了,这个在实际工作是没有必要的,这里只是为了说明局部参数的优先级高于全局部分。
  如希望实现保留功能(在保留中也可使用参数,当然保留中参数的优先级最高),首先需要知道指定客户端网卡的MAC地址,然后在配置文件中加入如下内容即可。
  ddns-update-style interim;
  ignore client-updates;
  option domain-name“demo.zqin”;
  subnet 192.168.159.0 netmask 255.255.255.0 {
  option routers 192.168.159.18;
  option subnet-mask255.255.255.0;
  option doma

 

ain-name-servers192.168.159.1;
  option domain-name“example.zqin”;
  option time-offset-18000;
  range dynamic-bootp 192.168.159.20 192.168.100.250;
  default-lease-time 21600;
  max-lease-time 43200;
  host lyon {
  hardware Ethernet 00:50:56:c0:00:01;
  在整个DHCP客户端与服务器通讯的过程全部使用的是广播的方式,这样会带来一个问题,如果在DHCP客户端与服务器之间必须通过路由器时是无法完成IP地址的申请过程的,这里就需要使用DHCP中继代理了。DHCP中继代理位于DHCP客户端一边的网络中,帮助DHCP客户端与DHCP服务器进行通讯。不过在实际工作中,本人觉得直接在路由器或三层交换机上配置DHCP中继代理更合理。不过我们还是来看下通过rhel如何实现中继代理功能。
  dhcp的网关指向192.168.159.18
  编辑/etc/syconfig/dhcpd文件
  DHCPDARGS=eth0
  dhcp上建立超级作用域,并为192.168.100.0/24建立作用域
  ddns-update-style interim;
  ignore client-updates;
  shared-network test {
  #建立超级作用域
  option domain-name"example.zqin";
  option domain-name-servers192.168.159.1;
  subnet 192.168.100.0 netmask 255.255.255.0 {
  option routers 192.168.100.18;
  option subnet-mask255.255.255.0;
  option time-offset-18000;
  range dynamic-bootp 192.168.100.20 192.168.100.200;
  default-lease-time 21600;
  max-lease-time 43200;
  }
  subnet 192.168.159.0 netmask 255.255.255.0 {
  option routers192.168.159.18;
  option subnet-mask255.255.255.0;
  option time-offset-18000;
  range dynamic-bootp 192.168.159.20 192.168.159.200;
  default-lease-time 21600;
  max-lease-time 43200;
  }
  }
  在中继代理上安装dhcpdhcp-devel包。
  在中继代理上运行,并将其加入/etc/rc.local中。
  echo “1” > /proc/sys/net/ipv4/ip_forward
  编辑/etc/sysconfig/dhcrelay文件
  INTERFACES="eth1"
  DHCPSERVERS="192.168.159.19"
  启用中继代理
  service dhcrelay restart
  chkconfig dhcrelay on