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;

}

}
二、启动和检查DHCP服务器

  使用命令启动DHCP服务器:

#service dhcpd start
  使用ps命令检查dhcpd进程:

#ps -ef | grep dhcpdroot 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpdroot 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd
  使用检查dhcpd运行的端口:

# netstat -nutap | grep dhcpdudp 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=yesDEVICE=eth0BOOTPROTO=dhcpONBOOT=yes

??あ?度ツ

有一些穿高跟鞋走不到的路,

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

相关文章:

你感兴趣的文章:

标签云: