使用DHCP动态管理主机地址

DHCP:动态主机配置协议(Dynamic Host Configuration Protocol)

基于UDP协议且仅限于在局域网内部使用的网络协议主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,用途是为局域网内部的设备或网络供应商自动分配IP地址等参数,提供网络配置的“全家桶”服务。

简单来说,DHCP就是让局域网中的主机自动获得网络参数的服务。

DHCP协议的拓扑示意图:

DHCP涉及的常见术语:

作用域:一个完整的IP地址段,DHCP根据作用域来管理网络的分布、IP地址的分配及其他配置参数。

超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段,它包含了可以统一管理的作用域列表。

排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端。

地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给客户端的IP地址范围。

租约:DHCP客户端能够使用动态分配的IP地址的时间。

预约:保证网络中的特定设备总是获取到相同的IP地址。

部署dhcpd服务程序

[root@study ~]# dnf install -y dhcp-server

查看dhcpd服务程序的配置文件内容:

[root@study ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

dhcpd服务程序配置文件中使用的常见参数以及作用

参数作用
ddns-update-style 类型定义DNS服务动态更新的类型,类型包括:
none(不支持动态更新)、interim(互动更新模式)与ad-hoc(特殊更新模式)
allow/ignore client-updates允许/忽略客户端更新DNS记录
default-lease-time 21600默认超时时间
max-lease-time 43200最大超时时间
option domain-name-servers 8.8.8.8定义DNS服务器地址
option domain-name "domain.org"定义DNS域名
range定义用于分配的IP地址池
option subnet-mask定义客户端的子网掩码
option routers定义客户端的网关地址
broadcast-address 广播地址定义客户端的广播地址
ntp-server IP地址定义客户端的网络时间服务器(NTP)
nis-servers IP地址定义客户端的NIS域服务器的地址
hardware 硬件类型 MAC地址指定网卡接口的类型与MAC地址
server-name 主机名向DHCP客户端通知DHCP服务器的主机名
fixed-address IP地址将某个固定的IP地址分配给指定主机
time-offset 偏移差指定客户端与格林尼治时间的偏移差

自动管理IP地址

 机房所用的网络地址以及参数信息

参数名称
默认租约时间21600秒
最大租约时间43200秒
IP地址范围192.168.10.50~192.168.10.150
子网掩码255.255.255.0
网关地址192.168.10.1
DNS服务器地址192.168.10.1
搜索域study.com
[root@study ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
        range 192.168.10.50 192.168.10.150;
        option subnet-mask 255.255.255.0;
        option routers 192.168.10.1;
        option domain-name "study.com";
        option domain-name-servers 192.168.10.1;
        default-lease-time 21600;
        max-lease-time 43200;
}

  dhcpd服务程序配置文件中使用的参数以及作用

参数作用
ddns-update-style none;设置DNS服务不自动进行动态更新
ignore client-updates;忽略客户端更新DNS记录
subnet 192.168.10.0 netmask 255.255.255.0 {作用域为192.168.10.0/24网段
range 192.168.10.50 192.168.10.150;IP地址池为192.168.10.50-150(约100个IP地址)
option subnet-mask 255.255.255.0;定义客户端默认的子网掩码
option routers 192.168.10.1;定义客户端的网关地址
option domain-name "linuxprobe.com";定义默认的搜索域
option domain-name-servers 192.168.10.1;定义客户端的DNS地址
default-lease-time 21600;定义默认租约时间(单位:秒)
max-lease-time 43200;定义最大预约时间(单位:秒)
}结束符
[root@study ~]# systemctl start dhcpd
[root@study ~]# systemctl enable dhcpd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpd.service → /usr/lib/systemd/system/dhcpd.service.


如果是在生产环境中配置dhcpd服务,则有可能会因为DHCP没有被防火墙放行而导致失败,此时执行下面的命令即可:

[root@study ~]# firewall-cmd --zone=public --permanent --add-service=dhcp
success
[root@study ~]# firewall-cmd --reload
success

分配固定IP地址

在DHCP协议中有个术语是“预约”,它用来确保局域网中特定的设备总是获取到固定的IP地址。要想把某个IP地址与某台主机进行绑定,就需要用到这台主机的MAC地址。

在Linux系统或Windows系统中,都可以通过查看网络的状态来获知主机的MAC地址。在dhcpd服务程序的配置文件中,按照如下格式将IP地址与MAC地址进行绑定。

host 主机名称 {
hardwareethernet该主机的MAC地址;
fixed-address欲指定的IP地址;

}

如果不方便查看主机的MAC地址,该怎么办呢?比如,要给老板使用的主机绑定IP地址,总不能随便就去查看老板的主机信息吧。针对这种情况,这里告诉大家一个好办法。我们首先启动dhcpd服务程序,为老板的主机分配一个IP地址,这样就会在DHCP服务器本地的日志文件中保存这次的IP地址分配记录。然后查看日志文件,就可以获悉主机的MAC地址了(即下面加粗的内容)。
[root@study ~]# tail -f /var/log/messages
………………省略部分输出信息………………
Mar 22 00:28:54 linuxprobe cupsd[1206]: REQUEST linuxprobe.com- - "POST / HTTP/1.1" 200 183 Renew-Subscription client-error-not-found
Mar 22 00:29:35 linuxprobe dhcpd[30959]: DHCPREQUEST for 192.168.10.50 from 00:0c:29:dd:f2:22 (DESKTOP-3OGV50E) via ens160
Mar 22 00:29:35 linuxprobe dhcpd[30959]: DHCPACK on 192.168.10.50 to 00:0c:29:dd:f2:22 (DESKTOP-3OGV50E) via ens160
[root@study ~]# vim /etc/dhcp/dhcpd.conf 
ddns-update-style none;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
        range 192.168.10.50 192.168.10.150;
        option subnet-mask 255.255.255.0;
        option routers 192.168.10.1;
        option domain-name "linuxprobe.com";
        option domain-name-servers 192.168.10.1;
        default-lease-time 21600;
        max-lease-time 43200;
        host linuxprobe {
                hardware ethernet 00:0c:29:dd:f2:22;
                fixed-address 192.168.10.88;
                }
}


[root@study ~]# systemctl restart dhcpd

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值