Linux下配置完整安全的DHCP服务器详解

DHCP是动态主机配置协议 。这个协议用于向计算机自动提供IP地址,子网掩码和路由信息 。网络管理员通常会分配某个范围的IP地址来分发给局域网上的客户机 。当设备接入这个局域网时,它们会向 DHCP 服务器请求一个 IP 地址 。然后DHCP服务器为每个请求的设备分配一个地址,直到分配完该范围内的所有 IP 地址为止 。已经分配的IP地址必须定时地延长借用期 。这个延期的过程称作leasing,确保了当客户机设备在正常地释放IP地址之前突然从网络断开时被分配的地址可以归还给服务器 。本文以Redhat Linux 9.0为例,介绍如何建立一个完整和安全的DHCP服务器 。
一、建立DHCP服务器配置文件
可以使用Redhat Linux 9.0自身携带rpm包安装 。安装结束后, DHCP 端口监督程序 dhcpd配置文件是/etc目录中的名为dhcpd.conf的文件 。下面手工建立/etc/dhcpd.conf文件 。/etc/dhcpd.conf通常包括三部分: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.com"; #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;

推荐阅读