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. Contract Helper

    using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...

  2. ESP8266传送文件设置和操作

    问题:ESP8266不能被识别为USB盘,也不能通过串口传送文件,只能通过wifi传送文件,需要事前在串口连接后的repl状态下,用命令行方式配置网络参数,之后才可以用wifi传送文件(webrepl ...

  3. Python学习——编程语言介绍

    开发语言 高级语言:基于C/汇编等封装的语言,如Python.Java.C#.PHP.Go.ruby.C++……生成字节码让C/汇编去识别 低级语言:直接让计算机底层能识别成机器码的语言(计算机再将机 ...

  4. 论 Python Opencv 中文路径及中文文件名图像文件读取的两种方式

    python 2中对于中文字符的处理可谓是诟病已久,虽然python 3 使用统一编码解决了中文字符串的问题,但在使用opencv中imread函数读取中文路径图像文件时仍会报错. 1) 借助nump ...

  5. 浅谈style.height、clientHeight、offsetHeight、scrollHeight

    先分别介绍以下,以下资料来自MDN HTMLElement.offsetHeight 是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数. Element.clie ...

  6. Matlab调用C语言函数

    Matlab调用C语言函数 如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y) { return x + y ;}现在我想要在 ...

  7. WPF 带刻度的滑动条实现

    原文:WPF 带刻度的滑动条实现 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83507170 ...

  8. 可以用来求急的开源项目es5-shim

    最近发现一个JS库,无法在IE8中运行.比较纠结,又不想另找个库代替它,还好发现了这玩意.         它的作用:就给傻逼浏览器做兼容性,使得傻逼浏览器可以支持一些 es5 的 api       ...

  9. sql心经

    问题: 查数据是一件很痛苦的事,尤其是多张表链接查询更是惨不忍睹 各种条件拼接,各种查询数据不对,看着写了半天的sql,感觉很完美,没毛病啊... 分析: http://blog.jobbole.co ...

  10. 【转载】OGRE中用到的设计模式

    原文:OGRE中用到的设计模式 1.       单例模式(Singleton) 2.       工厂方法(Factory Method)  3.       适配器模式(Adapter)  4.  ...