使用Linux配置DHCP Option
DHCP是动态主机配置协议.这个协议用于向计算机自动提供IP地址,子网掩码和路由信息。网络 管理员通常会分配某个范围的IP地址来分发给局域网上的客户机。当设备接入这个局域网时,它们会向 DHCP 服务器请求一个 IP 地址。然后DHCP服务器为每个请求的设备分配一个地址,直到分配完该范围内的所有 IP 地址为止。已经分配的IP地址必须定时地延长借用期。这个延期的过程称作leasing,确保了当客户机设备在正常地释放IP地址之前突然从网络断开时被 分配的地址可以归还给服务器。本文以Redhat Linux 9.0为例,介绍如何建立一个完整和安全的DHCP服务器。
一、建立DHCP服务器配置文件
可以使用Redhat Linux 9.0自身携带rpm包安装。安装结束后, DHCP 端口监督程序 dhcpd配置文件是/etc目录中的名为f的文件。下面手工建立/f文件。/etc /f通常包括三部分:parameters、declarations 、option。
1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。主要内容见表1
参数
解释
ddns-update-style
配置DHCP-DNS 互动更新模式。
default-lease-time
指定确省租赁时间的长度,单位是秒。
max-lease-time
指定最大租赁时间长度,单位是秒。
hardware
指定网卡接口类型和MAC地址。
server-name
通知DHCP客户服务器名称。
get-lease-hostnames flag
检查客户端使用的IP地址。
fixed-address ip
分配给客户端一个固定的地址。
authritative
拒绝不正确的IP地址的要求。
2. DHCP配置文件中的declarations (声明):用来描述网络布局、提供客户的IP地址等。主要内容见表2:
声明
解释
shared-network
用来告知是否一些子网络分享相同网络。
subnet
描述一个IP地址是否属于该子网。
range 起始IP 终止IP
提供动态分配IP 的范围。
host 主机名称
参考特别的主机。
group
为一组参数提供声明。
allow unknown-clients ﹔deny unknown-client
是否动态分配IP给未知的使用者。
allow bootp;deny bootp
是否响应激活查询。
allow booting﹔deny booting
是否响应使用者查询。
 
filename
开始启动文件的名称,应用于无盘工作站。
next-server
设置服务器从引导文件中装如主机名,应用于无盘工作站。
3. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:
选项
解释
subnet-mask
为客户端设定子网掩码。
domain-name
为客户端指明DNS名字。
domain-name-servers
为客户端指明DNS服务器IP地址。
host-name
为客户端指定主机名称。
routers
为客户端设定默认网关。
broadcast-address
为客户端设定广播地址。
ntp-server
为客户端设定网络时间服务器IP地址。
time-offset
为客户端设定和格林威治时间的偏移时间,单位是秒。
注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主
机名称。
下面是一个笔者使用的DHCP配置文件,这是一个C类网络,共126个IP地址可以分配的例子。读者可以复制后使用,注意红部分是必须要修改的。
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
 
    option routers            192.168.1.254;
    option subnet-mask        255.255.255.0;
    option broadcast-address        192.168.1.255;
    option domain-name-servers      192.168.1.3;
    option domain-name            "www.cao"; #DNS名称#
    option domain-name-servers    192.168.1.3;
 
    option time-offset        -18000;   
 
    range dynamic-bootp 192.168.1.128 192.168.1.255;
    default-lease-time 21600;
    max-lease-time 43200;
 
        host ns {
        hardware ethernet 52:54:AB:34:5B:09;#运行DHCP的网络接口的MAC地址#
        fixed-address 192.168.1.9;
    }
}
二、建立客户租约文件
运行DHCP服务器还需要一个名为 dhcpd.leases 的文件,保持所有已经分发出去的 IP 地址。在Redhat Linux 发行版本中,该文件位于 /var/lib/dhcp/ 目录中。如果您通过 RPM 安装 ISC DHCP,那么该目录应该已经存在。dhcpd.leases的文件格式为:
Leases address {statement}
一个典型的文件内容如下:
lease 192.168.1.255 {            #DHCP服务器分配的IP地址#
  starts 1 2005/05/02 03:02:26;    # lease 开始租约时间#
  ends 1 2005/05/02 09:02:26;      # lease 结束租约时间#
  binding state active;
  next binding state free;
  hardware ethernet 00:00:e8:a0:25:86;  #客户机网卡MAC地址#
  uid "\001\000\000\350\240%\206";  #用来验证客户机的UID标示#
  client-hostname "cjh1";    #客户机名称#
}
注意lease 开始租约时间和lease 结束租约时间是格林威治标准时间(GMT),不是本地时间。
第一次运行DHCP服务器时dhcpd.leases是一个空文件,也不用手工建立。如 果不是通过 RPM 安装 ISC DHCP,或者 dhcpd 已经安装,那么您应该试着确定 dhcpd 将其 lease 文件写到何处,并确保该文件存在。也可以手工建立一个空文件:
#touch /var/lib/dhcp/dhcpd.leases
三、启动和检查DHCP服务器
使用命令启动DHCP服务器:
#service dhcpd start
使用ps命令检查dhcpd进程:
#ps -ef | grep dhcpd
root      2402    1  0 14:25 ?        00:00:00 /usr/sbin/dhcpd
root      2764  2725  0 14:29 pts/2    00:00:00 grep dhcpd
使用检查dhcpd运行的端口:
# netstat -nutap | grep dhcpd
udp  0  0 0.0.0.0:67        0.0.0.0:*                          2402/dhcpd
四、配置DHCP客户端
通常网管员使用选择手工配置 DHCP 客户,需要修改 /etc/sysconfig/network 文件来启用联网;并修改 /etc/sysconfig/network-scripts 目录中每个网络设备的配置文件。在该目录中,每个设备都有一个叫做 ifcfg-eth? 的配置文件,eth?是网络设备的名称。 如eth0等。如果你想在引导时启动联网,NETWORKING 变量必须 被设为 yes。 除了此处之外/etc/sysconfig/network 文件应该包含以下行:
NETWORKING=yes
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
五、DHCP配置常见错误排除option是什么意思啊
通常配置DHCP 服务器很容易,不过,在这里有一些技巧可以帮助您避免出现问题。对服务器而言,要确保网卡正常工作,并具备广播功能。对客户机而言,还要确保客户机的网卡 正常工作。最后,要考虑网络的拓扑,并考虑客户机向 DHCP 服务器发出的广播消息是否会受到阻碍。另外如果dhcpd进程没有启动,那么可以浏览 syslog 消息文件来确定是哪里出了问题。这个消息文件通常是 /var/log/messages。
典型故障:
1.DHCP服务器配置完成,没有语法错误。但是网络中的客户机却没办法取得IP地址。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。