DHCP 服务器
DHCP 服务介绍
在大型网络中,系统静态分配IP地址面临问题:
确保不要同时在多个系统上使用同一个地址。
部署新系统通常需要手动分配其IP地址。在云环境中,实例的网络是自动化配置的。
动态主机配置协议(DHCP-Dynamic Host Configuration Protocol)提供了一种自动配置网络参 数的方法,例如IP地址,默认网关,DNS服务器和域或NTP服务器。在网络中部署DHCP服务器, 您可以集中控制这些参数。
DHCP 通信过程
客户端使用DHCPv4配置网络接口时,网卡将 DHCPDISCOVER 数据包发送到 255.255.255.255 广播目标。因为路由器通常不转发该广播地址,所以必须将DHCP服务器 与客户端安装在同一物理网络上,以便它可以接收DHCPDISCOVER数据包。您也可以将路由 器配置为DHCP中继代理,转发DHCP消息到其他网络。
DHCP服务器收到 DHCPDISCOVER 数据包后,响应 DHCPOFFER 数据包,该数据包包含其 自己的IP地址和客户端应使用的IP地址。该数据包还包括一个租用期限,以指示所提供的IP 地址有效的时间,以及其他网络参数,例如默认网关和DNS服务器。
客户端收到DHCP服务器 DHCPOFFER 数据包后,发送 DHCPREQUEST 广播数据包,请求 DHCP服务器提供的IP地址。这似乎很多余,但是网络上可能有多个DHCP服务器,或者路由 器可能会将DHCPOFFER转发到多个网络。因此,客户端可能会从不同的DHCP服务器收到响 应。客户端的DHCPREQUEST数据包包括接受请求的DHCP服务器的IP地址。
DHCP服务器收到DHCPREQUEST数据包后,会发送 DHCPACK 数据包,确认客户端对客户 端IP地址具有独占权限,直到租约到期为止。
在DHCP服务器上,可以使用 journalctl –unit= dhcpd.service 命令来访问客户端与服务端 通信消息。 以下摘录显示了客户端通过DHCP请求IP地址。
DHCPDISCOVER from 00:0c:29:26:13:b5 via eth0
DHCPOFFER on 10.1.8.101 to 00:0c:29:26:13:b5 (hosta) via eth0
DHCPREQUEST for 10.1.8.101 (10.1.8.2) from 00:0c:29:26:13:b5 (hosta) via
eth0
DHCPACK on 10.1.8.101 to 00:0c:29:26:13:b5 (hosta) via eth0
在租约到期之前,客户端会定期向服务器发送 DHCPREQUEST 数据包,以确保服务器不会收回 IP地址。
部署 DHCP 服务器
要配置DHCPv4服务器,请首先使用 ip addr 命令确认您的网络接口配置是否指定了 BROADCAST地址。
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP group default qlen 1000
link/ether 00:0c:29:e5:be:0f brd ff:ff:ff:ff:ff:ff
inet 10.1.8.10/24 brd 10.1.8.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fee5:be0f/64 scope link
valid_lft forever preferred_lft forever
服务器必须具有静态IP地址。
安装 DHCP 软件
# 安装软件包
[root@server ~]# yum install -y dhcp
# 配置防火墙,放行dhcp服务
[root@server ~]# firewall-cmd –add-service=dhcp
[root@server ~]# firewall-cmd –add-service=dhcp –permanent
配置 DHCP 服务器
dhcpd服务使用 /etc/dhcp/dhcpd.conf 配置文件。 dhcp软件包提供/usr/share/doc/dhcp- */dhcpd.conf.example 配置文件示例。
[root@server ~]# /bin/cp /usr/share/doc/dhcp-*/dhcpd.conf.example
/etc/dhcp/dhcpd.conf
[root@server ~]# vim /etc/dhcp/dhcpd.conf
典型的DHCP配置示例:
subnet 10.1.8.0 netmask 255.255.255.0 {
range 10.1.8.101 10.1.8.130;
option domain-name-servers 223.5.5.5;
option domain-name "laoma.cloud";
option routers 10.1.8.2;
option broadcast-address 10.1.8.255;
default-lease-time 600;
max-lease-time 7200;
}
配置说明:
authoritative,指示服务器对其所管理的子网具有权威性。 subnet,提供的子网详。 range,指定服务器在该范围内分配IP地址。 option routers,指定服务器提供默认网关地址。 option domain-name-servers,指定服务器提供DNS名称服务器。 option domain-search,指定服务器提供DNS域搜索列表。 default-lease-time,提供网络信息默认租期,如果客户端不要求任何特定的租期。单位 秒。 max-lease-time,指示服务器可以从客户端请求接受的最大租期。单位秒。 客户端系统上的NetworkManager使用domain-name-servers和domain-search更新 resolv.conf文件中的nameserver和search参数。
验证 DHCP 配置
# 验证配置文件语法
[root@server ~]# dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were
not specified in the config file
启用并启动服务
# 启用并启动服务
[root@server ~]# systemctl enable dhcpd –now
# 查看服务状态
[root@server ~]# systemctl status dhcpd
配置 DHCP 客户端
# 添加一个自动获取ip连接,假设网卡设备名为ens192
[root@client ~]# nmcli connection add con-name dynamic type ethernet
ifname ens192
[root@client ~]# nmcli connection up dynamic
# 验证
[root@client ~]# ip addr show ens192
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
group default qlen 1000
link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 10.1.8.101/24 brd 10.1.8.255 scope global dynamic
noprefixroute ens192
valid_lft 597sec preferred_lft 597sec
inet6 fe80::95db:2216:1a36:615/64 scope link noprefixroute
valid_lft forever preferred_lft forever
基于 MAC 地址预留IP地址
在配置文件中,host声明可以将MAC地址绑定到IP地址。 此配置对于始终为特定系统的网络接口 提供相同的IP地址特别有用,尤其是Web或数据库系统之类的服务器。 客户端MAC地址查看
[root@client ~]# ip link show ens192
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
mode DEFAULT group default qlen 1000
link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ff
altname enp11s0
在以下示例中,服务器始终为MAC地址是 00:0c:29:26:13:b5 的系统分配10.1.8.20地址。 在 /etc/dhcp/dhcpd.conf 最后添加如下内容:
host client.laoma.cloud {
hardware ethernet 00:0c:29:26:13:b5;
fixed-address 10.1.8.30;
}
重启服务
[root@server ~]# systemctl restart dhcpd
客户端验证
# 激活连接
[root@client ~]# nmcli connection up dynamic
# 验证
[root@client ~]# ip addr show ens192
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
group default qlen 1000
link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 10.1.8.30/24 brd 10.1.8.255 scope global dynamic noprefixroute
ens192
valid_lft 245sec preferred_lft 245sec
inet6 fe80::95db:2216:1a36:615/64 scope link noprefixroute
valid_lft forever preferred_lft forever
网硕互联帮助中心




评论前必须登录!
注册