DHCP服务详解

前言:动态主机配置协议,给局域网内的主机分配IP地址,子网掩码,网关,DNS

  • ARP协议
arp: address resolveing protocol (地址解析协议)
实现:IP地址 -> Mac地址
  • RARP协议
rarp: reverse address resolveing protocol (反地址解析协议)
实现:Mac地址 -> IP地址
  • DHCP服务的工作流程(基于广播地址进行)
(1)客户端 : 发送DHCP的发现请求
 
(2)服务端 : DHCP服务器收到请求,给客户端分配IP、netmask、gateway等
 
(3)客户端 : 确认使用IP、netmask、gateway
 
(4)服务端 : 收到确认信息
  • DHCP客户端单播请求服务器续租 IP、netmask、gateway(基于广播地址进行)
(1)客户端请求
(2)服务器响应
(3)客户端请求
(4)服务器不响应
(5)客户端广播请求IP、netmask、gateway
  • 实现DHCP服务的包
(1)dhcp
dhcpd:服务端
dhcrelay:中继服务
 
(2)dnsmasq:dhcp 和 dns
  • 安装、配置DHCP服务
(1)yum install -y dhcp
 
(2)配置网卡为host-only连接模式,给host-only的vboxnet0,这个虚拟交换机设置一个IP地址和netmask,且禁止使用DHCP服务
给DHCP服务器端一个静态地址,配置一个与vboxnet0虚拟交换机同一个网段的IP地址,如果vboxnet0的IP地址为192.168.23.1,netmask为:255.255.255.0,那么可以给DHCP服务端指定IP为192.168.23.2
 
(3)编辑主配置文件/etc/dhcp/dhcpd.conf
# 指定服务器主机名
option domain-name "uplooking.com";
 
# 指定给客户端分配的DNS服务器主机IP地址
option domain-name-servers 192.168.23.1;
 
# 指定给DHCP客户端分配的网关地址,可以写在全局,也可以写在地址分配池里面
option routers 192.168.23.1;
 
# 指定默认的租约期限
default-lease-time 60000;
 
# 指定最大的租约期限
max-lease-time 720000;
 
# 配置地址分配池
subnet 192.168.23.0 netmask 255.255.255.0 {
range 192.168.23.100 192.168.23.254;
 
}
 
# 指定固定Mac地址的主机分配固定的地址,但是这里的固定IP地址不能使用地址池范围内的地址
host passacaglia {
hardware ethernet 08:00:27:c1:cd:2c;
fixed-address 192.168.23.10;
option routers 192.168.23.20;
}
 
(3)启动服务端
systemctl start dhcpd.service
 
(4)服务端监听于:
67号端口
 
客户端监听于:
68号端口
 
(5)在客户端使用 dhclient -d 命令将DHCP客户端前台运行,此时客户端会开始获得DHCP分配的动态地址,先discover发现,再request续租。
 
(6)如果DHCP服务端的地址池的范围发生改变,那么客户端会重新discover发现
  • DHCP的其他配置项说明
在地址池中可以使用下面两个指令:
(1)filename:指明引导文件名称
(2)next-server:指明引导文件所在的服务器主机的IP地址
 
例如:
filename "pxelinux.0"
next-server 192.168.23.6

安装DHCP 服务器 指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码的更多相关文章

  1. RPC 编程 使用 RPC 编程是在客户机和服务器实体之间进行可靠通信的最强大、最高效的方法之一。它为在分布式计算环境中运行的几乎所有应用程序提供基础。

    RPC 编程 使用 RPC 编程是在客户机和服务器实体之间进行可靠通信的最强大.最高效的方法之一.它为在分布式计算环境中运行的几乎所有应用程序提供基础.本文介绍 RPC 客户机和服务器之间基本的事件流 ...

  2. 【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P

    网络体系结构的分类 现代网络应用程序有两种主流的体系结构: 客户机/服务器体系结构和P2P体系结构(peer to peer “对等”)   一 . 客户机/服务器体系结构     客户机/服务器体系 ...

  3. linux篇-centos7安装DHCP服务器

    1检查防火墙和selinux(关闭) 关闭防火墙和selinux,这边不多说 2检查DHCP状态 3安装DHCP软件包 4把系统默认的样例复制 5修改配置文件 option domain-name & ...

  4. Ubuntu 16.04服务器版查看DHCP自动分配的IP、网关、DNS

    说明: 1.在服务器版本中,没有想桌面版一样的NetworkManager工具,所以的一切都是在命令行上操作的. 2.本文只针对DHCP默认分配的IP进行查看. 方法: 1.如果要使用DHCP,那么需 ...

  5. VMware vSphere 服务器虚拟化之二十四 桌面虚拟化之手动池管理物理机

    VMware vSphere 服务器虚拟化之二十四 桌面虚拟化之手动池管理物理机 VMwareView手动池可以管理物理计算机 说明: 环境基于实验二十三 1.准备一台Windows 7的物理计算机名 ...

  6. 安装DHCP到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:DHCP-x 硬件要求:无 安装过程 1.安装YUM源,由EPEL提供 [root@localh ...

  7. 使用Hudson搭建自动构建服务器

    环境: ubuntu1404_x64 说明: 使用hudson和git搭建自动构建服务器的简单示例 安装hudson及相关插件 安装hudson 安装命令如下: sudo sh -c "ec ...

  8. 在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问。

    问题:在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问.原因:nodemanager没有启起来解决方法: 一.对于managedServer于admi ...

  9. 如何为MySQL服务器和客户机启用SSL

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: mysql5.7后有ssl新特性 自己搭建mysql ent ...

随机推荐

  1. Java实例 Part3:流程控制

    目录 Example01:判断某一年是否为闰年 Example02:验证登录信息的合法性 Example03:判断用户输入月份的季节 Example04:使用while循环语句与自增运算符循环遍历数组 ...

  2. 音频算法之小黄人变声 附完整C代码

    前面提及到<大话音频变声原理 附简单示例代码>与<声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码> 都稍微讲过变声的原理和具体实现. 大家都知道,算法 ...

  3. CentOS 7.2重启网络报错 Failed to start LSB: Bring up/down

    CentOS 7.2重启网络报错 Failed to start LSB: Bring up/down 我的虚拟机原本有两块网卡,一块叫eno16777736,另一块叫eno5033674.本来是正常 ...

  4. XMAPP 的安装与配置

    1.XMAPP简介 1.1.XAMPP(Apache+MySQL/MariaDB+PHP+Perl)   开头的X代表X-OS,代表可以在任何常见操作系统下使用,包括Windows.Mac.Linux ...

  5. # C语言假期学习笔记——6

    C语言假期学习笔记--6 数组 主要学习了一位数组和二维数组. 数组是一组具有相同类型的变量的集合.C语言程序通过元素的下标来访问数组中的元素.(下标从0开始) 一位数组 类型 数组名[元素个数] 二 ...

  6. 20145226夏艺华 《Java程序设计》实验报告三

    实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领 ...

  7. 百度地图Map属性和方法

    map的L属性:TANGRAM__1 map的F属性:[object Object] map的xa属性:[object HTMLDivElement] map的width属性:1340 map的hei ...

  8. C#基础之接口

    对于接口一直以来都清楚自己理解的不深入,这两天重温以前的代码时更加发现对接口的理解仅仅限于定义而已,得好好学学接口了. 1.接口的特点 接口的定义是指定一组函数成员而不实现成员的引用类型,其它类型和接 ...

  9. day1 Ubuntu 使用

    ctrl + shift + +   放大终端 ctrl + -   缩小终端 软连接,硬链接   ln python@ubuntu:~/Desktop$ vim .txt python@ubuntu ...

  10. 【CF960G】Bandit Blues

    [CF960G]Bandit Blues 题面 洛谷 题解 思路和这道题一模一样,这里仅仅阐述优化的方法. 看看答案是什么: \[ Ans=C(a+b-2,a-1)\centerdot s(n-1,a ...