DHCP服务概述:

名称:DHCP  - Dynamic Host Configuration Protocol  动态主机配置协议

功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获取服务器分配的IP地址和子网掩码。默认情况下,DHCP在windows server的一个服务组件不会自动安装,需要手动安装并配置相关参数。

DHCP通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:

1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。

2. DHCP应当可以给用户分配永久固定的IP地址。

3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。

4. DHCP服务器应当向现有的BOOTP客户端提供服务。

DHCP有三种机制分配IP地址:

1) 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。

2) 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。

3) 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。

DHCP消息的格式是基于BOOTP(Bootstrap Protocol)消息格式的,这就要求设备具有BOOTP中继代理的功能,并能够与BOOTP客户端和DHCP服务器实现交互。BOOTP中继代理的功能,使得没有必要在每个物理网络都部署一个DHCP服务器。

DHCP的优点:

  1. 解决客户端不会配置IP地址的问题;
  2. 解决客户端配置IP地址错误的问题
  3. 解决客户端配置IP地址冲突的问题
  4. 解决客户端配置IP地址工作量大的问题

DHCP的缺点:

  1. 不能发现其他DHCP分发的IP地址
  2. 不能发现客户端手动配置的IP地址

DHCP的端口:

DHCP服务使用:端口67(bootps) 68(bootpc) 。

例:查看端口

~]# vim /etc/services

DHCP协议由 bootp协议发展而来,是BOOTP的增强版本,bootps代表服务端端口, bootpc代表客户端端口。

DHCP可以说是BOOTP的增强版本,它分为两个部分:一个是服务器端,而另一个是客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP环境数据。比较BOOTP, DHCP透过“租约”的概念,有效且动态的分配客户端的TCP/IP设定,而且,作为兼容考虑,DHCP也完全照顾了BOOTP Client的需求。

补充:

BOOTP(Bootstrap Protocol,引导程序协议)是一种引导协议,基于IP/UDP协议,也称自举协议,是DHCP协议的前身。BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心服务器上获得IP地址。通过BOOTP协议可以为局域网中的无盘工作站分配动态IP地址,这样就不需要管理员去为每个用户去设置静态IP地址。

BOOTP使用UDP报文传输,并使用保留端口号67(BOOTP服务器)和68(BOOTP客户端)工作。使用BOOTP协议的时候,一般包括Bootstrap Protocol Server(自举协议服务端)和Bootstrap Protocol Client(自举协议客户端)两部分。

我们熟知的DHCP协议是从BOOTP的基础上发展而来的,它们都是主机配置协议,都可以大大减少管理员的工作量。BOOTP可以看成是简单版的DHCP,是对主机的静态配置,而DHCP可以依据一些策略对主机进行动态配置。BOOTP用于无盘工作站的启动和配置,而DHCP更适用于客户端接入变化的网络,即客户端接入时间、接入地点不固定。

BOOTP有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,MCA地址与IP的对应是静态的。换而言之,BOOTP非常缺乏“动态性 ”,若在有限的IP资源环境中,BOOTP的一对一对应会造成非常可观的浪费。

DHCP服务运行原理:

DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给主机的68号端口。

客户端                   服务端              目标端口   源IP               目标IP

 -------DHCPDISCOVER ------->  udp      目标67  源IP:0.0.0.0 目的IP:255.255.255.255

#即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应 。(同一网段内所有的DHCP服务器)

<------DHCPOFFER ----------udp  68  源IP:DHCP服务器的IP, 目的IP:  255.255.255.255

即DHCP服务器提供IP地址的阶段。在网络中接收到DHCPdiscover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息 。

位于同一网段的DHCP服务器都会接收到DHCP discover报文,每个DHCP服务器上可能会部署多个地址池,服务器通过地址池来管理可供分配的IP地址等网络参数。服务器接收到DHCP discover报文后,选择跟接收DHCP discover报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。DHCP OFFER报文里面携带了希望分配给指定MAC地址客户端的IP地址及其租约等配置参数。

-------DHCPREQUEST -------->    udp        67 源IP:0.0.0.0           目的IP:255.255.255.255

即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer提供信息,然后它就以广播方式回答一个DHCPrequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容(DHCP服务器的标识符和客户端IP地址)。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。

<------DHCPACK ------------       udp   68 源IP:服务器的IP 目的IP:  255.255.255.255

即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址 。

注意:客户端执行DHCP DISCOVER 后,如果没有DHCP 服务器响应客户端的请求,客户端会随机使用169.254.0.0/16 网段中的一个IP 地址,配置本机地址。

169.254.0.0/16是windows的自动专有IP寻址范围,也就是在无法通过DHCP获取IP地址时,由系统自动分配的IP地址段。

早先的Linux上并不会产生这条路由,现在有这条路由大概是为了和windows兼容。

[root@node63 ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

在使用租期超过50%时刻处,DHCP Client会以单播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址。

在使用租期超过87.5%时刻处,DHCP Client会以广播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址,直到IP地址使用租期到期时,DHCP Client才会向DHCP Server发送DHCP Release报文来释放这个IP地址,并开始新的IP地址申请过程。

需要说明的是:DHCP客户端可以接收到多个DHCP服务器的DHCPOFFER数据包,然后可能接受任何一个DHCPOFFER数据包,但客户端通常只接受收到的第一个DHCPOFFER数据包。另外,DHCP服务器DHCPOFFER中指定的地址不一定为最终分配的地址,通常情况下,DHCP服务器会保留该地址直到客户端发出正式请求。

正式请求DHCP服务器分配地址DHCPREQUEST采用广播包,是为了让其它所有发送DHCPOFFER数据包的DHCP服务器也能够接收到该数据包,然后释放已经OFFER(预分配)给客户端的IP地址。

如果发送给DHCP客户端的地址已经被其他DHCP客户端使用,客户端会向服务器发送DHCPDECLINE信息包拒绝接受已经分配的地址信息。

在协商过程中,如果DHCP客户端发送的REQUEST消息中的地址信息不正确,如客户端已经迁移到新的子网或者租约已经过期,DHCP服务器会发送DHCPNAK消息给DHCP客户 端,让客户端重新发起地址请求过程。

DHCP设备

由于DHCP是C/S模式运行的,所以使用DHCP的设备为客户端,而提供DHCP服务的为服务端。DHCP客户端可以让设备自动地从DHCP服务器获得IP地址以及其他配置参数。使用DHCP客户端可以带来如下好处:

(1)降低了配置和部署设备时间;

(2)降低了发生配置错误的可能性;

(3)可以集中化管理设备的IP地址分配。DHCP服务器指的是由

服务器控制一段IP地址范围,客户端登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

需要注意的是,DHCP也可以用在不同的子网上,这时候需要使用称为DHCP中继代理( DHCP Relay, DHCPR,也叫DHCP中继)的设备。当DHCP客户端与服务器不在同一个子网上,就必须有DHCP中继代理来转发DHCP请求和应答消息。DHCP中继代理的数据转发,与通常路由转发是不同的,通常的路由转发相对来说是透明传输的,设备一般不会修改IP包内容。

而DHCP中继代理接收到DHICP消息后,重新生成一个DHCP消息,然后转发出去。

有了DHCP中继,可以实现DHCP的跨网运作。由于 DHCP DISCOVER是以广播方式进行的,其情形只能在同一网络之内进行,因为路由器是不会将广播传送出去的。但如果DHCP服务器架设在其他的网络上面,可以用DHCP中继来接管客户的DHCP请求,然后将此请求传递给真正的DHCP服务器,然后将服务器的回复传给客户。这里,DHCP中继主机必须自己具有路由能力,且能将双方的数据报互传对方。如果不使用中继,也可以在每一个网络中安装DHCP服务器,但这样的话,一来设备成本会增加,而且管理上面也比较分散。当然,如果在大型的网络中,这样的均衡式架构还是可取的。

在DHCP客户端看来,DHCP中继代理就像DHCP服务器;在DHCP服务器看来,DHCP中继代理就像DHCP客户端。

安装部署DHCP

安装dhcp

dhcp只需要一个安装包,通过rpm或yum安装。

[root@kylinos ~]# yum -y install dhcp

kylinos中需要安装的包:

[root@kylinos ~]# rpm -qa|grep dhcp

dhcp-4.4.2-5.ky10.x86_64

dhcp-help-4.4.2-5.ky10.noarch

查看配置文件:

[root@kylinos ~]# rpm -ql dhcp

/etc/NetworkManager

/etc/NetworkManager/dispatcher.d

/etc/NetworkManager/dispatcher.d/11-dhclient

/etc/dhcp

/etc/dhcp/dhclient.d

/etc/dhcp/dhcpd.conf     #ipv4的配置文件

/etc/dhcp/dhcpd6.conf    #ipv6的配置文件

/etc/openldap/schema

/etc/openldap/schema/dhcp.schema

/etc/sysconfig/dhcpd

/usr/bin/omshell

/usr/lib/systemd/system/dhcpd.service

/usr/lib/systemd/system/dhcpd6.service

/usr/lib/systemd/system/dhcrelay.service

/usr/lib64/pm-utils/sleep.d/56dhclient

/usr/sbin/dhclient

/usr/sbin/dhclient-script

/usr/sbin/dhcpd

/usr/sbin/dhcrelay

/usr/share/doc/dhcp

/usr/share/doc/dhcp-client/dhclient6.conf.example

/usr/share/doc/dhcp-server/dhcpd6.conf.example

/usr/share/doc/dhcp/README

/usr/share/doc/dhcp/README.dhclient.d

/usr/share/doc/dhcp/RELNOTES

/usr/share/doc/dhcp/References.txt

/usr/share/doc/dhcp/dhclient.conf.example

/usr/share/doc/dhcp/dhcp-lease-list.pl

/usr/share/doc/dhcp/ldap

/usr/share/doc/dhcp/ldap/README.ldap

/usr/share/doc/dhcp/ldap/dhcp.schema

/usr/share/doc/dhcp/ldap/dhcpd-conf-to-ldap

/usr/share/licenses/dhcp

/usr/share/licenses/dhcp/LICENSE

/var/lib/dhclient

/var/lib/dhcpd

/var/lib/dhcpd/dhcpd.leases    #ipv4的租约文件

/var/lib/dhcpd/dhcpd6.leases   #ipv6的租约文件

替换配置文件

dhcp的主配置文件为/etc/dhcp/dhcpd.conf,但是这个文件默认为空的,需要自己手动创建,但dhcp软件在安装的时候都会附上/usr/share/doc/dhcp-server/dhcpd.conf.example样本文件,可以将此文件复制为/etc/dhcp/dhcpd.conf,在修改即可。

[root@kylinos ~]# cat /etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp-server/dhcpd.conf.example

#   see dhcpd.conf(5) man page

#

当DHCP 主程序包安装好后会自动生成主配置文件的范本文件

/usr/share/doc/dhcp-server/dhcpd.conf.example

而在/etc 目录下会建立一个空白的dhcpd.conf 主配置文件。

ls /etc/dhcp/dhcpd.conf

现在我们将范本配置文件复制到/etc 目录下替换掉空白dhcpd.conf 主配置文件。

[root@kylinos ~]# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.back

[root@kylinos ~]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf

cp: overwrite `/etc/dhcp/dhcpd.conf'? y

修改配置文件

[root@kylinos ~]# vim /etc/dhcp/dhcpd.conf   # 找到对应的子网范围,修改成以下内容

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.100 192.168.0.200;

option domain-name-servers 192.168.0.1;

option domain-name "internal.example.org";

option routers 192.168.0.1;

option broadcast-address 192.168.0.255;

default-lease-time 600;

max-lease-time 7200;

}

注意:网络号必须与DHCP 服务器的网络号相同

测试dhcpd.conf的语法是否正确。

[root@kylinos ~]# dhcpd -t /etc/dhcp/dhcpd.conf

Internet Systems Consortium DHCP Server 4.4.2

Copyright 2004-2020 Internet Systems Consortium.

All rights reserved.

For info, please visit https://www.isc.org/software/dhcp/

ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used

Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file

Config file: /etc/dhcp/dhcpd.conf

Database file: /var/lib/dhcpd/dhcpd.leases

PID file: /var/run/dhcpd.pid

Source compiled to use binary-leases

配置文件参数说明

subnet:要分发IP地址的网段

netmask:要分发IP地址的子网掩码

range:分发IP地址池(在一个subnet下支持多个range)

option domain-name-servers:dns服务器

option domain-name:指定搜索域

option routers:分发IP地址的网关,如果不想跨网络、不连接互联网,可以不配网关

option broadcast-address:分发IP的广播地址,主机位全为1

default-lease-time:默认租约期,单位为秒

max-lease-time:最大租约期,单位为秒

特别注意:每个参数要以分号(;)结束,大括号所在行除外。

注释部分可以放在任何位置,并以“#”号开头

整个配置文件分成全局(不在{}内)和局部两个部分。局部参数的优先级高于全局参数。

default-lease-time 600;

作用:定义默认IP 租约时间,以秒为单位的租约时间。

50%:续约。(续不上继续用)

87.5%:再次续约。(续不上找别人)

DHCP工作站除了在开机的时候发出 DHCPrequest 请求之外,在租约期限一半的时候也会发出 DHCPrequest ,如果此时得不到 DHCP服务器的确认的话,工作站还可以继续使用该IP;当租约期过了87.5%时,如果客户机仍然无法与当初的DHCP服务器联系上,它将与其它 DHCP服务器通信。如果网络上再没有任何DHCP协议服务器在运行时,该客户机必须停止使用该IP地址,并从发送一个Dhcpdiscover数据包开 始,再一次重复整个过程。要是您想退租,可以随时送出 DHCPRELEASE 命令解约,就算您的租约在前一秒钟才获得的。

max-lease-time 7200;

作用:定义客户端IP租约时间的最大值,当客户端超过租约时间,却尚未更新IP 时,最长可以使用该IP 的时间;

例:机器在开机获得IP地址后,然后关机了。这时,当时间过了default-lease-time 600秒后,没有机器向DHCP续约,DHCP会保留7200秒,保留此IP地址不用于分配给其它机器。 当超过7200秒后,将不再保留此IP地址给此机器。

注意:default-lease-time、max-lease-time都是以秒为单位的租约时间,该项参数可以作用在全局配置中,也可以作用在局部配置中。

log-facility local7;

#定义日志类型为  local7

租约数据库文件

租约数据库文件用于保存一系列的租约声明,其中包含客户端的主机名、MAC 地址、分配到的IP地址,以及IP地址的有效期等相关信息。这个数据库文件是可编辑的ASCII 格式文本文件。每当发生租约变化的时候,都会在文件结尾添加新的租约记录。DHCP 刚安装好后租约数据库文件dhcpd.leases 是个空文件。当DHCP 服务正常运行后就可以使用cat 命令查看租约数据库文件内容了

[root@kylinos ~]# cat /var/lib/dhcpd/dhcpd.leases

lease 192.168.0.200 {

starts 6 2021/01/30 07:30:16;    #租约开始时间

ends 6 2021/01/30 07:40:16;     #租约结束时间

binding state active;             #租约的绑定状态(active/free)

next binding state free;          #下一次绑定的状态

hardware ethernet 00:0c:29:12:ec:1e;    #绑定的网卡地址

}

补充:

start和end时间使用starts和ends语句记录。

Date按下面的格式指定:

weekday year/month/day hour:minute:second

weekday用来使人容易理解何时租约过期,它从0到6,指的是周日到周六。在输入时可以省略星期。除非是一个非常长的租约,年(year)使用4位。月从1到12,日从1到31(根据月有不同),小时从1到23,分钟从1到59,秒也是从1到59。租约时间使用(UTC)而不是本地时间,世界上几乎没有地方与UTC时间一样。在大多数unix机器上,可以使用date –u来显示UTC的当前时间。

如果租约永不结束,date就不是一个真实的时间。

binding state state; next binding state state;

binding state语句声明租约的绑定状态,当DHCP服务器没有配置使用失败恢复协议时,租约的绑定状态会是激活(active)和自由(free),失败恢复协议添加了一些新的传送状态,比如(backup)状态,它指示租约可以由伴侣分配。

next binding状态指租约当前状态过期时将会转换成的下一个状态。

hardware hardware-type mac-address;

hardware语句记录lease使用的网络接口的MAC地址。如果是一组16进制数,中间用冒号分隔。

多个网卡,如何指定提供dhcp服务的网卡

# vim /etc/sysconfig/dhcpd

DHCPDARGS=“eth0 eth1”

如果允许多个网卡可以写多个网卡名,以空格隔开。

如果不使客户机接受dhcp服务器分配的dns地址

默认情况下dhcp客户机会获得dhcp服务器分配的dns地址,自动覆盖客户机的/etc/resolv.conf的内容。但如果客户机不想使用dhcp服务器分配的dns地址,想保留自己的dns地址,可以修改网卡的配置文件将PEERDNS修改为no,如果想使用dhcp服务器分配的dns,将PEERDNS修改为yes。

客户机如果使用命令获得ip地址

在windows里面可以使用ipconfig /release先释放当前地址,在使用ipconfig /renew重新获取ip地址,在linux系统里可以使用dhclient -d eth0来获得ip地址,按ctrl+c退出,分配的ip地址就会失效。如果直接使用dhclient命令,则分配的命令会在后台持续下去,分配的ip一直可用。

服务启停,并设置开机启动

[root@kylinos ~]# systemctl enable dhcpd

[root@kylinos ~]# systemctl start dhcpd

[root@kylinos ~]# systemctl status dhcpd

IP 地址绑定【分配静态ip地址】

在DHCP 中的IP 地址绑定用于给客户端分配固定IP 地址。比如服务器需要使用固定IP 地址就可以使用IP 地址绑定,通过MAC 地址与IP 地址的对应关系为指定的物理地址计算机分配固定IP地址。

整个配置过程需要用到 host 声明和hardware、fixed-address 参数。

(1)host 主机名 {......}

作用:用于定义保留地址

(2)hardware 类型 硬件地址

作用:定义网络接口类型和硬件地址。常用类型为以太网(ethernet),地址为MAC 地址。

(3)fixed-address IP 地址

作用:定义DHCP 客户端指定的IP 地址。

[root@kylinos ~]# vim /etc/dhcp/dhcpd.conf   # 找到对应的子网范围,修改成以下内容

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.100 192.168.0.200;

option domain-name-servers 192.168.0.1;

option domain-name "internal.example.org";

option routers 192.168.0.1;

option broadcast-address 192.168.0.255;

default-lease-time 600;

max-lease-time 7200;

host kylinos {    #这一段内容,要写在subnet字段中,和subnet配合使用。

hardware ethernet 00:0C:29:12:ec:1e;

fixed-address 192.168.0.251;

}

}

应用实例:

公司有60 台计算机,IP 地址段为192.168.0.1-192.168.0.254,子网掩码是255.255.255.0,网关为192.168.0.1,192.168.0.2-192.168.0.30 网段地址给服务器配置,客户端可以使用的地址段为192.168.0.100-200,其余剩下的IP 地址为保留地址。

实验环境:

我的虚拟机使用桥接模式是否可行? 不行,因为你的局域网中有可能就有DHCP服务器,这样你就很难,让你的客户端是从你的DHCP服务器获得IP地址。

另外,也可能造成公司局域网中其它机器因为获得了你DHCP服务器上的IP地址,而上不了网。

实验环境拓扑如下:

node63.example.com   :192.168.0.63     虚拟机网卡: vmnet4

node64.example.com   :192.168.0.64     虚拟机网卡: vmnet4

1、修改静态IP地址

[root@node63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

2、重启服务

[root@node63 ~]# systemctl restart network

3、修改dhcp配置文件

[root@node63 ~]# vim /etc/dhcp/dhcpd.conf

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.50 192.168.0.100;

option domain-name-servers 192.168.0.1;

option domain-name "internal.example.org";

option routers 192.168.0.1;

option broadcast-address 192.168.0.255;

default-lease-time 600;

max-lease-time 7200;

}

4、重启dhcp服务

[root@node63 ~]# systemctl restart dhcpd

5、开启客户端,确保客户端的网络与服务端在同一网络内。

然后node64改为自动获取IP地址。

6、客户端查看网络参数

[root@xue63 ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:12:EC:1E

inet addr:192.168.0.99  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe12:ec1e/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:5084 errors:0 dropped:0 overruns:0 frame:0

TX packets:5087 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:664380 (648.8 KiB)  TX bytes:521089 (508.8 KiB)

7、查看默认网关

[root@xue63 ~]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

8、查看DNS

[root@xue63 ~]# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

search internal.example.org example.com

nameserver 192.168.0.1

9、查看租约数据库文件[在服务端上查看]

[root@node64 dhcp]# cat /var/lib/dhcpd/dhcpd.leases

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-4.4.2

# authoring-byte-order entry is generated, DO NOT DELETE

authoring-byte-order little-endian;

server-duid "\000\001\000\001(n\3655\000\014)\035K\177";

lease 192.168.0.50 {

starts 3 2021/06/30 13:58:51;

ends 3 2021/06/30 14:08:51;

cltt 3 2021/06/30 13:58:51;

binding state active;

next binding state free;

rewind binding state free;

hardware ethernet 00:0c:29:9d:a9:b8;

client-hostname "desktop";

}

DHCP中继

当企业的内部网络规模较大时,通常被划分为多个不同的子网,网络内配置了VLAN,VLAN能隔离广播,而DHCP协议使用广播。DHCP服务器在哪个vlan中,就只有在相同vlan内的客户机能从DHCP服务器那里获取IP地址。

解决此问题方法:

在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN之间转发,让其他VLAN的客户机也能从DHCP服务器那里获得IP地址。

由于在IP地址动态获取的过程中,客户端采用广播方式发送请求报文,而广播报文不能跨越网段传送,因此DHCP只适用于DHCP客户端和服务器处于同一个网段内的情况。当多个网段都需要进行动态IP地址分配时,就需要在所有网段上都设置一个DHCP服务器,这显然是不易管理和维护的。

DHCP中继可以使客户端通过它与其他网段的DHCP服务器通信,最终获取IP地址,解决了DHCP客户端不能跨网段向服务器动态获取IP地址的问题。这样,在多个不同网络上的DHCP客户端可以使用同一个DHCP服务器,即节省了成本,又便于进行集中管理和维护。路由器或三层交换机都可以充当DHCP中继设备。

linux服务篇-DHCP服务相关推荐

  1. 飞凌 修改ip地址 linux,linux上搭建DHCP服务

    linux上搭建DHCP服务 1.首先安装DHCP服务需要的软件包 yum install dhcp* 2.手工编译DHCP主配置文件/etc/dhcp/dhcpd.conf 配置内容如下 ddns- ...

  2. linux中有关于dhcp的选择题,未指定试题(2014-11-18):DHCP协议的功能是(1)。在Linux中提供DHCP服务的...

    试题分类:未指定 DHCP协议的功能是 (1) .在Linux中提供DHCP服务的程序是 (2) :DHCP服务将主机的MAC地址和IP地址绑定在一起的方法是在 (3) 文件中添加"host ...

  3. linux dhcp 绑定mac地址,●DHCP协议的功能是 (58) 。在Linux中提供DHCP服务的程序是 (59) ;DHCP服务将主机的MAC地址和IP地 - 赏学吧...

    ●DHCP协议的功能是 (58) .在Linux中提供DHCP服务的程序是 (59) :DHCP服务将主机的MAC地址和IP地址绑定在一起的方法是在 (60) 文件中添加"host主机名{h ...

  4. Linux网络知识--DHCP服务(理论部分)

    文章目录 Linux网络知识--DHCP服务 一.了解DHCP服务 1.1DHCP简介 1.2使用DHCP的好处 1.3DHCP的分配方式 二.DHCP的租约过程 2.1DHCP四个报文交互过程 2. ...

  5. Linux服务篇--openssh服务

    Linux高级篇–SSH服务 一. SSH ssh: secure shell, protocol, 22/tcp, 安全的远程登录 具体的软件实现:   OpenSSH: ssh协议的开源实现,Ce ...

  6. 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...

  7. dhcp服务异常(dhcp服务异常怎么修复)

    怎么启用DHCP服务? 启动IE浏览器,在浏览器的地址栏中输入192.168.0.244,按[Enter]键确认,弹出"Windows安全"对话框,输入用户名和密码 .单击&quo ...

  8. Linux服务之DHCP服务篇(scp)

    一.概念 名称:DHCP----Dynamic Host Configuration Protocol 动态主机配置协议 功能:DHCP是一个局域网的网络协议,使用UDP协议工作 主要用途:给内部网络 ...

  9. 【Linux】循序渐进学运维-服务篇-ssh服务入门

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第3篇文章 文章目录 前言 1. 什么是SSH? 2. ssh的连接原理 3. ssh服务的安装 1) OpenSSH的构成 2) 安 ...

最新文章

  1. Logistic Regression逻辑回归
  2. 全球及中国洗衣粉市场消费调查与营销策略分析报告2022版
  3. selenium之 chromedriver版本对照表
  4. pandas 遍历并修改_Pandas循环提速7万多倍!Python数据分析攻略
  5. android 虚拟键盘改变单个按键颜色_这款机械键盘很特别!一亿次按键寿命还有高颜值...
  6. python爬虫怎么赚钱-python爬虫怎么赚钱
  7. ArcSDE NetWork I/O Error 错误处理(待完善)
  8. 淘宝/天猫获得淘宝商品类目 API 返回值说明
  9. MODIS R包下载数据
  10. 不愧是我,一晚上教会了女神倒排索引
  11. 计算机组策略恢复,Win10重置组策略编辑器的方法
  12. 农产品管理系统-毕设
  13. matlab仿真PID,使用simulink笔记,暨入门教程
  14. 信贷风控中如何定位基站位置
  15. 禅者的初心:乔布斯与佛教的前世今生
  16. 如何对智能对话机器人的智能化水平分类
  17. 盘一盘 Python 系列 - Cufflinks (下)
  18. Jupyter Notebook 的安装与使用
  19. 20222928 2022-2023-2 《网络攻防实践》实践八
  20. linux 薄膜键盘驱动,有限状态机的嵌入式Linux按键驱动设计

热门文章

  1. BI驾驶舱是什么?BI管理驾驶舱主要内容及特点
  2. 11月25日:盒子模型
  3. 有穷自动机【DFA】【编译原理】识别字符串的实现-编程
  4. uniapp云打包成app后,在Android12手机上横屏样式未填满手机界面;在ios手机上横屏不生效;问题解决
  5. 中小企业的四个数据存储方法和措施
  6. P1318 积水面积
  7. 工业数字智能化常用系统简介
  8. 微信小程序 - TGit版本控制
  9. ubuntu 一键挂载U盘到系统
  10. 老牌网站skinsdog 狗网官网可直接取回CSGO饰品开箱网站