一、DHCP 服务
- DHCP(Dynamic Host Configuration Protocal)就是动态主机配置协议,可以自动配置主机的 lP 地址、子网掩码、网关及 DNS 等 TCP/IP 信息。所以 DHCP 可以有效地降低客户端 IP 地址配置的复杂度和网络的管理成本。如果路由器能够转发 DHCP 请求,只需要在一个子网中配置 DHCP 服务器就可以向其他子网提供 TCP/IP 配置的服务支持 DHCP 的应用环境
1. DHCP 软件包
dhcp-4.2.5-47.el7.x86_64.rpm
DHCP 主程序包,包括 DHCP 服务和中继代理程序,安装该软件包进行相应配置,即可以为客户机动态分配IP地址及其他 TCP/IP 信息。dhclient-4.2.5-47.el7.x86_64.rpm
客户端软件包(已安装)dhcp-common-4.2.5-47.el7.x86_64.rpm
DHCP 服务器开发工具软件包,为 DHCP 开发提供库文件支持。
2. DHCP 服务器的安装与运行管理
DHCP 服务的安装
[root@localhost ~]# mount /dev/cdrom /mnt [root@localhost ~]# rpm -ivh /mnt/Packages/dhcp-4.2.5-47.el7.x86_64.rpm
启动、重启、查询服务的启动状态、停止
systemctl start|stop|restart|reload|status dhcpd .service
DHCP 服务在系统开机时自动启动或不启动的命令格式如下:
systemctl enable|disable dhcpd
检查dhcpd进程
ps -ef | grep dhcpd
查看dhcpd运行的端口
ss -nutap | grep dhcpd
二、配置单子网的DHCP服务
动态分配的 IP 地址的范围为 192.168.1.20~192.168.1.100
子网掩码为 255.255.255.0
默认网关为 192.168.1.254
客户端使用的 DNS 服务器的 IP 地址为 8.8.8.8
所在的域名为 xyz.edu,
并为其中的一台客户机保留 192.168.1.64 地址
1. 配置DHCP自身的网络参数
添加网络
虚拟机->设置->硬件->网络适配器->自定义->网络连接->自定义(VMnet9)
启动应用程序->系统设置->网络->有线->设置-> IPv4
2. 修改服务器的主配置文件
修改 DHCP 服务器的主配置文件 /etc/dhcp/dhcpd.conf →启动 DHCP 服务
[root@localhost ~]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore |allow client-updates;
option domain-name "xyz.edu";
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0{
range 192.168.1.20 192.168.1.100;
option routers 192.168.1.254;
}
host teacher {
hardware ethernet 00:0C:29:B8:2E:2A; // 保留的网卡物理地址
fixed-address 192.168.1.64;
}
[root@localhost ~]# systemctl restart dhcpd.service
[root@localhost ~]# systemctl enable dhcpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[root@localhost ~]# firewall-cmd --permanent --add-service=dhcp
success
[root@localhost ~]# firewall-cmd --reload
success
3. Linux客户端测试
Linux 客户端配置与测试。编辑客户端的网卡配置文件,将网卡获取 IP 地址的方式改为 dhcp →重启网络服务→查看客户端是否获取了 IP 地址等网络参数
- 应用程序->系统设置->网络->有线->设置-> IPv4,设置 IPv4 Method 为自动(DHCP),关闭再打开有线连接,再查看有线->设置。
4. 查看租用情况
在服务器端使用 cat 命令查看租约文件 dhcpd.leases,了解租用情况
[root@localhost ~]# 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.2.5
server-duid "\000\001\000\001(?\301U\000\014)\270.*";
lease 192.168.1.20 {
starts 2 2021/05/25 14:14:52;
ends 2 2021/05/25 14:24:52;
cltt 2 2021/05/25 14:14:52;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:e9:4b:6c;
}
5. Windows 用户客户端
win + R
输入 cmd
,执行指令:
释放 IP 地址:ipconfig /release
重新申请 IP 地址:ipconfig /renew
执行:ipconfig /all
三、使用 DHCP 中继代理为多子网分配 IP 地址
由于 DHCP 客户端与 DHCP 服务器之间是通过广播包的通信方式,来寻找对方并获得 IP 地址等网络参数的,当服务器和客户端处在不同网段时,必须通过路由器或具有路由功能的三层交换机实现连接,但广播包是不能直接穿过路由器或三层交换机的(即路由器/三层交换机不能转发广播包)。因此,当 DHCP 客户端与 DHCP 服务器之间有路由器时,无法完成IP地址的申请和获取。其解决问题的方法有以下三种:
- 在每个子网中分别部署一台 DHCP 服务器,让服务器为各自的子网中的客户端分配 IP 地址等网络参数。此方法管理分散且投入成本较大,在实际中很少采用。
- 在网络中部署一台 DHCP 服务器,在路由器的每个子网接口或三层交换机的每个 VLAN 端口启动 DHCP 中继代理功能。此方法在实际工作中被广泛使用。
- 在网络中部署一台DHCP服务器,在每个子网的 Linux/Winddows Server 主机中部署一台 DHCP 中继代理服务器。此方法管理集中但投入成本较大,实际中很少采用。