Redhat上的DHCP配置实例
环境:Redhat 9
DHCP的功能
首先﹐必须有一台DHCP工作在网络上面﹐它会监听网络的DHCP请求﹐它提供两种IP租约方式﹕
Automatic Allocation  
自动分配﹐其情形是﹕一旦DHCP客户端第一次成功的从DHCP服务器端租用到IP地址之后﹐就永远使用这个地址。
Dynamic Allocation
动态分配﹐当DHCP第一次从HDCP服务器端租用到IP地址之后﹐并非永久的使用该地址﹐只要租约到期﹐客户端就得释放(release)这个IP地址﹐以给其它工作站使用。当然﹐客户端也可以延续(renew)租约﹐或是租用其它的IP地址。
DHCP除了能动态的设定IP地址之外﹐还可以将一些IP保留下来给一些特殊用途的机器使用﹐也可以按照MAC地址来分配固定的IP地址﹐这样可以给您更大的设计空间。同时﹐DHCP还可以帮客户端指定网络﹑网关﹑routerNet MaskDNS服务器﹑WINS服务器﹑等等项目﹐您在客户端上面﹐除了将DHCP选项打勾之外﹐几乎无需做任何的IP环境设定。
DHCP 套件结构  
DHCP 的套件结构当中,也是仅有一个配置文件。 
    • /etc/dhcpd.conf:这个就是 dhcp 的主要的配置文件!这个文件不见得会存在,请手动来建立!另外,其实每个 dhcp 套件在安装的时候,都会附上一个范例档案,您可以使用 rpm -ql grep dhcp 来查询到 dhcpd.conf.sample 这个文件!然后将该档案复制成为 /etc/dhcpd.conf 后,在手动去修改 /etc/dhcpd.conf 即可,这样设定比较容易咯!
    • /usr/sbin/dhcpd:这个就是 DHCP daemon 执行文件啰! 
    • /var/lib/dhcp/dhcpd.leases:租约的启始与到期日就是记录在这个文件中的.
要做的事情只是修改一个档案﹕/etc/dhcpd.conf
和其它 Linux 设定档一样( lilo.confsmb.conf )﹐一开始是关于 global 的设定﹐其后再分开不同的 section 来设定。有些设定可以同时在 global section﹐但有些则只能用于 global section 里面﹐如果有冲突﹐在 section 里面则以 section 为准﹔如果 section 里面没设﹐则以 global 的设定为准。而 section 里面﹐或许还包括其它 sub-section﹐诸如此类。
 
由于本机没装dhcp,下载dhcprpm,安装,完成后建立/etc/dhtpd.conf文件如下
 
#this file for dhcpd configuration
#by yahoon 20070619
 
#global settins
default-lease-time 259200;
max-lease-time 777600;
ddns-update-style interim; //Redhat下没有这句,dhcp服务无法启动
 
#section settings
subnet 192.168.0.0 netmask 255.255.255.0{   //定义网络地址192.168.0.0,子网掩码为24:255.255.255.0
    range 192.168.0.30 192.168.0.50;    //分配的范围从0.300.50
    option broadcast-address 192.168.0.255; //广播地址,注意是根据上面的网络地址,子网掩码计算出来的
    option routers 192.168.0.1; //设定网关
    option domain-name-servers 192.168.0.111,202.103.24.68; //DNS,这个0.111是我昨天配的内网DNS,202.103.24.68是外网的.
}
 
host yahoon{    //对单个主机做MACIP的绑定,即这个MAC分配一个固定的IP,yahoon是待分配客户端的主机名,不重要,会以客户端真实的名称为主
    hardware ethernet 00:0B:6A:DF:1E:F4;    //主机yahoonMAC
    fixed-address 192.168.0.28; //为其固定分配的IP
    option broadcast-address 192.168.0.255; //以下意义的与上面相同
    option routers 192.168.0.1;
    option domain-name-servers 192.168.0.111;
}
 
启动 DHCP 服务﹕
/etc/rc.d/init.d/dhcpd start
(如果 dhcpd 之前已经跑起来了﹐用 restart 代替 start)
 
查看端口
[root@test root]# netstat -utl 会有
udp        0      0 *:bootps                *:*
[root@test dhcp]# netstat -utln
会有
udp        0      0 0.0.0.0:67              0.0.0.0:*
查看日志
tail /var/log/messages
 
测试
在客户端上改为自动获得IP/DNS,测试效果.特别的yahoon这台机的信息要是
Physical Address. . . . . . . . . : 00-0B-6A-DF-1E-F4
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.0.28
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
DNS Servers . . . . . . . . . . . : 192.168.0.111
 
设置完成.
 
参考和copy的资料太多,就不一一列举了.(以上步骤都已测试通过)