Linux下配置完整安全的DHCP服务器详解【经典博客】

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

【转】http://www.gbunix.com/htmldata/2005_06/15/27/article_1220_1.html

Linux下配置完整安全的DHCP服务器详解(上)
<script type="text/javascript"></script> <script src="http://cpro.baidu.com/cpro/ui/ui.js" type="text/javascript"></script> <script type="text/javascript"></script>
-

  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服务器还需要一个名为 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 "%content%01%content%00%content%00/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

了解更多详情,参与讨论,请进入GBUNIX论坛

http://www.gbunix.com/bbs/index.php

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值