Linux-DHCP服务器基础配置
1.DHCP简介
DHCP:Dynamic Host Configuration Protocol,动态主机配置协议,是在局域网中由DHCP服务器分配给局域网中主机或其他设备IP地址的协议,通过此协议可以自动为该局域网的主机配置IP地址、网关、子网掩码、DNS网络配置信息,免去为局域网内的电脑一一配置的体力活。
2.DHCP原理简介
2.1 DHCP租约过程
DHCP租约过程简约图示如下
DHCP租约过程分为4步。
- DISCOVER:首先由开启DHCP服务的局域网主机发送广播,寻找DHCP服务器。
- OFFER:DHCP服务器收到局域网主机的广播,并进行回复,提供IP地址,子网掩码、网关、DNS等网络信息。
- REQUEST:局域网主机收到OFFER报文后,向DHCP主机发送REQUEST报文,回复收到网络相关信息,并告知DHCO服务器,该IP地址不要在进行分配
- ACK:DHCP服务器发送ACK确认消息,告诉客户端放心使用,并提供该IP的有效租约和其他可配置信息
在局域网主机收到DHCP的ACK消息时,配置IP地址,并完成TCP/IP的初始化。
这4步过程可以类似于找工作流程。
- 打工人海投寻找(DISCOVER)工作(IP等网络配置)
- 公司有意向提供(OFFER)工作
- 打工人对工作很满意,请求(REQUEST)公司别给其他人了
- 公司对回复好的(ACK),并把打工合同给你(有效租约和其他可配置信息)
2.2 局域网主机重新登录
当DHCP的客户机每次重新登录网络的时候,不在发送DHCP的DISCOVER信息,而是直接发送包含前一次所分配IP地址的DHCP Request请求,如果对应IP没有被使用,则该DHCP客户机可以继续使用上一次的IP,如果上一次的IP被使用了,则该客户机需要再次发送DISCOVER包,以获取新的IP地址。
还是比作找工作。从上家公司离职后,想在工作,先问一下上家公司那个工作还在不在,没人干的话,我在回来。公司回复可以啊,那个位置还空着,你回来吧。
如果位置没空着,那个工作人就要重新找工作了呗。(DISCOVER)
3.DHCP服务器配置
1.该服务器配置通过虚拟机进行配置,环境为CENTOS7,为确保实验成功,首先关闭防火墙。
systemctl stop firewalld.service
2.关闭防火墙后,在确保虚拟机内的系统联网正常,安装DHCP服务。
yum install dhcp -y
3.安装完成后,配置DHCP服务的配置文件。
[root@localhost ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
通过rpm -qc可查看DHCP的配置文件,一般配置文件以CONF结尾,dhcpd6为ipv6的dhcp配置,所以这里配置dhcpd.conf
查看一下配置文件。
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
这里告诉你在/usr/share/doc/dhcp*/dhcpd.conf.example有示例配置文件,这里直接把它复制过来。提示是否覆盖,选择是
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
DHCP配置文件解析
这里看一下DHCP配置文件基本结构。
第8行,这里是配置的全局的DNS地址。
第27行,配置局域网范围,IP地址配置范围,DNS,网关等信息。(这里根据自己需求配置)
第8行和第9行是IP地址的使用时限。(可以续租,两个单位都是秒)
保存退出。
4.虚拟机选择仅主机模式。
5.配置真机的VMNET1网卡为网关地址。
6.修改DHCP服务器的IP地址为192.168.140.2
vim /etc/sysconfig/network-scripts/ifcfg-ens33 ## 根据实际网卡名称修改
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #注意一定要设置为static,ip设置为用户设置的
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=2fa8c5a8-4cd4-4758-81a4-b696da5de5b4
DEVICE=ens33
ONBOOT=no
IPADDR=192.168.140.2 ## 修改至192.168.140.网段
PREFIX=24
GATEWAY=192.168.140.1 ## 修改网关地址正常
#DNS1=8.8.8.8 ## DNS不需要注释掉
7.重启CENTOS7网路,和启动dhcp服务
systemctl restart network
systemctl status dhcpd.service
查看dhcpd服务状态,为active则正常。否则需要排障
[root@localhost ~]# systemctl status dhcpd.service
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2022-03-15 23:32:49 EDT; 41min ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
Main PID: 12555 (dhcpd)
Status: "Dispatching packets..."
Tasks: 1
CGroup: /system.slice/dhcpd.service
└─12555 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
8.新建一个WIN10虚拟机,设置仅主机,自动获取IP。ipconfig查看ip为192.168.140.200,DNS配置为子配置。