搭建DHCP服务器

DHCP简介

1
2
3
4
5
6
7
动态获取IP地址,UDP协议
主要用途:
用于内部网络和网络服务供应商自动分配IP地址给用户
用于内部网络管理员作为对所有电脑集中管理的手段
使用场景:
自动化安装系统
解决IPV4资源不足的问题

DHCP自动获取地址过程

1
2
3
4
DHCP DISCOVERY:客户端到服务器
DHCP OFFER:服务器到客户端
DHCP REQUEST:客户端到服务器
DHCP ACK:服务器到客户端

DHCP获取地址过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@node01 /data/iso]#dhclient -d
Internet Systems Consortium DHCP Client 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/ens37/00:0c:29:03:24:26
Sending on LPF/ens37/00:0c:29:03:24:26
Listening on LPF/ens33/00:0c:29:03:24:1c
Sending on LPF/ens33/00:0c:29:03:24:1c
Sending on Socket/fallback
DHCPDISCOVER on ens37 to 255.255.255.255 port 67 interval 7 (xid=0xd064c5c)
DHCPDISCOVER on ens33 to 255.255.255.255 port 67 interval 5 (xid=0x1e827aa6)
DHCPREQUEST on ens33 to 255.255.255.255 port 67 (xid=0x1e827aa6)
DHCPOFFER from 192.168.34.254
DHCPACK from 192.168.34.254 (xid=0x1e827aa6)
bound to 192.168.34.109 -- renewal in 837 seconds.
DHCPDISCOVER on ens37 to 255.255.255.255 port 67 interval 18 (xid=0xd064c5c)
DHCPREQUEST on ens37 to 255.255.255.255 port 67 (xid=0xd064c5c)
DHCPOFFER from 172.18.0.1
DHCPACK from 172.18.0.1 (xid=0xd064c5c)
bound to 172.18.134.222 -- renewal in 36077 seconds.

DHCP服务端端口:67
DHCP客户端端口:68

查看DHCP获取到的地址的详细信息
DHCP获取的地址的详细信息存放在/var/lib/dhclient/dhclient.leases文件中

跨网段的DHCP服务解决办法
使用DHCP relay agent即DHCP中继代理服务

DHCP同网段有多个服务器提供服务
DHCP服务必须基于先到先得的原则,即哪个服务器提供的地址先到达客户端,就使用该地址。

实验:搭建DHCP服务器

安装dhcp软件包

1
$ yum -y install dhcp

将配置模板覆盖到原来的配置文件

1
$ cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

dhcp服务器配置范例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ cat /etc/dhcp/dhcpd.conf
subnet 192.168.34.0 netmask 255.255.255.0 { #提供地址的网段和子网掩码
range 192.168.34.10 192.168.34.200; #提供的具体主机的范围
option routers 192.168.34.1; #提供的网关地址
option domain-name-servers 8.8.8; #提供的dns服务器的地址,可以配置多个,以逗号分隔
next-server 192.168.34.7; #tftp服务器地址
filename "pxelinux.0"; #要从tftp服务器下载的文件(最后这两行是和自动安装相关的配置)
}
host dbsrv(){
hardware ethernet 物理地址 ;
fixed-address 192.168.34.101;
next-server 192.168.34.7;
filename "pxelinux.0";
}
#此设置是针对特定的主机网卡配置固定的ip地址是针对,以及从某个tftp服务器下载特定的文件

启动dhcp服务

1
$ systemctl start dhcpd.service

此时,在客户端使用dhclient命令即可获取到dhcp服务器提供的地地址。