14.4 分配固定IP地址
在DHCP协议中有个术语是“预约”,它用来确保局域网中特定的设备总是获取到固定的IP地址。换句话说,就是dhcpd服务程序会把某个IP地址私藏下来,只将其用于相匹配的特定设备。
要想把某个IP地址与某台主机进行绑定,就需要用到这台主机的MAC地址。MAC地址是网卡上面的一串独立的标识符,具备唯一性,因此不会存在冲突的情况,如图14-6所示。
图14-6 查看运行Linux系统的主机MAC地址
在Linux系统或Windows系统中,都可以通过查看网卡的状态来获知主机的MAC地址。在dhcpd服务程序的配置文件中,按照如下格式将IP地址与MAC地址进行绑定。
host 主机名称 { | ||||
hardware | ethernet | 该主机的MAC地址; | ||
fixed-address | 欲指定的IP地址; | |||
} |
如果不方便查看主机的MAC地址,该怎么办呢?比如,要给老板使用的主机绑定IP地址,总不能随便就去查看老板的主机信息吧。针对这种情况,刘遄老师告诉大家一个很好的办法。我们首先启动dhcpd服务程序,为老板的主机分配一个IP地址,这样就会在DHCP服务器本地的日志文件中保存这次的IP地址分配记录。然后查看日志文件,就可以获悉主机的MAC地址了(即下面加粗的内容)。
- [root@linuxprobe ~]# tail -f /var/log/messages
- Mar 30 05:33:17 localhost dhcpd: Copyright 2004-2013 Internet Systems Consortium.
- Mar 30 05:33:17 localhost dhcpd: All rights reserved.
- Mar 30 05:33:17 localhost dhcpd: For info, please visit https://www.isc.org/software/dhcp/
- Mar 30 05:33:17 localhost dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
- Mar 30 05:33:17 localhost dhcpd: Wrote 0 leases to leases file.
- Mar 30 05:33:17 localhost dhcpd: Listening on LPF/eno16777728/00:0c:29:c4:a4:09/192.168.10.0/24
- Mar 30 05:33:17 localhost dhcpd: Sending on LPF/eno16777728/00:0c:29:c4:a4:09/192.168.10.0/24
- Mar 30 05:33:17 localhost dhcpd: Sending on Socket/fallback/fallback-net
- Mar 30 05:33:26 localhost dhcpd: DHCPDISCOVER from 00:0c:29:27:c6:12 via eno16777728
- Mar 30 05:33:27 localhost dhcpd: DHCPOFFER on 192.168.10.50 to 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
- Mar 30 05:33:29 localhost dhcpd: DHCPDISCOVER from 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
- Mar 30 05:33:29 localhost dhcpd: DHCPOFFER on 192.168.10.50 to 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
- Mar 30 05:33:29 localhost dhcpd: DHCPREQUEST for 192.168.10.50 (192.168.10.10) from 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
- Mar 30 05:33:29 localhost dhcpd: DHCPACK on 192.168.10.50 to 00:0c:29:27:c6:12 (WIN-APSS1EANKLR) via eno16777728
之前我在线下讲课时,讲完DHCP服务后总是看到有些学员在挠头。起初我很不理解,毕竟dhcpd服务程序是Linux系统中一个很简单的实验,总共就那么十几行的配置参数还能写错?后来发现了原因—有些学员是以Windows系统为对象做的IP与MAC地址的绑定实验。而在Windows系统中看到的MAC地址,其格式类似于00-0c-29-27-c6-12,间隔符为减号(-)。但是在Linux系统中,MAC地址的间隔符则变成了冒号(:)。
- [root@linuxprobe ~]# 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:27:c6:12;
- fixed-address 192.168.10.88;
- }
- }
确认参数填写正确后就可以保存退出配置文件,然后就可以重启dhcpd服务程序了。
- [root@linuxprobe ~]# systemctl restart dhcpd
需要说明的是,如果您刚刚为这台主机分配了IP地址,则它的IP地址租约时间还没有到期,因此不会立即换成新绑定的IP地址。要想立即查看绑定效果,则需要重启一下客户端的网络服务,如图14-7所示。
图14-7 重启客户端的网络服务,查看绑定效果
出现问题?大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),点此查看全国群。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)
1.简述DHCP协议的主要用途。
答:为局域网内部的设备或网络供应商自动分配IP地址等参数。
2.DHCP协议能够为客户端分配什么网卡资源?
答:可为客户端分配IP地址、子网掩码、网关地址以及DNS地址等信息。
3.真正供用户使用的IP地址范围是作用域还是地址池?
答:地址池,因为作用域内还会包含要排除掉的IP地址。
4.简述DHCP协议中“租约”的作用。
答:租约分为默认租约时间和最大租约时间,用于在租约时间到期后自动回收主机的IP地址,以免造成IP地址的浪费。
5.把IP地址与主机的什么信息绑定,就可以保证该主机一直获取到固定的IP地址?
答:主机网卡的MAC地址。
本文原创地址:https://www.linuxprobe.com/chapter-14.html 编辑:刘遄,审核员:暂无
为您推荐一些与本文相关的文章:
- 微软为你转向Edge提供了新理由
- 腾讯云宣布核心产品全线降价
- 捷讯:陈梓壕12月19日上海顺利通过RHCE认证。
- 利用隐写术实施攻击
- 维护Git 仓库的一些技巧
- Linux下内网反弹技巧总结与杂谈
- 聊聊:将来的Win10 19H1都有什么变化
- NVIDIA也跟风:不再提供32位版本驱动程序
- 高性能虚拟化:Xen 4.7 发布
- 如何在Linux上初始化USB设备
转载必需保留本文链接:https://www.linuxprobe.com/chapter-14.html
本文依据CC-BY-NC-SA 3.0协议发布,竭诚为读者提供Linux视频教程、Linux学习资料以及红帽考试资料等优质学习资源。