Debian9.5系统DHCP服务器ISC DHCP软件配置说明
DHCP 全称Dynamic Host configuration protocol, 动态主机配置协议。是一个局域网的网络协议,使用UDP协议工作,它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数, 简单来说, 就是在DHCP服务器上有一个数据库, 存放着IP地址、网关、DNS等参数。 当客户端请求使用时, 服务器则负责将相应的参数分配个客户端,避免客户端手动指定IP地址等。特别是在一些大规模的网络中。客户端数目较多,使用DHCP可以方便对这些机器进行管理,为客户机提供TCP/IP参数配置,如IP地址、网关地址和DNS服务器等,不仅效率高,而且不存在IP地址冲突的情况现在的无线路由器默认都带有DHCP功能,也就是说一个无线路由器同时也是一个DHCP服务器。
一、DHCP有三种机制分配IP地址
1.自动分配方式:DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器租用到IP地址,就可以永久使用该地址。
2.动态分配方式:DHCP服务器给主机指定一个有时间限制的IP地址, 时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
3.手工分配方式:客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
三种地址分配方式中, 只有动态分配方式可以重复使用客户端不再需要的地址,下面是DHCP涉及的常见术语:
作用域:一个完整的IP地址段,DHCP协议根据作用域来管理网络的分布、分配IP地址及其他配置参数。
超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段。超级作用域中包含了可以统一管理的作用域列表。
排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端。
地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给DHCP客户端的IP地址范围。
租约:DHCP客户端能够使用动态分配的IP地址的时间。
预约:保证网络中的特定设备总是获取到相同的IP地址。
二、DHCP协议的工作过程
1.发现阶段:即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播的方式发送DHCP discover 发现信息来寻找DHCP服务器(因为DHCP服务器的IP地址对客户机来说是未知的),由于客户机不知道DHCP服务器的IP地址,所以它使用0.0.0.0的地址作为源地址,使用UDP68端口作为源端口,使用255.255.255.255作为目标地址,使用UDP67端口作为目的端口来广播请求IP地址信息。广播信息中包含了DHCP客户机的MAC地址和计算机名,以便使DHCP服务器能确定是哪个客户机发送的请求。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会作出响应。
2.提供阶段:即DHCP服务器提供IP地址的阶段。在网络中收到DHCP discover发现信息的DHCP服务器都会作出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置信息,因为DHCP客户机还没有IP地址,所以DHCP服务器使用自己的IP地址作为源地址,使用UDP67端口作为源端口,使用255.255.255.255作为目标地址,使用UDP68端口作为目的端口来广播,通过DHCP offer消息发送给客户端。
3.选择阶段:DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。 如果有多台DHCP服务器向DHCP客户机发来的DHCP offer,客户机只接收第一个收到的DHCP offer,然后它以广播的方式回答一个DHCP request请求信息。该信息中包含它所选定的DHCP服务器请求IP地址的内容。之所以要以广播的方式回答,是为了通知所有的DHCP服务器,它将选择某台DHCP服务器所提供的IP地址。
4.确认阶段:即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP resquest请求后,它便向DHCP客户机发送一个包含它提供的IP地址和其他设置的DHCP ACK确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,除了DHCP客户机所选择的服务器IP外,其他的DHCP服务器都将收回曾提供的IP地址
5.重新登陆:以后DHCP客户机每次登陆网络时,就不需要再发送DHCP discover发现信息了。而是直接发送包含前一次所分配IP地址的DHCP resquest请求。当DHCP服务器收到这一信息后,它会尝试让客户机继续使用原来的IP并回答一个DHCP ACK确认信息,如果此IP地址无法分配个原来的DHCP客户机时(比如IP分配给其他DHCP客户机使用) ,则DHCP服务器给DHCP客户机回答一个DHCP NACK 否认消息,当原来的DHCP客户机收到此消息后,它就必须重新发送DHCP discover发现信息重新请求新的IP地址。
6.更新租约:DHCP服务器向DHCP客户机出租的IP地址一般都由一个租借期限,期满后DHCP服务器会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送其更新租约的信息。
三、安装DHCP服务软件,Linux用的DHCP软件是Internet系统协会的DHCP服务软件ISC DHCP
--------------------------------------------------------
root@debian:~# apt install isc-dhcp-server
--------------------------------------------------------
四、配置DHCP服务软件
DHCP的主要配置文件有两个,分别位于 /etc/default/isc-dhcp-server 和 /etc/dhcp/dhcpd.conf。下面要做的就是对这两个文件进行配置。
五、查看本机网络信息,主要查看网络接口。
--------------------------------------------------------
root@debian:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:40:99:19 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.11/24 brd 192.168.0.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe40:9919/64 scope link
valid_lft forever preferred_lft forever
--------------------------------------------------------
六、配置/etc/default/isc-dhcp-server文件
--------------------------------------------------------
root@debian:~# vi /etc/default/isc-dhcp-server
....... #上面的内容省略
On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="enp0s3" #将监听端口INTERFACESv4修改为上面的网络接口enp0s3
#INTERFACESv6="" #屏蔽监听ipv6
--------------------------------------------------------
七、配置/etc/dhcp/dhcpd.conf文件参数说明
DHCP服务器的配置比较简单,所有的配置集中在/etc/dhcp/dhcpd.conf配置文件中,所有的配置语句可以分为3类:一类是参数,用于表明如何执行任务,是否要执行任务。第二类是声明语句,用来描述网络布局、客户、提供ip地址的策略等。还有一类是发送给客户的选项,实际上是加了option关键字的参数。其中每行开头的‘#’表示注释,而每一行配置最后都要以“;”作为结尾,这很重要。
1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户
ddns-update-style :
该参数用来指定DHCP服务器对DNS服务器进行更新时采用的更新类型。有3个类型分别是ad-hoc、interim、none。ad-hoc方式基本上已经不再采用,interim表示DNS互动更新模式,none表示不支持动态更新,一般设置为none。
default-lease-time :
该参数的作用是定义默认的IP地址租约时间,其单位为秒。
max-lease-time :
该参数用来指定最大租赁时间长度,单位是秒。上面的是默认租约时间,这个是如果客户要求了租约时间,租约时间如果超过这个值,就以这个值为准,不以客户要求的为准。
server-name :
通知DHCP客户服务器名称。
hardware :
指定客户端的硬件接口类型和硬件地址。其格式如下:
hardware ethernet 0:0:c0:5d:bd:95;
fixed-address
指定为客户端分配一个或者多个固定IP地址,该参数只能出现在host声明语句中。如果指定了多个IP地址,那么当客户端启动时,它会被分配到相应子网中的那个IP地址上。
2.DHCP配置文件中的declarations (声明语句):用来描述网络布局、提供客户的IP地址等
subnet 语句
该语句用来定义一个作用域。其格式如下:
subnet 网络 子网掩码 {
[参数]
[选项]
}
range 语句
该语句定义了起始IP和终止IP 提供动态分配IP的范围,如果只指定起始IP地址而没有终止IP地址,则范围只包含一个IP地址,在一个subnet语句中,可以有多个range语句,但是这些range语句所覆盖的IP地址范围不能交叉或者重复。其格式如下:
range 起始IP 终止IP;
host 语句
该语句用来定义用户保留地址,其格式如下:
host 主机名 {
[hardware]
[fixed-address]
}
这里的主机名可以自己定义,[hardware]参数用来指定需要保留IP地址的客户端的MAC地址,[fixed-address]用来指定分配的固定IP地址。
3. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始
subnet-mask :为客户端设定子网掩码。
domain-name :如果客户端的/etc/resolv.conf里面设置了search参数,这个域名就是对应search参数后面的设置。
domain-name-servers : 为客户端指明DNS服务器IP地址。
host-name :为客户端指定主机名称。
routers :为客户端设定默认网关。:
broadcast-address :为客户端设定广播地址。
ntp-server :为客户端设定网络时间服务器IP地址。
time-offset :为客户端设定和格林威治时间的偏移时间,单位是秒。
注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主机名称
八、防火墙
DHCP服务器需要开放入UDP67端口,出UDP68端口。客户端正好相反,或者最直接的是关闭防火墙。
九、配置举例
公司员工的笔记本可以获取的IP地址范围是192.168.0.100到192.168.0.200,子网掩码是255.255.255.0,网关是192.168.0.1,DNS为114.114.114.114,客户端的/etc/resolv.conf里面设置的search参数为pipci.com,默认的IP地址租约时间1小时,最大租赁时间为2小时,为硬件MAC地址0:0:c0:5d:bd:95保留IP地址为192.168.0.188 ,主机名为pipci
1、先备份原有的dhcpd.conf文件,因为里面是范例内容很多不方便看。
------------------------------------------------------------
root@debian:/etc/dhcp# mv -v dhcpd.conf dhcpd.conf.backup
------------------------------------------------------------
2、重新创建dhcpd.conf文件并添加下面的内容。
------------------------------------------------------------
root@debian:/etc/dhcp# vi dhcpd.conf
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name "pipci.com";
option domain-name-servers 114.114.114.114;
default-lease-time 3600;
max-lease-time 7200;
host pipci {
hardware ethernet 00:0c:29:27:c6:12;
fixed-address 192.168.0.188;
}
}
------------------------------------------------------------
3、重启DHCP服务
------------------------------------------------------------
root@debian:/etc/dhcp# systemctl restart isc-dhcp-server.service
------------------------------------------------------------
4、查看DHCP服务
------------------------------------------------------------
root@debian:/etc/dhcp# systemctl status isc-dhcp-server.service
------------------------------------------------------------
十、如果出现问题的可能有以下几种可能:
1. 配置文件有问题。
1.1 内容不符合语法结构,例如,少个分号;
1.2 声明的子网和子网掩码不符合;
2. 主机IP地址和声明的子网不在同一网段。
3. 主机没有配置IP地址。
Debian9.5系统DHCP服务器ISC DHCP软件配置说明的更多相关文章
- CentOS-1810系统DHCP服务器ISC DHCP软件配置说明
DHCP 全称Dynamic Host configuration protocol, 动态主机配置协议.是一个局域网的网络协议,使用UDP协议工作,它可以为客户机自动分配IP地址.子网掩码以及缺省网 ...
- liunx搭建DHCP服务器以及DHCP中继服务器
liunx搭建DHCP服务器以及DHCP中继服务器 一.实验拓扑 二.实验条件 虚拟机取消VMnet1和VMnet8的dhcp动态获取ip地址,以免影响实验 DHCPserver 网关以及DHCP中继 ...
- 搭建DHCP服务器以及DHCP中继服务器
一.DHCP服务器 1.首先配置DHCP服务器的IP地址(DHCP服务器网卡桥接在VMnet1) .配置好IP后重启DHCP服务 3.安装DHCP服务器,在这里我用的是YUM安装的(关于YUM ...
- Linux配置DHCP服务器,DHCP中继配置
配置dhcp服务器 第一步:配置网卡 第二步: 安装dhcp (需要先构建yum仓库,构建yum仓库的方法在之前的博客里有) 编写dhcp.conf文件 进去以后会出现这个内容 需要执行下面的内容将内 ...
- (三)Cisco dhcp snooping实例1-单交换机(DHCP服务器和DHCP客户端位于同一VLAN)
环境:cisco dhcp server和客户端都属于vlan27,dhcp server 接在交换机G0/1,客户端接在交换机的G0/2 cisco dhcp server相关配置 ip dhcp ...
- (五)Cisco dhcp snooping实例3-多交换机环境(DHCP服务器和DHCP客户端位于同VLAN)
试验拓扑 环境:dhcp server和dhcp客户端属于同vlan,但是客户端属于不同的交换机,在L2和L3交换机开启dhcp snooping后得出如下结论 L3交换机的配置 ip dhcp po ...
- Debian9.5系统DNS服务器BIND软件配置说明
DNS的出现的历史 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和W ...
- (四)Cisco dhcp snooping实例2-多交换机环境(DHCP服务器和DHCP客户端位于不同VLAN)
试验拓扑 环境:dhcp server和客户端处于不同网段的情况 dhcp server的配置 no ip routing ip dhcp pool vlan27 network 172.28.27. ...
- Linux--NFS和DHCP服务器
(1) 在网络中,时常需要进行文件的共享,如果都是在Linux系统下,可以使用NFS 来搭建文件服务器,达到文件共享的目的. (2) 在网络管理中,为了防止IP 冲突和盗用,有效的控制IP 资源 ...
随机推荐
- 防范CSRF(三)
除了可以更改微软默认的cookie的名字外,还可以更改默认的加密方法.继承IAntiForgeryAdditionalDataProvider接口,实现里面的方法即可. 采用的加密方法有加盐和使用时间 ...
- css 书写推荐顺序
1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3.文字系列(fon ...
- MAC 下的pycharm部分使用方法
1.在创建之初,可以选择自己想要使用的python版本. 如果之后想要更换Python版本,可以通过~~~更换选择Python版本. 2.创建.py文件,点击文件名,出现如下界面: 点击new--py ...
- 带你学C带你飞!
C语言免费课程推荐:带你学C带你飞! 想学习C语言,首先就要了解什么是C语言: C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码 ...
- ubantu上搭建hive环境
上次我们在ubantu上安装了hadoop,那我们现在再进一步,开始我们的学习之旅--hive板块吧! 第一步:准备! 软件: I.一个搭建好的hadoop环境 II.hive的bin文件(前往apa ...
- DOS下格式化移动硬盘
有的时候移动硬盘出现问题,在Win下没法操作,只能到dos下格式化.以下是用Win自带的diskpart完成格式化. 1 win + r -> cmd 进入dos 2 diskpart ...
- jsp错误页面的处理
局部的错误处理 1,errorpage 在错误页面指令page中声明errorpage="要显示的页面地址" 在要显示的页面page中声明iserrorpage="tru ...
- 解决PL/SQL管理工具database下拉为空和登录出现ORA-12154
前言:昨天捣鼓了一下午,终于可以用plsql连接上oracle了... 测试环境:win10 注意问题: (一).环境变量 我发现按网上别人说的那一大推环境配置,很容易出错,我把它们全删了,就留了两个 ...
- windows下一台机器运行多个tomcat
一.将本机原有的tomcat配置不变, 二.下载新的tomcat解压版,地址:http://tomcat.apache.org/download-80.cgi 三.下载完成解压后,为了方便区分,最好将 ...
- PHP中的 Iterator 与 Generator
在讲解生成器之前先介绍一下迭代器: 在 PHP 中,通常情况下遍历数组使用 foreach 来遍历. 如果我们要想让一个对象可以遍历呢? PHP 为我们提供了 Iterator 接口,只要实现了这个接 ...