linux下dhcp服务器配置(很全)
使用Linux配置DHCP Option

使用Linux配置DHCP OptionDHCP是动态主机配置协议.这个协议用于向计算机自动提供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(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。
主要内容见表13. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主机名称。
下面是一个笔者使用的DHCP配置文件,这是一个C类网络,共126个IP 地址可以分配的例子。
读者可以复制后使用,注意红色部分是必须要修改的。
二、建立客户租约文件运行DHCP服务器还需要一个名为 dhcpd.leases 的文件,保持所有已经分发出去的 IP 地址。
在Redhat Linux 发行版本中,该文件位于 /var/lib/dhcp/ 目录中。
Linux1 DHCP服务器配置 主配置文件(dhcpd.conf)

Linux1 DHCP服务器配置主配置文件(dhcpd.conf)使用Red Hat Enterprise Linux5.4自身携带的RPM包安装,安装结束后DHCP 端口监督程序dhcpd的主配置文件为/etc目录中名为dhcpd.conf的文件。
该文件通常包括3个部分,即parameters参数、declarations声明和option选项,如图9所示。
图9 dhcpd.conf文件DHCP的配置很简单,只要将dhcp.conf设置好即可。
不过编辑此文件时需要注意以下几点:●# 为批注符号。
●除了括号那一行外,其他每一行后面都要以“;”为结尾。
这是最容易出错的地方。
●设置的项目都有其独特的名称,形式为“<参数代码><设置内容>”,例如“default-lease-time 259200”。
●某些项目必须利用option来设置,形式为“option <参考代码><设置内容>”,例如“option domain-name “”;”。
DHCP的IP分配可分为动态IP和静态IP,其中需要了解的是,如果需要设置静态IP,则需要知道欲设置成静态IP的那台计算机的硬件地址(MAC地址),可使用arp及ifconfig命令来查询接口的MAC地址。
此外,还需进行如下几项设置。
1.整体设置(Global)整体设置包括设置租约期限、DNS的IP地址、路由器的IP地址、动态DNS (DDNS)更新的类型等。
当静态IP及动态IP内没有规范到某些设置时,则以整体设置值为准。
最常使用的参数如下:●Default-lease-time 时间默认的租约时间,单位为秒。
●Max-lease-time 时间最大租约时间,当客户端超过租约时间但尚未更新IP地址时,最长可以使用该IP地址的时间。
●Option domain-name “域名”如果在/etc/resolv.conf文件里设置了search,则表示当要搜索计算机名称时,DNS系统会主动帮客户端加上这个领域的名称。
Linux下配置完整安全的DHCP服务器详解

名称dhcpd.conf - dhcpd 配置文件描述dhcpd.conf 文件包括ISC DHCP的dhcpd的配置信息。
dhcpd.conf文件是一个普通格式的ASCII码文档,它由内置的递归解析器解释。
dhcpd.conf文件可能会包含许多额外的tab和空格、空行,它们的目的是让文件更容易阅读。
其中的关键字对大小写不敏感。
注释语句可以放在任何位置(除了引号中)注释语句用# 开头,这一行结束时注释语句自然结束。
文件包括一组语句,语句在一对大括号中,包含参数和声明。
参数语句说明如何做一件事(例如,租期是多长时间),或者是否做一件事情。
(例如,dhcpd 是否为未知客户提供地址),或者给客户提供哪种参数(例如,使用网关220.177.244.7)。
声明用来描述网络的拓扑结构、网络上的客户,提供可以为客户端分配的地址,或者对某个客户端组应用组(group)参数。
在任何组参数中,所有的这些组参数必须比使用这些组参数的语句先出现。
网络声明包含多子网的网络(有些地方译为:超网,但超网太难理解了,这里叫“多子网网络”)和子网的拓扑声明。
对于有地址被动态分配给客户端的子网,子网声明中必须有一个range声明语句。
对于静态分配的地址,或者是已知客户的安装,每个客户端都必须使用一个host声明语句。
如果一个参数应用到一组声明中,这些声明并不只与某个子网相关,可以定义一个“组参数”。
对每一个要服务的子网,每个dhcp服务器连接的子网,都必须有一个子网声明,用来告诉dhcpd如何处理那个子网上的地址。
即使一个子网不需要分配任何地址,也需要一个子网声明。
一些物理网络上不只有一个IP子网存在,例如,如果一个网络需要一个8位的子网,但是当业务发展使总的节点数超过了254台,就需要增加一个8位的子网。
这时,就增加了一个新的物理网络,这种情况下,2个网络的子网声明必须包含在一个“多子网网络声明(超级作用域)”中。
有些网络的客户端不只有一个子网,可能会为同一子网中一些客户端分配的一些参数与其它的客户端不同。
Linux下dhcpd服务器配置

default-lease-time 86400;
maxlease-time 604800;
如果客户不继续请求DHCP地址,则86400秒后释放IP地址,否则最大允许租用的时间为604800秒。
option subnetmask 255.255.255.0;
option routers 200.1 1 7.207.1;
其中subnet×.×.×.×说明IP地址是否属于该子网;netmask×.×.×.×提供子网的一些参数;range×.×.×.× ×.×.×.×是DHCP服务器可以分配的IP地址范围;default-lease-time设置缺省的IP租用时间,常用的是86400秒(一天);maxleasetime是最大租用时间,常用的是604800(一周);option subnet-mask设置IP地址的子网掩码;option routers设置在DHCP发布IP地址的同时,把网关发布出去,这一项是用来指明网关的;option broadcast-address设置该子网的广播地址;option domain-name-servers设置DNS服务器IP地址option domain-name“”设置DNS域名。
一个DHCP配置文件的主要内容:
subnet 200.117.207.0 netmask 255.255.255.0
{
range 200.117.20ቤተ መጻሕፍቲ ባይዱ.10 200.117.207.100;
range 200.117.207.110 200.117.207.200;
允许DHCP服务器分配两段地址范围给客户,200.117.207.10~100或者200.117.207.100~200。
DHCP服务器详细配置

DHCP服务器详细配置DHCP(动态主机配置协议)服务器是一种网络服务,用于自动分配IP地址和相关的网络配置信息给连接到网络上的计算机设备。
正确配置DHCP服务器可以有效地管理和优化网络资源。
下面将详细介绍DHCP服务器的配置过程。
一、安装DHCP服务器软件首先,需要安装适合的DHCP服务器软件。
常见的DHCP服务器软件包括ISC DHCP、Microsoft DHCP Server等。
二、分配IP地址池为了让DHCP服务器正确分配IP地址,需要设置IP地址池。
IP地址池是指一定范围内的IP地址,DHCP服务器将从这个地址池中选择可用的地址分配给客户端设备。
三、设置子网掩码在配置DHCP服务器时,需要指定子网掩码。
子网掩码用于确定IP 地址的网络部分和主机部分。
通过正确设置子网掩码,可以实现更好的网络规划和管理。
四、配置默认网关除了IP地址和子网掩码,DHCP服务器还需要配置默认网关。
默认网关是指一个网络中接收IP数据包的设备,该设备用于将数据包转发到其他网络。
五、设定租期时长租期时长是指DHCP服务器分配给客户端设备的IP地址的有效期。
在配置DHCP服务器时,可以根据需求设置不同的租期时长。
较短的租期时长可以实现更频繁的IP地址更新,而较长的租期时长则可以减少地址分配的开销。
六、配置DNS服务器DNS(域名系统)用于将域名转换为对应的IP地址。
在DHCP服务器的配置过程中,需要指定一个或多个可用的DNS服务器地址,以便客户端设备能够正确解析域名。
七、指定域名服务器在某些网络环境下,需要通过域名服务器指定特定的域名。
通过DHCP服务器的配置,可以设置一个或多个域名服务器地址,以便客户端设备能够获取所需的域名信息。
八、启用DHCP服务器完成以上配置后,将DHCP服务器设置为启用状态,使其能够接受来自客户端设备的DHCP请求,并分配相应的IP地址和网络配置信息。
九、监测和故障排除在配置完DHCP服务器后,需要进行监测和故障排除。
配置DHCP服务器

配置DHCP服务器DHCP服务器的配置DHCP服务器(Dynamic Host Configuration Protocol server)是一种能够自动分配IP地址、子网掩码、默认网关等网络参数的设备或软件。
它可以减轻网络管理员的工作压力,提高网络管理效率。
本文将介绍如何配置DHCP服务器。
一、了解DHCP服务器在开始配置DHCP服务器之前,首先需要了解DHCP服务器的基本原理和作用。
DHCP服务器通过DHCP协议向客户端分配网络地址,从而实现自动化的网络配置。
DHCP服务器可以在局域网或广域网上提供IP地址的分配服务,以管理分配的IP地址、子网掩码、默认网关和DNS服务器的信息。
二、配置DHCP服务器1. 准备工作在配置DHCP服务器之前,需要先确认服务器本身是否获得了IP地址。
通常情况下,DHCP服务器需要手动配置一个静态IP地址以便其他设备能够与其通信。
2. 安装DHCP服务器软件在Linux服务器上,可以使用dhcpd软件来实现DHCP服务器的功能。
在Windows服务器上,可以使用Windows自带的DHCP管理工具来实现DHCP服务器的配置。
3. 配置DHCP服务器在Linux服务器上,可以通过修改/etc/dhcp/dhcpd.conf文件来实现DHCP服务器的配置。
在Windows服务器上,可以通过Windows自带的管理工具来配置DHCP服务器。
以下是一份样例配置文件:subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.100 192.168.1.200;option subnet-mask 255.255.255.0;option routers 192.168.1.1;option domain-name-servers 8.8.8.8, 8.8.4.4;default-lease-time 600;max-lease-time 7200;}以上配置文件中,subnet指定了子网地址,range指定了分配的IP 地址范围,option列出了分配的参数选项,default-lease-time表示默认租约时间(以秒为单位),max-lease-time表示最大租约时间(以秒为单位)。
linux udhcpc 参数
linux udhcpc 参数摘要:1.引言2.Linux UDHCP 简介3.UDHCP 配置文件4.UDHCP 配置参数详解a.全局参数b.接口参数c.客户端参数d.服务器参数5.UDHCP 命令行参数6.UDHCP 高级配置7.总结正文:Linux 是一款开源的操作系统,其中的网络配置工具UDHCP 用于自动分配IP 地址和其他网络参数。
本文将详细介绍UDHCP 的参数配置以及命令行使用方法。
## Linux UDHCP 简介UDHCP 是一个用于Linux 系统中的动态主机配置协议(DHCP) 客户端和服务器。
它可以自动分配IP 地址、子网掩码、网关等网络参数给连接到网络的设备。
UDHCP 通过与DHCP 服务器通信,获取并更新网络参数。
## UDHCP 配置文件UDHCP 配置文件位于`/etc/udhcp`目录下,包括`udhcpd.conf`(服务器配置文件)和`client-scopes.d`(客户端配置文件)。
## UDHCP 配置参数详解UDHCP 配置参数分为全局参数、接口参数、客户端参数和服务器参数。
### 全局参数全局参数主要设置UDHCP 服务器的基本属性。
- `server`: 设置UDHCP 服务器的主机名。
- `hostname`: 设置分配给客户端的主机名。
- `domainname`: 设置分配给客户端的域名。
- `filename`: 设置分配给客户端的配置文件路径。
### 接口参数接口参数用于配置UDHCP 服务器监听的网络接口。
- `interface`: 设置UDHCP 服务器监听的网络接口。
- `network`: 设置该接口所属的网络。
- `broadcast`: 设置该接口的广播地址。
- `start`: 设置分配给客户端的IP 地址起始地址。
- `limit`: 设置分配给客户端的最大IP 地址数量。
### 客户端参数客户端参数用于配置客户端的网络参数。
【Linux教程】项目11 配置与管理DHCP服务器
11.3.3 任务3 配置DHCP的应用案例
20
1.案例需求
技术部有60台计算机,各计算机的IP地址要求如下。
(1)DHCP服务器和DNS服务器的地址都是192.168.10.1/24,有效IP地址段 为192.168.10.1~192.168.10.254,子网掩码是255.255.255.0,网关为 192.168.10.254。
13
DHCP的工作流程如图所示。
(1)客户端发送广播向服务器申请IP地址。
(2)服务器收到请求后查看主配置文件dhcpd.conf,先根据客户端的MAC地址查看是否为 客户端设置了固定IP地址。
(3)如果为客户端设置了固定IP地址,则将该IP地址发送给客户端。如果没有设置固定 IP地址,则将地址池中的IP地址发送给客户端。
在完成该项目之前,首先应当对整个网络进行规划,确定网段的划分以及每个网段可能的主机数 量等信息。
职业能力目标和要求
① 了解DHCP服务器在网络中的作用。 ② 理解DHCP的工作过程。 ③ 掌握DHCP服务器的基本配置方法。 ④ 掌握DHCP客户端的配置和测试方法。
11.1 DHCP相关知识
3
11.1.1 DHCP服务概述
option subnet-mask 255.255.255.0
(3)option domain-name-servers IP地址。 作用:为客户端指定DNS服务器地址。
option domain-name-servers 192.168.10.1
注意:(1)(2)(3)选项可以用在全局配置中,也可以用在局部配置中。
[root@RHEL7-1 ~]# ifconfig [root@RHEL7-1 ~]#ping -c 1 192.168.1.20 [root@RHEL7-1 ~]# arp -n //查询缓存在远程计算机中的MAC地址
SUSE+LINUX+DHCP+服务器配置指导
SUSE LINUX DHCP 服务器配置指导一.本文档的目的简要说明在SUSE系统上配置DHCP服务器的方法以及要注意的事项,使读者能快速掌握SUSE系统DHCP服务器的配置。
二.DHCP服务器概述对网络上的计算机,要想适用网络资源,就要配置其网络设置,如IP 地址、网络掩码、网关等。
DHCP(动态主机配置协议) 能够用于动态分配地址分配。
极大简化了多个客户端的配置和管理,方便了网络的使用和控制。
例如,DHCP 特别适合笔记本电脑在不同的网络间频繁地移动,它们的设置必须随每个新的网络环境而变化。
DHCP 服务建立在客户端和服务器之间。
客户端向服务器广播请求包括网络地址的网络参数。
作为响应,服务器向客户端返回这些参数。
然后客户端将这些参数分配给自己使用。
三.DHCP的构成四.配置步骤(1)安装dhcpd程序(2)修改/etc/dhcpd.conf配置文件信息(3)启动dhcp服务五.软件包的安装通常情况下SUSE LINUX默认已经安装。
如果没有可下载dhcpd软件包进行安装。
六.DHCP的启动和停止TLES 8 所采用的DHCP 服务器程序的实体是dhcpd 守护程序。
dhcpd 的启动脚本是/etc/init.d/dhcpd。
启动/停止等可以通过执行该脚本进行。
例如,启动dhcpd,执行如下命令。
# /etc/init.d/dhcpd start另外,启动系统时要时dhcpd 也自动启动,请执行chkconfig 命令。
# chkconfig dhcpd on注意:配置文件修改后,为了使配置生效,必须重新启动dhcpd。
七.DHCP的设置DHCP 服务器的设置文件是/etc/dhcpd.conf。
安装完成后有配置文件的例子,但须根据使用的网络环境重新配置。
dhcpd.conf 的语法类似于 C 语言。
没有被括号括起来的参数是全程应用的,括号表示参数应用范围,每个参数以分号(;)结尾,/*...*/(C 语言形式)、//...(C++语言形式)、# ...(脚本形式)均被视为注释。
使用Linux配置DHCP Option
使用Linux配置DHCP Option目录目录使用Linux配置DHCP Option (1)目录 (1)摘要 (1)正文 (3)一. 预置条件 (3)二. 测试拓扑图 (3)三. 测试步骤 (4)四. 总结 (8)五. 备注说明 (9)附件 (10)参考文献 (10)摘要目前在公司产品开发中要求验证相关DHCP Option功能的项目越来越多。
本指导书旨在指导测试人员正确完成对CPE网关设备的DHCP Option功能的测试,以判断产品是否符合相关需求。
其中CPE网关设备作为DHCP Server,主要是测试Option 60, Option 43和Option 125等作为接入认证技术的功能。
如果其中CPE网关设备是作为DHCP Client,则主要是测试一些基本功能,如DHCP Option 6,Option 15,Option 42和Option 50等。
如果其中CPE网关设备是作为DHCP Relay Agent,则主要是测试Option 82功能。
正文一.预置条件1.准备PC机一台,安装Linux 操作系统RHEL AS4(请注意需安装ethereal抓包软件);2.验证Linux系统中可以使用命令dhclient (即PC机作为DHCP Client,CPE设备作为DHCP Server)。
如该命令无效,则需安装相应的dhclient RPM包。
3.验证Linux系统中已经安装dhcpd服务器(此时CPE设备为DHCP Client,PC机作为DHCP Server);如果“service dhcpd restart”命令无效,则需安装相应的dhcpd RPM包。
4.网线、电话线若干;二.测试拓扑图PCFig 1测试拓扑图1PCFig 2 测试拓扑图2PC1Fig 3 测试拓扑图3三.测试步骤测试内容可以包括五大部分(I、II、III、Ⅳ、Ⅴ)I.DHCP Option 60测试(参照测试拓扑图1)DHCP OPTION 60中带有Vendor和Service Option信息,是由用户终端发起DHCP请求时携带的信息,网络设备只需要透传即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux下配置完整安全的DHCP服务器详解(1)一、建立DHCP服务器配置文件二、建立客户租约文件三、启动和检查DHCP服务器四、配置DHCP客户端五、DHCP配置常见错误排除六、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(参数):表明如何执行任务,是否要执行任务,或将3. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:注意:如果客户端使用的是视窗操作系统,不要选择"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 ""; #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;Linux下配置完整安全的DHCP服务器详解(2)二、建立客户租约文件运行DHCP服务器还需要一个名为dhcpd.leases 的文件,保持所有已经分发出去的IP 地址。
在Redhat Linux 发行版本中,该文件位于/var/lib/dhcp/ 目录中。
如果您通过RPM 安装ISC DHCP,那么该目录应该已经存在。
dhcpd.leases的文件格式为:一个典型的文件内容如下:注意lease 开始租约时间和lease 结束租约时间是格林威治标准时间(GMT),不是本地时间。
第一次运行DHCP服务器时dhcpd.leases是一个空文件,也不用手工建立。
如果不是通过RPM 安装ISC DHCP,或者dhcpd 已经安装,那么您应该试着确定dhcpd 将其lease 文件写到何处,并确保该文件存在。
也可以手工建立一个空文件:使用命令启动DHCP服务器:使用ps命令检查dhcpd进程:使用检查dhcpd运行的端口:通常网管员使用选择手工配置DHCP 客户,需要修改/etc/sysconfig/network 文件来启用联网;并修改/etc/sysconfig/network-scripts 目录中每个网络设备的配置文件。
在该目录中,每个设备都有一个叫做ifcfg-eth?的配置文件,eth?是网络设备的名称。
如eth0等。
如果你想在引导时启动联网,NETWORKING 变量必须被设为yes。
除了此处之外/etc/sysconfig/network 文件应该包含以下行:Linux下配置完整安全的DHCP服务器详解(3)发布时间:2005.05.19 17:56 来源:赛迪网作者:曹江华五、DHCP配置常见错误排除通常配置DHCP 服务器很容易,不过,在这里有一些技巧可以帮助您避免出现问题。
对服务器而言,要确保网卡正常工作,并具备广播功能。
对客户机而言,还要确保客户机的网卡正常工作。
最后,要考虑网络的拓扑,并考虑客户机向DHCP 服务器发出的广播消息是否会受到阻碍。
另外如果dhcpd进程没有启动,那么可以浏览syslog 消息文件来确定是哪里出了问题。
这个消息文件通常是/var/log/messages。
典型故障:1.DHCP服务器配置完成,没有语法错误。
但是网络中的客户机却没办法取得IP地址。
通常是Linux DHCP服务器沒有办法接收來自255.255.255.255 的DHCP 客户机的Request 封包造成的。
一般是Linux DHCP服务器的网卡没有设置具有MULTICAST功能。
为了让dhcpd(dhcp程序的守护进程)能够正常的和DHCP客户机沟通,dhcpd必须传送封包到255.255.255.255这个IP地址,但是有些Linux系统里255.255.255.255这个IP地址被用来做为监听区域子网域(local subnet)广播的IP地址,所以需要在路由表(routing table)里加入255.255.255.255以激活MULTICAST功能;使用命令:如果报告错误消息:255.255.255.255:Unkown host那么请先修改/etc/hosts加入一行:255.255.255.255 dhcp2. DHCP客户端程序和DHCP服务器不兼容由于Linux有许多发现版本,不同版本使用DHCP客户端程序和DHCP服务器也不相同。
Linux提供了四种DHCP客户端程序:pump, dhclient, dhcpxd, 和dhcpcd。
了解不同Linux发行版本的服务器端和客户端程序对于常见错误排除是必要的。
笔者曾经遇到过使用SuSE Linux 9.1 DHCP服务器和使用Mandrake Linux 9.0客户机不兼容的情况。
此时就必须更换客户端程序。
方法是先停止客户机的网络服务,卸载原程序,安装和服务器端兼容程序。
附表:主要Linux发行版使用的DHCP客户端。
Linux下配置完整安全的DHCP服务器详解(4)发布时间:2005.05.19 17:56 来源:赛迪网作者:曹江华六、DHCP服务器的安全1. 在指定网络接口启动DHCP服务器如果你的Linux系统连接了不止一个网络界面,但是你只想让DHCP 服务器启动其中之一,你可以配置DHCP 服务器只在那个设备上启动。
在/etc/sysconfig/dhcpd 中,把界面的名称添加到DHCPDARGS 的列表中:或者直接使用命令:这样对于带有两个网卡的防火墙机器,更加安全:一个网卡可以被配置成DHCP 客户来从互联网上检索IP 地址;另一个网卡可以被用作防火墙之后的内部网络的DHCP 服务器。
仅指定连接到内部网络的网卡使系统更加安全,因为用户无法通过互联网来连接它的守护进程。
2. 让DHCP服务器在监牢中运行所谓"监牢"就是指通过chroot机制来更改某个软件运行时所能看到的根目录,即将某软件运行限制在指定目录中,保证该软件只能对该目录及其子目录的文件有所动作,从而保证整个服务器的安全。
这样即使出现被破坏或被侵入,所受的损失也较小。
将软件chroot化的一个问题是该软件运行时需要的所有程序、配置文件和库文件都必须事先安装到chroot目录中,通常称这个目录为chroot jail(chroot"监牢")。
如果要在"监牢"中运行dhcpd,而事实上根本看不到文件系统中那个真正的目录。
因此需要事先创建目录,并将dhcpd复制到其中。
同时dhcpd需要几个库文件,可以使用ldd(library Dependency Display 缩写)命令,ldd作用是显示一个可执行程序必须使用的共享库。
这意味着还需要在"监牢"中创建lib目录,并将库文件复制到其中。
手工完成这一工作是非常麻烦的,此时可以用jail软件包来帮助简化chroot"监牢"建立的过程。
(1)Jail软件的编译和安装Jail官方网站是:/ ,最新版本:1.9a。
(2)用jail创建监牢jail软件包提供了几个Perl脚本作为其核心命令,包括mkjailenv、addjailuser和addjailsw。
mkjailenv:创建chroot"监牢"目录,并且从真实文件系统中拷贝基本的软件环境。
addjailsw:从真实文件系统中拷贝二进制可执行文件及其相关的其它文件(包括库文件、辅助性文件和设备文件)到该"监牢"中。
addjailuser:创建新的chroot"监牢"用户。
首先停止目前dhcpd服务,然后建立chroot目录:#/sbin/service dhcpd start#mkjailenv /chroot/mkjailenvA component of Jail (version 1.9 for linux)http://www.gsyc.inf.uc3m.es/~assman/jail/Juan M. CasillasMaking chrooted environment into /chrootDoing preinstall()Doing special_devices()Doing gen_template_password()Doing postinstall()Done.下面的例子展示为"监牢"添加dhcpd程序的过程:# addjailsw /chroot/ -P /usr/sbin/dhcpdaddjailswA component of Jail (version 1.9 for linux)http://www.gsyc.inf.uc3m.es/~assman/jail/Juan M. CasillasGuessing dhcpd args(0)Warning: file /chroot//lib/tls/libc.so.6 exists. Overwritting itWarning: file /chroot//lib/ld-linux.so.2 exists. Overwritting it………Done.不用在意那些警告信息,因为jail会调用ldd检查dhcpd用到的库文件。