DHCP客户端在Linux上如何配置

嘿,你问我如何使用 DHCP 配置 Linux ?好吧,让我向你解释一下。
这取决于您的系统。
主要有以下三种方法。

首先我们来谈谈最常见的变体,即使用 nmcli 命令(适用于 NetworkManager 系统)。

上次我在 Ubuntu 2 2 .04 上配置它时,我使用了这个。
首先,您需要知道网络端口的名称。
使用 nmcli Connection Show 进行检查。
通常称为有线连接 1 或 eth0。

如果此端口未打开,则必须先打开它。
该命令是 nmcli Connection Up <连接名称>。
例如,如果我的名字是“Cable Connection 1 ”,则“nmcli”用于“Cable Connection 1 ”。

那么最重要的一步就是自动获取IP地址。
该命令是 nmcli Connection Mod <连接名称> ipv4 .method auto。
我仍然有相同的示例,即 nmcli Connection Mod Wired Connection 1 ipv4 .method auto。

最后,为了使更改生效,您必须关闭并重新打开界面。
命令为 nmcli Connection Down <连接名称> && nmcli Connection Up <连接名称>。
你看,这个命令有点复杂。
使用&&连接,先关闭再打开。

第二种方法是修改配置文件。

这是比较旧的或者在某些服务器系统上仍在使用。
这取决于您使用的发行版。

例如 Debian 或 Ubuntu,您需要使用 sudo nano /etc/network/interfaces 打开文件。
添加或更改里面的行如下:
自动eth0 iface eth0 inet dhcp
保存并停止网络服务,然后重新启动。
该命令是 sudo systemctl restartnetworking。

RedHats(CentOS、Fedora)是不同的。
您需要修改 /etc/sysconfig/network-scripts/ifcfg- 文件,例如例如。
ifcfg-eth0。
确保包含这些行:
设备=eth0 启动协议=dhcp ONBOOT=是
保存后,还可以根据您的系统版本使用 sudo systemctl restart network 或 sudo systemctl restart network.service 重新启动网络服务。

第三种方法是使用ip命令临时连接。

我通常用它来临时连接到互联网,例如用于调试或尝试快速访问互联网。
命令非常简单:
1 首先删除当前IP地址:sudo ip addrlush dev
示例:sudo ip addrlush dev eth0。
2 . 然后让它去 DHCP 服务器请求 IP:sudo dhclient <接口名称>。
例如 sudo dhclient eth0。

完成这两条命令后,会自动获取IP。
但要小心,当您重新启动计算机时,IP 将丢失,因为它是临时配置。

如何知道匹配是否正确?
分配完成后,您需要确认您是否真的收到了IP。

最常用的命令是 ip addr show <接口名称>。
示例:IP 地址显示 eth0。
检查输出中是否有一行像inet 1 9 2 .1 6 8 .1 .1 00/2 4 这样的数字。
如果是的话,就说明成功了。

老系统可能没有IP命令,所以需要使用ifconfig。
但是,如果您的系统尚未安装,则需要先安装。
对于 Debian/Ubuntu,请使用 sudo apt install net-tools;对于 CentOS/RHEL,请使用 sudo yum install net-tools。

最后,一些陷阱:
1 接口名称不同!这是最烦人的事情。
有些称为 eth0,有些称为 ens3 3 ,有些称为 enp0s3 ,甚至还有自定义有线连接 1 您首先需要找出系统上的名称。
随意填写命令肯定不行。
2 . NetworkManager与旧脚本冲突!如果您的系统安装了 NetworkManager 但还保留了旧的配置文件 /etc/network-scripts/,则可能会出现问题。
我遇到了一些问题,我建议您要么使用 NetworkManager 来管理它,要么只使用旧的脚本方法并且不要混合它们。
3 、临时配置重启后将失效!在第三种方法中,IP 在重新启动后将不再存在,因为它不是永久设置的。

好了,就这些了。
在选择方法之前,您需要查看您的系统。
我自己的建议是,如果您使用的是 Ubuntu 或 Fedora Workstation 等桌面版本,最好使用 nmcli。
如果是服务器或者你不确定系统要做什么,修改配置文件会比较安全。
临时使用需要使用IP和dhclient。

Linux如何设置DHCP自动获取IP

等等还有一件事。
上次在家乡安装系统时,ThinkPad T4 00使用的是旧版本的CentOS 6 .5 网络配置基于网络脚本。
此时ifcfg-eth0中BOOTPROTO设置为dhcp;注意,如果ONBOOT设置为yes,则使用service network restart来重新启动网络服务。
我慢慢运行了一个黑底白字的命令行窗口,最后一天的IP地址来到了1 9 2 .1 6 8 .1 .1 05