linux的dhcp服务
DHCP的概念
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
DHCP是在BOOTP(引导程序协议BOOTstrap Protocol)基础上发展而来,但BOOTP运行在相对静态(每台主机都有固定的网络连接)的环境中,管理员为每台主机配置专门的BOOTP参数文件,该文件会在相当长的时间内保持不变。DHCP从以下两方面对BOOTP进行了扩展:
DHCP加入了对重新使用的网络地址的动态分配和附加配置选项的功能,可使计算机仅用一个消息就获取它所需要的所有配置信息。
DHCP允许计算机动态地获取IP地址,而不是静态为每台主机指定地址。
DHCP与BOOTP比较
1.BOOTP的发展与特点
在计算机网络发展初期,由于磁盘昂贵,无盘工作站被大量使用,这些没有硬盘的主机通过BOOTROM启动并初始化系统,再通过BOOTP协议由服务器为这些主机设定配置信息。但在早期的BOOTP协议中,设定BOOTP服务器前必须实现获得客户机的硬件地址,而且硬件地址与IP地址时静态绑定的,即使无盘工作站并没有连接到网络,IP地址也不能被其他主机使用。
随着网络的发展,客户端主机发生变动,BOOTP无法提供灵活的重新分配其配置信息的机制。DHCP使用租约的概念解决了BOOTP的固有问题,动态的为客户机提供操作所需的所有信息。
2.DHCP的特点
优点:
1)解决客户端不会配置IP地址的问题
2)解决客户端配置IP地址错误的问题
3)解决客户端配置IP地址冲突的问题
4)解决客户端配置IP地址工作量大的问题
缺点:
1)不能发现其他DHCP分发的IP地址
2)不能发现客户端手动配置的IP地址
DHCP的工作原理
DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文
DHCP 客户从 UDP 端口 68发送 DHCP 发现报文
1.DHCP DISCOVER阶段
DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。由于DHCP客户端不知道DHCP服务器的IP地址,所以DHCP客户端以广播方式发送DHCP DISCOVER报文(目的IP地址为255.255.255.255),同一网段内所有DHCP服务器或中继都能收到此报文。
2.DHCP OFFER阶段
位于同一网段的DHCP服务器都会接收到DHCP DISCOVER报文,每个DHCP服务器上可能会部署多个地址池,服务器通过地址池来管理可供分配的IP地址等网络参数。服务器接收到DHCP DISCOVER报文后,选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。DHCP OFFER报文里面携带了希望分配给指定MAC地址客户端的IP地址及其租期等配置参数。
3.DHCP REQUEST阶段
DHCP客户端接收到DHCP OFFER报文后,以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符和客户端IP地址。
4.DHCP ACK阶段
当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址分配给客户端使用。
DHCP服务器端配置
1.软件的安装
yum install -y dhcp
2.查看软件包安装的文件
rpm -ql dhcp
/etc/dhcp/dhcpd.conf …DHCP服务的配置文件
/var/lib/dhcpd/dhcpd.leases …DHCP服务的租约文件
3.编辑配置文件
vim /etc/dhcp/dhcpd.conf
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org;
option domain-name “internal.example.org”;
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
subnet:要分发IP地址的网段(自己要能够通信) netmask:要分发IP地址的子网掩码
range:分发IP地址池(在一个subnet下支持多个range) option domain-name-servers:dns服务器
option domain-name:指定搜索域 option routers:分发IP地址的网关 option
broadcast-address:分发的IP地址 default-lease-time:默认租约期
max-lease-time:最大租约期
****每一个参数后面要以分号(;)结束
4.关闭防火墙和selinux
systemctl stop firewalld …临时关闭防火墙关闭selinux
setenforce 0 …临时关闭selinux
5.启动服务
systemctl start dhcpd …启动服务
systemctl enable dhcpd …下次开机自启
6.客户端
要与dhcp服务器在同一个交换环境中重启网卡,并选择自动获取IP地址即可
7.查看租约文件
vim /var/lib/dhcpd/dhcpd.leases
lease 166.112.219.254 {
starts 1 2007/09/17 14:14:18;
ends 1 2007/09/17 20:14:18;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:d9:2e:c9;
}
DHCP服务器端配扩展
vim /etc/dhcp/dhcpd.conf
给服务器分配固定的IP地址
为MAC地址为00:0c:29:d9:2e:b9的主机保留192.168.1.192这个IP地址
host dhcp-client {
hardware ethernet 00:0c:29:d9:2e:b9;
fixed-address 192.168.1.192;
}
DHCP配置
查看DHCP的监听端口
netstat -anplut | grep dhcpd
-a:显示所有的套接字
-n:不反向解析
-p:显示进程号
-l:显示监听端口
-u:显示udp协议
-t:显示tcp协议
linux的dhcp服务相关推荐
- Linux下DHCP服务的配置相关参数说明
Linux下DHCP服务的配置相关参数说明 DHCP配置通常包括三部分:parameters.declarations.option. 1. parameters parameters用于说明DHCP ...
- 详解LINUX 的DHCP服务
大家好!我是书记.今天我给大家带来的是Linux中的DHCP服务的详细讲解以及实现的具体的过程. (1) DHCP的概念:DHCP是进行IP地址等网络信息集中管理的 服务.在 ...
- linux 查询dhcp服务,查找局域网中的DHCP服务器
某天,在xenserver中的某一台主机启动后发现IP地址是DHCP获得的,但是网段却是我从没有配置过的.想了很久都不记得自己曾经架过这么一台DHCP服务器.我要做的就是揪出它,看看是哪台机器在提供D ...
- linux配置dhcp服务
1.dhcp的含义和用途 (1)dhcp 动态主机配置协议,是一个局域网的网络协议,使用udp协议工作. (2)给内部网络或网络服务供应商自动分配ip地址. (3)给用户或者内部网络管理员作为对所有计 ...
- 【linux下dhcp服务的简单搭建及优化部署】
dhcp server: 1::vim /etc/sysconfig/network-scripts/ifcfg-scfg:配置 server的 static IP: 2:vim /etc/dhcpd ...
- linux通过rpm安装dhcp,Linux下rpm安装DHCP服务及配置
Linux下DHCP服务端的配置 [root@loaclhost /]mount /dev/hdc /hdc //挂载光盘到/dev/ [root@loaclhost / ...
- linux下DHCP的安装配置
今天在整理以前的资料的时候,看到了这篇过去积攒的资料,过程详细所以拿来给大家一块分享,同时我也在做,提高一下熟练度. [实验名称]Linux下DHCP服务的配置与安装 [实验拓扑] [实验目标] 了解 ...
- Linux / CentOs 7搭建DHCP服务
在前面介绍了怎么在Windows server 2016中搭建DHCP服务, 我们今天介绍如何在Linux / CentOS 7操作系统中搭建DHCP服务? 跟在Windows server 2016 ...
- [RHEL5企业级Linux服务攻略]--第3季 DHCP服务全攻略
1 DHCP原理 1.1 DHCP概述 DHCP(Dynamic Host Configuration Protocal)就是动态主机配置协议哈,可以自动配置主机的IP地址.子网掩码.网关及DNS等 ...
最新文章
- mysql建立高效索引,如何知道你建立的MySQL索引是高效,合理的
- C#基础知识梳理系列十:异常处理 System.Exception
- (前)首富许家印造车果然有一套:车还没量产上市,公司先冲刺科创板募资
- android界面怎么优化字符串,android应用性能优化
- 计算机中文无敌版,奥特曼格斗进化3中文无敌版电脑版
- 升级openssh版本
- 查找学生链表c语言,【查找链表面试题】面试问题:C语言实现学生… - 看准网...
- 2013-2018卷积神经网络中十个最重要的概念与创新
- 通达信波段王指标公式主图_通达信股票波段王+精准买卖提示主图指标源码公式_通达信指标公式_指标公式网...
- 软件系统分析-分账系统
- char数组打印地址和内容;
- 用html敲出字母,摩斯密码表 怎么用手敲出摩斯密码(我爱你)
- (附源码)学生社团管理系统app 毕业设计 191850
- 小米手机play商店无法下载
- 阿里云企业认证时不要让员工做个人认证的原因
- VS2019下编译与配置GSL2.7【Release x64版】
- QMUL数据集描述及其下载
- 宗地权属图生成的解决方案设计
- python mlagent 安装
- 保护水资源公益网站html,保护水资源公益广告策划书