Linux下DHCP服务安装配置
- 简介
- 安装配置
一、简介
DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动分配IP地址,通常会应用在大型的局域网环境中或局域网内存在比较多的移动办公设备,DHCP协议能够实现集中的管理、分配IP地址。
DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址、子网掩码、网关地址以及DNS服务器地址等信息,且能够有效的提升地址使用率,提高配置效率,减少管理和维护成本。
工作原理
- DHCP Client以广播的方式发出DHCP Discover报文。
- DHCP Server都会给出响应,向DHCP Client发送一个DHCP Offer报文。DHCP Server在发出此报文后会存在一个已分配IP地址的纪录。
- DHCP Client处理最先收到的DHCP Offer报文。DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
- DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。
- DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client向DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程。
- DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址,DHCP Server收到DHCP Release报文后,会回收相应的IP地址并重新分配。
Client--> DHCP DISCOVER
DHCP OFFER <-- Server
Client--> DCHP REQUEST
DCHP ACK <-- Server
Client—获取正确的ip地址信息
Client--> DCHP RELEASE(租约到期释放申请的ip)
租约:即DHCP客户机能够使用动态分配到的IP地址的时间。
二、安装配置

- 安装
# yum install dhcp
- 配置
在/etc/dhcp/dhcpd.conf 下默认只有注释语句,需要参考下模板文件
#mv /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf (此处我的dhcp版本为4.2.5,不同版本都有不同)
标准的DHCP配置文件包括全局配置参数、子网网段声明、地址配置选项以及地址配置参数:
host 配置具体mac地址主机的专用地址
全局配置参数用于定义整个配置文件的全局参数,而子网网段声明用于配置整个子网段的地址属性,具体参数有:
|
参数 |
作用 |
|
ddns-update-style 类型 |
定义DNS服务动态更新的类型,类型包括: |
|
allow/ignore client-updates |
允许/忽略客户机更新DNS记录。 |
|
default-lease-time 21600 |
默认超时时间。 |
|
max-lease-time 43200 |
最大超时时间。 |
|
option domain-name-servers 8.8.8.8 |
定义DNS服务器地址。 |
|
option domain-name "domain.org" |
定义DNS域名。 |
|
range |
定义用于分配的IP地址池。 |
|
option subnet-mask |
定义客户机的子网掩码。 |
|
option routers |
定义客户机的网关地址。 |
|
broadcase-address 广播地址 |
定义客户机的广播地址。 |
|
ntp-server IP地址 |
定义客户机的网络时间服务器(NTP)。 |
|
nis-servers IP地址 |
定义客户机的NIS域服务器的地址。 |
|
hardware 硬件类型 MAC地址 |
指定网卡接口的类型与MAC地址。 |
|
server-name 主机名 |
通知DHCP客户机服务器的主机名。 |
|
fixed-address IP地址 |
将某个固定IP地址分配给指定主机。 |
|
time-offset 偏移差 |
指定客户机与格林尼治时间的偏移差。 |
- 对配置文件按要求进行修改,我这里先实验host配置(host 配置具体mac地址主机的专用地址)修改如下:

把客户端的mac地址填进去,另外把客户端的获取ip地址方式改为dhcp。
- 重启服务端dhcpd,并重启客户端network,查看客户端的ip:

可以看到客户端获取成功。
- 再来实验子网网段声明的配置(配置参数如上步骤3)。此处调整虚拟机设置如下:

客户端与服务端都要设置相同的(此选项为虚拟机特有虚拟网络,设置后都会在同一局域网中,减少冲突)。
- 重启服务端dhcpd,客户端network,可以看到客户端ip地址如下:

此处可以看到获取成功。
在服务端上查看/var/lib/dhcpd/dhcpd.leases~文件可知租用时间等信息:

一般DHCP中继功能在日常工作使用较少,或由路由器负责中继功能,极少用Linux系统搭建,此处就不多讲。
Linux下DHCP服务安装配置的更多相关文章
- Linux下Kafka单机安装配置方法(图文)
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- Linux 下Telnet 服务安装
Linux 下Telnet 服务安装 注:以下所有命令均在root用户下执行. 命令测试在Linxu版本6.x下完成,部分命令不适用Linux 7.0以上 1.简介 默认情况下Linux只安装了Tel ...
- CentOS7下RabbitMQ服务安装配置
参考文档: CentOS7下RabbitMQ服务安装配置 http://www.linuxidc.com/Linux/2016-03/129557.htm 在linux下安装配置rabbitMQ详细教 ...
- Linux下Kafka单机安装配置方法
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...
- Linux下MongoDB服务安装
Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...
- Linux 下编译并安装配置 Qt 4.53全过程
最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发.考虑到程序的跨平台可移植性,最终选择使用 Qt 开发.相对来说,国内关于 Qt 相关文档并不算很多.作者将 Linux 下编译并安 ...
- Linux系统下DHCP服务安装部署和使用详解
一.概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或 ...
- linux下DHCP服务原理总结
DHCP(全称Dynamic host configuration protocol):动态主机配置协议DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议.(主要包括 ...
- linux 下ftp的安装配置 图文教程
0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=” disabled ” ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否 ...
随机推荐
- 洛谷P4555 [国家集训队]最长双回文串(manacher 线段树)
题意 题目链接 Sol 我的做法比较naive..首先manacher预处理出以每个位置为中心的回文串的长度.然后枚举一个中间位置,现在要考虑的就是能覆盖到i - 1的回文串中 中心最靠左的,和能覆盖 ...
- IDEA项目搭建七——使用Feign简化消费者端操作
一.简介 我们可以看到上一篇文章的消费者这边调用Service时比较麻烦,所以我们可以使用Feign来简化这部分操作,它底层也是使用Ribbon实现的只是Ribbon支持HTTP和TCP两种通信协议, ...
- Fiddler抓包使用教程-模拟低速网络环境
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/73467267 本文出自[赵彦军的博客] 在无线测试中,网络测试是必不可少的环节,通 ...
- python爬虫之Beautifulsoup学习笔记
相关内容: 什么是beautifulsoup bs4的使用 导入模块 选择使用解析器 使用标签名查找 使用find\find_all查找 使用select查找 首发时间:2018-03-02 00:1 ...
- Ubuntu16下配置支持Windows访问的samba共享
一.安装Ubuntu samba服务器 $ sudo apt-get install samba $ sudo apt-get install smbclient # Linux客户端测试用 二.创建 ...
- 洗礼灵魂,修炼python(50)--爬虫篇—基础认识
爬虫 1.什么是爬虫 爬虫就是昆虫一类的其中一个爬行物种,擅长爬行. 哈哈,开玩笑,在编程里,爬虫其实全名叫网络爬虫,网络爬虫,又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者 ...
- sysfs_create_group创建sysfs接口
在调试驱动,可能需要对驱动里的某些变量进行读写,或函数调用.可通过sysfs接口创建驱动对应的属性,使得可以在用户空间通过sysfs接口的show和store函数与硬件交互: Syss接口可通过sys ...
- log4.net 配置 - StringMatchFilter过滤器的使用
当我们需要对log4输出的内容进行过滤时就需要使用到StringMatchFilter过滤器 它有两种工作模式: 1.字符串查找模式:只要消息内容包含指定字符串则符合过滤器规则. 2.正则表达式模式: ...
- IntelliJ IDEA src下新建包, 没有层级结构
新建项目后再src先右键点击新建包 com.example , 然后想在com.example 包中包含其他包, 当点击src新建包后,出现如图的情况 解决: 继续在src上右键新建package ...
- 回文数的golang实现
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数 输入: 输出: true 输入: - 输出: false 解释: 从左向右读, 为 - . 从右向左读, 为 - ...