DHCP: Dynamic Host Configuration Protocol


进程名:dhcpd
主配文件 :/etc/dhcpd.conf(默认为空)    /etc/sysconfig/dhcpd(辅助性文件)
服务脚本:/etc/init.d/dhcpd  start|stop|status|restart

DHCP服务器:192.168.1.2/24

配置步骤:

# yum install dhcp

用样例文件覆盖/etc/dhcpd.conf
# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

# vim /etc/dhcpd.conf

ddns-update-style interim;   指定ddns(动态DNS)的更新方式,如果没法有DNS,可用none
ignore client-updates;          忽略客户端更新请求

subnet 192.168.1.0 netmask 255.255.255.0 {

# — default gateway
        option routers                  192.168.1.1;              默认网关
        option subnet-mask              255.255.255.0;   子网掩码

        option nis-domain               "domain.org";        NIS域名
        option domain-name              "domain.org";    域名后缀
        option domain-name-servers      192.168.1.1;     DNS服务器,最多指定三个,用逗号分开,影响/etc/resolv.conf的内容

        option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              192.168.1.1;
#       option netbios-name-servers     192.168.1.1;
# — Selects point-to-point node (default is hybrid). Don’t change this unless
# — you understand Netbios very well
#       option netbios-node-type 2;

        #range dynamic-bootp 192.168.0.128 192.168.0.254;
        #把range dynamic-bootp 修改为range,把dynamic-bootp去掉,如下:
         range 192.168.1.2 192.168.1.25;          地址池
         range 192.168.1.60 192.168.1.70;
        default-lease-time 21600;                默认租约时间
        max-lease-time 43200;                    最大租约时间

        # we want the nameserver to appear at a fixed address
        host ns {                 设定固定地址,ns也管理员指定的标识
                next-server marvin.redhat.com;    
                hardware ethernet 12:34:56:78:AB:CD;  指定主机的MAC
                fixed-address 207.175.42.254;     指定固定IP,尽量不要出现在range内
        #subnet中的option在这里也能使用
        }   
}


指定提供DHCP服务的网卡
# vim /etc/sysconfig/dhcpd
DHCPDARGS= eth1

配置完成

语法测试
# service dhcpd configtest
# service dhcpd start

在客户端
# ifdown eth1
# dhclient -d eth1
   选项 -d 是让地址分配过程在前台显示,分配完成后,需要ctrl+c才能退出,退出后分配失效
   如果不加-d,则分配过程自动后台运行,并持续运行下去,分配的地址可用
   
   此时,/etc/resolv.conf的内容也将发生改变
# cat /etc/resolv.conf
search domain.org
nameserver 192.168.1.1

这和我们在服务器上设置的一模一样
   网关也将随之发生改变
   
如果不想让nameserver动态发生改变,则:
# vim /etc/sysconfig/network-scripts/ifcfg-eth1
PEERDNS=NO
完成
此时,再动态分配地址刚nameserver将不再发生变动,为之后手支指定的值


如果想让客户端有固定的IP,则:
在客户端:
# ifconfig
获得对应网卡的MAC地址,比如是:00:0C:29:A0:E6:21

在服务器端
# vim /etc/dhcpd.conf
修改如下:
 host ns {
 27                 next-server marvin.redhat.com;
 28                 hardware ethernet 00:0C:29:A0:E6:21;
 29                 fixed-address 192.168.1.178;
 30         }

# service dhcpd configtest
# service dhcpd restart 

这样以来,客户端所获得的地址将为固定的192.168.1.178

服务器已分配地址的信息都存放于:
/var/lib/dhcpd/dhcpd.leases中(DHCP的数据库文件)
通过清空这个文件并重启DHCP服务,可使服务器重新分配所有地址


DHCP还支持地址类别 ,如:
在/etc/dhcpd.conf中添加:
class "vmware" {
match if substring (hardware, 1, 3) = 00:0C:29;
}

pool {
     allow members of "virtual";
     range 192.168.1.91 192.168.1.110;
}
pool {
     deny members of "virtual";
     range 192.168.1.10 192.168.1.20;
}

表示MAC地址中含00:0C:29的主机能获得1.91–1.110段内的地址,而不能获得1.10–1.20段内的地址
 
更多内容,详情请见  www178-go.com
我的专业LINUX博客