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;

}

}

时间: 2024-08-02 20:14:40

Linux下配置完整安全的DHCP服务器详解的相关文章

nginx/linux下配置php+mysql环境具体方法详解

先我们要准备配置环境的文件 Nginx 下载地址: http://nginx.org/download/nginx-1.3.14.zip PHP 下载地址: http://windows.php.net/downloads/releases/php-5.2.17-nts-Win32-VC6-x86.zip MySQL 下载地址:http://www.mysql.com/downloads/installer/ 2.安装配置nginx: 解压nginx,修改配置文件:  代码如下 复制代码 ser

LINUX下Oracle数据导入导出的方法详解_oracle

本文讲述了LINUX下Oracle数据导入导出的方法.分享给大家供大家参考,具体如下: 一. 导出工具 exp 1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移   它有三种模式: a.  用户模式: 导出用户所有对象以及对象中的数据: b.  表模式: 导出用户所有表或者指定的表: c.  整个数据库: 导出数据库中所有对象. 2. 导出工具exp交互式命令行方式的使用的例子: $ex

Linux下C++内存管理的指针传递详解

指针参数是如何传递内存的? 如果函数的参数是一个指针,不要指望用该指针去申请动态内存.示例7-4-1中,Test函数的语句 GetMemory(str, 200)并没有使str获得期望的内存,str依旧是NULL,为什么? void GetMemory(char *p, int num) { p = (char *)malloc(sizeof(char) * num); } void Test(void) { char *str = NULL; GetMemory(str, 100); // s

在Linux下创建分区和文件系统的方法详解

  在 Linux 中创建分区或新的文件系统通常意味着一件事:安装 Gnome Parted 分区编辑器(GParted).对于大多数 Linux 用户而言,这是唯一的办法.不过,你是否考虑过在终端创建这些分区和文件系统?当然可以!以下就是方法! 使用 CFdisk 创建一个基本的 Linux 分区 以下是如何在命令行中创建一个基本的 Linux 分区的正确方案.要做的第一件事就是先打开你的终端.若你已打开,你需要找到你想要创建分区的磁盘.这可以使用一个简单的命令来找到. 复制代码 代码如下:

linux下history(历史)命令用法详解

 如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率.本文将通过实例的方式向你介绍 history 命令的15个用法. 1. 使用 HISTTIMEFORMAT 显示时间戳 当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身.如果你想要查看命令历史的时间戳,那么可以执行: # export HISTTIMEFORMAT='%F %T ' # history | more 1 2008-08-05 19:02:39 serv

linux下能ping ip不能ping域名详解

  今天在开发的同事来说,内网不能通过域名访问自己的服务器!然后做了下面的测试发现这样的问题: [root@itmop ~]# ping www.downcc.com ping: unknown host www.downcc.com [root@itmop ~]#ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 ti

Linux下Web统计软件Piwik安装步骤详解

Piwik是一个开源的Web网站统计软件, Piwik安装过程也很简单, 需要先安装好lamp或者lnmp的Web运行环境. 安装图解 Piwik软件下载:http://builds.piwik.org/piwik.zip 安装截图 在服务器上安装piwik的时候报下面的错误: in_array() expects parameter 2 to be array, null given in '/alidata/www/piwik/plugins/Installation/Controller.

linux下php 5.4.* 编译安装步骤详解

据说php5.4要比此前各版本的php快不少,所以有必要安装来测试一下(国内比较流行的一些php程序比如discuz等等对php5.4的支持貌似还不太友好,所以站长朋友们还是要慎重升级).下面是在64位centos6.1上面编译安装的笔记,仅供参考. 1.下载 wget http://cn.php.net/get/php-5.4.8.tar.gz/from/this/mirror wget http://pecl.php.net/get/memcache-2.2.7.tgz wget http:

linux下ssh安装与scp命令使用详解_linux shell

ubuntu默认并没有安装ssh服务,可以通过如下命令进行: 复制代码 代码如下: yblin@yblin-desktop:~$ ssh localhost ssh: connect to host localhost port 22: Connection refused 如上所示则说明还没有安装ssh. 通过apt-get安装如下: 复制代码 代码如下: yblin@yblin-desktop:~$ sudo apt-get install openssh-server ssh默认端口是22