DHCP原理与LINUX下的配置

一、DHCP工作原理

1、DHCP概述

DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是由Internet工作任务小组设计开发的专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

2、DHCP的优势

减少管理员的工作量

避免输入错误的可能

避免IP地址冲突

当更改IP地址段时,不需要重新配置每个用户的IP地址

提高了IP地址的利用率

方便客户端的配置

3、DHCP的分配方式

(1)自动分配

分配到一个IP地址后永久使用

(2)手动分配

由DHCP服务器管理员专门指定IP地址

(3)动态分配

使用完后释放该IP,供其他客户机使用

4、DHCP的租约过程

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

分为四个步骤

1.客户端在网络中搜索服务器

2.服务器向客户端响应服务

3.客户端向目标服务器发出服务请求

4.服务器向客户端提供服务

(1)客户机请求IP地址

当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址

此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器

(2)服务器响应

DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机

如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer的消息中,然后广播一则DHCP Offer消息

(3)客户机选择IP地址

DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机

(4)服务器确定租约

DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息

当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化

(5)重新登录

DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息

(6)更新租约

当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约

客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

二、DHCP服务器的配置

1、DHCP动态配置

(1)DHCP服务

为大量客户机自动分配地址,提供集中管理

减轻管理和维护成本、提供网络配置效率

(2)分配的信息类型

网卡的IP地址、子网掩码

对应的网络地址、广播地址

默认网关地址

DNS服务器地址

(3)DHCP配置

1.安装软件包

yum install -y dhcp

2.复制配置模板

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

3.修改配置文件

设置全局配置参数

vim /etc/dhcp/dhcp.conf

default-lease-time 21600; #设置默认租约时间,单位为秒

max-lease-time 43200; #设置最大租约时间,单位为秒

option domain-name "abc.com"; #指定默认域名

option domain-name-servers 192.168.80.1; #指定DNS服务器地址

ddns-update-style none; #禁用DNS动态更新

4.subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)

subnet 192.168.80.0 mask 255.255.255.0 { #声明要分配的网段地址

range 192.168.80.10 192.168.80.20; #设置地址池

option routers 192.168.80.254; #指定默认网关地址

}

5.host主机声明(给单机分配固定的IP地址)

host hostname { #指定需要分配固定IP地址的客户机名称

hardware ethernet 00:c0:c3:22:46:81; #指定该主机的MAC地址

fixed-address 192.168.80.188 #指定保留给该主机的IP地址

}

注:后面内容可都删除

6.启动dhcp服务

systemctl start dhcpd #开启dhcp服务

systemctl stop firewalld #关闭防火墙

setenforce 0 #关闭selinux防火墙,可通过getenforce命令查看selinux状态

7.查看dhcp端口使用情况

netstat -anpu | grep ":67" #服务器端使用67端口,客户端为68端口

8.若启动服务失败,可查看日志文件定位故障

tail -f /var/log/messages

三、DHCP客户端的使用

1.客户端获取方法

方法一:

vi /etc/sysconfig/network-scripts/-ifcfg-ens33

DEVICE=ens33

ONBOOT=yes

BOOTPROTO=dhcp

ifdown ens33 ; ifup ens33

方法二:

dhclient -d ens33

2.查看租约文件

less /var/lib/dhcpd/dhcpd.lease

四、DHCP中继配置方法

在ensp中配置DHCP中继

dhcp enable #开启DHCP功能

interface Vlanif10

ip address 192.168.1.254 255.255.255.0

dhcp select relay #开启DHCP中继功能

dhcp relay server-ip 192.168.80.10 #指向DHCP服务器

DHCP原理与LINUX下的配置的更多相关文章

  1. (转)yi_meng linux 下 ifcfg-eth0 配置 以及ifconfig、ifup、ifdown区别

    linux 下 ifcfg-eth0 配置 以及ifconfig.ifup.ifdown区别 原文:https://www.cnblogs.com/yi-meng/p/3214471.html这3个命 ...

  2. linux 下 ifcfg-eth0 配置 以及ifconfig、ifup、ifdown区别

    这3个命令的用途都是启动网络接口,不过,ifup与ifdown仅就 /etc/sysconfig/network- scripts内的ifcfg-ethx(x为数字)进行启动或关闭的操作,并不能直接修 ...

  3. Linux 下安装配置 JDK7

    Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...

  4. 【转】Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  5. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

  6. linux 下安装配置jboss as7以及部署应用

    linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...

  7. Linux下VNC配置多个桌面和修改密码 不会当系统重启vnc失效

    1:vncserver 2:iptables -I INPUT -p tcp --dport 5901 -j ACCEPT   客户端方式 3:iptables -I INPUT -p tcp --d ...

  8. linux下iptables配置模板

    linux下iptables配置模板 # Flush all policy iptables -F iptables -X iptables -Z iptables -t nat -F iptable ...

  9. Linux下安装配置与使用MySQL数据库

    Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...

随机推荐

  1. RSA非对称加密算法实现:Java

    RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA ...

  2. Hbase集群安装Version1.1.5

    Hbase集群安装,基于版本1.1.5, 使用hbase-1.1.5.tar.gz安装包. 1.安装说明 使用外部Zookeeper集群而非Hbase自带zookeeper, 使用Hadoop文件系统 ...

  3. Unity——ShaderLab实现玻璃和镜子效果

    在这一篇中会实现会介绍折射和反射,以及菲尼尔反射:并且实现镜子和玻璃效果: 这里和之前不同的地方在于取样的是一张CubeMap: demo里的cubemap使用的一样,相机所在位置拍出来的周围环境图: ...

  4. 浅议像素化与体素化Part.1——平面图形像素化

    什么是像素化 学计算机的人往往都比较清楚图形和图像的区别,而且往往能够从数据结构的角度理解这两者的区别,一般来说,图形是由几何空间中的基本图元所组成,表现为用外部轮廓线条勾勒成的矢量图.例如由计算机绘 ...

  5. Shell统计每个单词出现的个数

    题目链接 题目描述 写一个 bash脚本以统计一个文本文件 nowcoder.txt 中每个单词出现的个数. 为了简单起见,你可以假设: nowcoder.txt只包括小写字母和空格. 每个单词只由小 ...

  6. Zabbix监控报警Lack of free swap space on Zabbix server解决办法

    故障描述: Lack of free swap space on Zabbix server 故障原因: 情况一:云主机:因为Zabbix监控没有考虑虚拟主机的swap分区情况. 情况二:物理主机:说 ...

  7. Windows 和 Ubuntu 的网络能互相 ping 通之后,linux无法上网原因:①路由没设置好,②DNS 没设置好

    确保 Windows 和 Ubuntu 的网络能互相 ping 通之后,如果 Ubuntu 无法上网,原因通常有 2 个:路由没设置好,DNS 没设置好. 如果执行以下命令不成功,表示路由没设置好: ...

  8. day7 对字母数字的编排

    1.函数fun()的功能:在s数组内寻找并且统计t数组在s数组中出现的次数 输入字符串:函数scanf()函数不好用,会出现很多bug,因此不使用scanf() 效果理想: 2.函数fun()功能:将 ...

  9. 《剑指offer》面试题33. 二叉搜索树的后序遍历序列

    问题描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同.   参考以下这颗二叉搜索树: 5 / \ ...

  10. 通过Javascript实现把数组里的内容以表格方式呈现到页面从

    一.把数组里的内容呈现到页面从,以表格方式 <!doctype html> <html> <head> <meta charset="utf-8&q ...