简介:DHCP服务提供的配置信息包括:
             网络接口的IP地址和子网掩码
             网络接口IP地址对应的网络地址和广播地址
             缺省网关地址
             DNS服务器地址
 
DHCP服务器软件包在安装光盘Redhat.Enterprise.Linux.AS.V4.0内的
1、修改hostname
   #vi /etc/sysconfig/network
     修改HOSTNAME=dhcp.learn.com
   [esc]
   :wq
   #hostname dhcp.learn.com         //如此就不用重启系统了
   #vi /etc/hosts
     修改为127.0.0.1         dhcp.learn.com dhcp localhost.localdomain localhost
   [esc]
   :wq
2、修改网络配置
   #netconfig
     选择yes
     使用空格键来确定是否使用动态的ip配置,中括号内有星号[*]表示使用,在此不使用。
     手工配置网络,输入IP地址、掩码、网关
     OK
   但是网卡的设置仍然没有生效,可以通过ifconfig查看输出结果,上面的设置只是修改了
   /etc/sysconfig/network-scripts/ifcfg-eth0这个文件的内容。
     要网卡的配置生效,必须使用命令重新启动网络设备
   #service network restart
临时修改网络信息,可以使用命令
     #ifconfig eth0 [ip-address]
     #ifconfig
   输出的信息是改了,但是在文件/etc/sysconfig/network-scripts/ifcfg-eth0的内容是没有改的
 
DHCP服务器的安装
 1、查看dhcpd这个软件包是否安装了
   #rpm -q dhcp  或
   #rpm -qa |grep dhcp
 2、若没有安装,则需要放入光盘或输入镜像文件所在路径,挂载安装光盘
   (1)#mount /dev/cdrom
      文件挂载到哪,需要用命令
      #mount
      输出信息的/dev/hdc on /media/cdrecorder····说明挂载到了/media/cdrecorder中,/dev/hdc就是物理光驱
      而/dev/cdrom是它的软件标识,可以通过命令
      #ll /dev/cdrom 查看到一条软链接:/dev/cdrom ->hdc
   建议使用明确的挂载路径
      #mount /dev/cdrom [目标路径]
    (2)查看挂载的内容,使用命令
      #ll /media/cdrecorder         输出的信息中蓝色字体表示的是目录文件,有RedHat这个目录
      #ll /media/cdrecorder/RedHat  输出的信息中蓝色字体表示的是目录文件,有RPMS这个目录
      #ll /media/cdrecorder/ RedHat/RPMS
 
    (3)查看dhcp相关的文件
      #find /media/cdrecorder/ RedHat/RPMS/dhcp*
        输出有*dhcp-3.0.1-62.EL4···  要安装的
              *dhcp-devel-3.0.1-62.EL4···开发用的
              *dhcpv6-0.10-24_EL4···基于IPv6的
    (4)安装dhcp服务
      #rpm -ivh /media/cdrecorder/ RedHat/RPMS/dhcp/-3.0.1-62.EL4.i386.rpm
    (5)查看是否安装和安装了些什么
      #rpm -ql dhcp
        注释:/etc/rc.d/init.d/dhcpd       //这个是服务器端服务器程序
              /etc/rc.d/init.d/dhrelay     //中继代理的程序
              /etc/sysconfig/dhcpd         //这个是服务器配置文件
              /etc/sysconfig/dhrelay       //中继代理的配置文件
              /···/doc/····         //表示相关的文档
              /usr/share/doc/dhcp-3.0.1/README    //介绍DHCP服务的一些内容
              /usr/share/doc/dhcp-3.0.1/dhcpd/conf.sample  //关于配置文件的一些案例、模板
              /usr/share/man/···        //关于man手册的一些文件
              /var/lib/dhcp/dhcpd.leases         //是个数据库文件,用于保存服务器为客户分配的ip地址等详细信息
     (6)若在etc文件下是没有dhcpd服务器的配置文件/etc/dhcpd.conf或里面内容是空的,则需要自己写,这样子对与新手
        可能会很麻烦!但是别忘了上面介绍过有个模板文件吗?/usr/share/doc/dhcp-3.0.1/dhcpd/conf.sample ,将它
        copy到etc目录下就省事很多了。而且dhcpd.conf的手册提供了详细的配置说明(使用命令#man dhcpd.conf)
            #cp /usr/share/doc/dhcp-3.0.1/dhcpd/conf.sample /etc/dhcpd.conf
     (7)查看/etc/dhcpd.conf里面的内容
         *声明:用来描述dhcpd服务器中对网络布局的划分,网络设置的逻辑范围
           ddns-update-style interim;     //全局设置中一定要包括该项,表示dhcp服务与dns服务合作
           subnet [subnet-address] netmask [mask]
      {
             
         *选项由“option”关键字引导
              option routers                   [ip-address];
              option subnet-mask               [mask] ;
              option domain-name-servers       [server-address];
              option time-offset               [time] ;  //时间偏移,相对于格林时间的
              option netbios-node-type         [value] ;
                 ······
         *参数由设置项和设置值组成
              default-lease-time               [leasetime];     //默认的租约时间,单位秒
              max-lease-time                   [maxleasetime];  //最长租约时间,即再次续约时总时间不得超过此值
              range dynamic-bootp              [ip-address-pool]; //分配的ip地址池
         *全局设置(将作用于整个配置文件)
             
              default-lease-time               [leasetime];
              max-lease-time                   [maxleasetime];
              option domain-name               "domain-name";
              option domain-name-servers       [server-address1,server-address2···];
          *给某个主机绑定IP,通常是用于主机、服务器
              host [hostname] {
                              hardware ethernet [NIC-MAC];   //要绑定主机的MAC
                              fixed-address [ip-address];
                              option subnet-mask  [mask];
                              option routers      [router-address];
                              }
      }
   若主机拥有多个网络接口时需要在文件中指定提供dhcp服务的网络接口
    #vi /etc/sysconfig/dhcpd
   将DHCPDARGS=[NIC-name]    //即提供dhcp服务的网络接口名称
     (8)启动dhcpd服务
        #service dhcpd start
        停止dhcpd服务
        #service dhcpd stop
        重新启动dhcpd服务
        #service dhcpd restart   //当出现故障了或是修改配置文件时用的
    (9) 查看服务器状态
        #service dhcpd status    //查看服务器是否关闭
        查看dhcpd服务器的租约文件(租约文件dhcpd.leases记录DHCP服务器向DHCP客户机提供租用的每个IP地址信息)
        #cat /var/lib/dhcp/dhcpd.leases
 
DHCP客户端  
  1、设置网络接口文件
    #cat /etc/sysconfig/network-scripts/ifcfg-eth0
     DEVICE=eth0
     ONBOOT=yes
     BOOTPROTO=dhcp

   #netconfig
    
  2、重新启动网络接口
    #ifdown eth0 ;ifup eth0 
将特定的IP地址和特定的主机绑定
   
    还记得在服务器配置文件/etc/dhcpd.conf里有给主机绑定IP的内容吧?
              host [hostname] {
                              hardware ethernet [NIC-MAC];   //要绑定主机的MAC
                              fixed-address [ip-address];    //分配的固定IP
                              option subnet-mask  [mask];
                              option routers      [router-address];
                              }
   例子:
              host test {
                              hardware ethernet 12:43:AB:C4:56:D6;  
                              fixed-address 192.168.13.134;
                              }
  注意:绑定的IP地址不能出现在动态地址池中,不然有可能将该地址分配给别的主机,那怎么办呢?
        如:
         range dynamic-bootp 192.168.13.128 192.168.13.254
        将其拆分为:
         range dynamic-bootp 192.168.13.128 192.168.13.133
         range dynamic-bootp 192.168.13.135 192.168.13.254