signed

QiShunwang

“诚信为本、客户至上”

Linux DHCP申请分配指定IP地址

2021/6/3 13:30:27   来源:

在虚拟机上搭建HLS流服务器测试看视频,感觉勉强还行(:))。可是,今天发现有个小麻烦。一直使用某个IP来启动服务器满顺溜的,这两天被“蹭”掉了。作为“原始”的“懒人”,在Windows下习惯使用人形鼠标点点点,而在Linux中,便于记忆地逐行敲击命令。被“蹭”掉IP这件无足挂齿的小事,却完全把这一点点小“便利”给打破了。怎么办呢?

直接在路由器端绑定IP和MAC地址不就搞定,何须大费周章?

事实上,早已尝试过了,这种方法不行!在VMW虚拟机上,设置网络适配器为“桥接模式(自动)”,在路由器上将指定IP地址和虚拟机的MAC绑定,结果会发现无法连接网络通信。至少,当前还不行。

vm_network_config

决定在Linux虚拟机上尝试直接指定IP地址。

#ifconfig eth0 192.168.1.116 netmask 255.255.255.0

查看路由器的DHCP详情,发现虚拟机IP地址保持原状。PING外部网址提示“Temporary failure in name resolution”。此法行不通,只是改变本地IP地址,并没有改变DHCP状态。

为了很好的理解IP地址的分配流程,应该理解DHCP的原理。简单来说,IP地址的分配遵循DHCP协议,由客户主机申请、DHCP服务器动态分配。所以,解决问题应该从DHCP方面入手。Linux操作系统有没有什么命令是关于DHCP的?

由于略略有过搭建DHCP服务器的学习经历,本能地认为此种可能性很高。在网上一搜索很快搜到一个命令:dhclient。并且参考其中一篇可靠性较高的博客文章。输入命令查看当前主机的DHCP信息。

$cat /var/lib/dhcp/dhclient.leases

dhclient.leases文件中的网卡接口interface -- eth0,显示DHCP分配的IP仍为192.168.1.110。使用vim修改指定的IP地址:192.168.1.116。

#vim /var/lib/dhcp/dhclient.leases

释放旧DHCP连接,并重新申请IP地址。

#dhclient -r

#dhclient

使用ifconfig命令查看IP地址,可以看到IP地址更改为192.168.1.116。

$ifconfig

ping测试网络连接状态。

$ping -c 5 baidu.com

或打开浏览器浏览任意网站。测试结果:网络畅通。问题解决。

注:

本文中使用的操作系统为:Ubuntu/Debian/Kali之流的Linux。DHCP配置文件的地址为“/var/lib/dhcp/dhclient.leases”,与参考文章中的“/var/lib/dhcpclient/dhclient.leases”有出入。仅供参考。


参考博客文章:linux dhcp分配特定ip地址,Linux DHCP 重新获取指定的IP地址