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. scala(9) Monad

    一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已.这句话涉及到了几个概念:单子(Monad),自函子(Endo-Functor),幺半群(Monoid),范畴(category). 范 ...

  2. (数据科学学习手札54)Python中retry的简单用法

    一.简介 retry是一个用于错误处理的模块,功能类似try-except,但更加快捷方便,本文就将简单地介绍一下retry的基本用法. 二.基本用法 retry: 作为装饰器进行使用,不传入参数时功 ...

  3. Tokio,Rust异步编程实践之路

    缘起 在许多编程语言里,我们都非常乐于去研究在这个语言中所使用的异步网络编程的框架,比如说Python的 Gevent.asyncio,Nginx 和 OpenResty,Go 等,今年年初我开始接触 ...

  4. 20145207《Java程序设计》实验二(Java面向对象程序设计)实验报告

    <Java程序设计>实验二(Java面向对象程序设计)实验报告 目录 改变 Java面向对象程序设计实验要求 实验成果 课后思考 改变 看了下之前实验二的整体,很搞笑,大图+代码,没了.. ...

  5. 浅入tcp

    1.认识TCP tcp协议是传输层协议,它的最主要的3个特点是面向连接.可靠保证.基于字节流.当应用层把数据给tcp层时,注意如果数据大于MSS是要在tcp层进行分段的.tcp协议为了保证不丢包会给每 ...

  6. QT-2D编程

    QT-[转]2D编程 Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕上和绘图·设备上进行绘制,主要基于QPainter.QPainterDevice和QPainterEngine这3个类. ...

  7. CF833D Red-Black Cobweb

    题面 题解 点分治大火题... 设白边数量为$a$,黑边为$b$,则$2min(a,b)\geq max(a,b)$ 即$2a\geq b\;\&\&2b\geq a$ 考虑点分治时如 ...

  8. 洛谷 P3369 【模板】普通平衡树(Treap/SBT)

    题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入x数 删除x数(若有多个相同的数,因只删除一个) 查询x数的排名(排名定义为比当前数小的数的个数+1.若有多 ...

  9. springmvc 使用 response 的注意事项以及解决500 空指针异常找不到 response 的方法

    使用注解方式在类中(Controller)来装载request时,是可以正常使用request的(必须在启动时才注入,所以不支持热部署),但是同样使用这种方式在已经装载了 request的情况下装载  ...

  10. Angular开发者手册重点翻译之指令(一)

    创建自定义的指令 这个文章将解释什么需要在自己的angularjs应用中创建自己的指令,以及如何实现它. 什么是指令 在高的层面上讲,指令是DOM元素中的标记(例如一个属性,一个节点名,注释或者CSS ...