刚装好一个Linux服务器,兴冲冲地准备大干一场,却发现终端里连不上网?ping 命令毫无反应,那种感觉真是让人抓狂。
很多时候,这是因为新系统的网络默认没有配置好。与需要手动指定IP、网关的静态IP不同,在绝大多数办公和家庭环境中,我们更希望系统能自动从路由器获取IP地址,也就是使用动态IP。这能省去我们手动维护IP地址的麻烦,避免地址冲突。
今天,这篇超详细的教程就将带你一步步搞定Linux下的动态IP配置。我们将介绍两种最主流的方法:有图形界面和纯命令行,总有一款适合你!
前置小知识:什么是DHCP?
简单来说,动态IP的背后是一个叫做DHCP(动态主机配置协议) 的协议在工作。你的路由器就扮演着DHCP服务器的角色,当你的Linux主机开机联网时,它会自动向路由器“喊话”:“我是新来的,谁能给我个地址上网?”。路由器听到后,就会分配一个可用的IP地址、子网掩码和网关给它。
所以,配置动态IP,本质上就是告诉你的网卡:“请使用DHCP自动获取配置”。

图形化界面配置(适合桌面版用户)
如果你使用的是Ubuntu、Fedora、CentOS Stream等带有图形界面的发行版,这个方法非常直观,就像在Windows里设置一样。
- 打开设置:点击屏幕右上角的网络图标,选择
有线设置或网络设置。 - 进入配置:在连接列表中找到你的有线连接(通常是“Wired”或“有线”),点击旁边的齿轮图标。
- 设置IPv4:在弹出的窗口中,切换到
IPv4选项卡。 - 选择自动(DHCP):在方法中,选择
自动(DHCP)。- (可选)如果你还需要设置DNS,可以将下面的
DNS开关关闭,然后手动添加DNS服务器,比如国内的114.114.114.114和8.8.8.8。但通常DHCP也会自动分配DNS。
- (可选)如果你还需要设置DNS,可以将下面的
- 应用:点击
应用按钮。 - 重新连接:返回网络设置页面,先将该网络连接关闭再打开,或者直接重启系统,让配置生效。
搞定! 现在你的网络就应该已经通过DHCP获取到IP地址了。
命令行配置(通用,适合服务器与高手)
对于服务器版或无图形界面的Linux,命令行是我们的唯一选择。这里我们分两种现代主流的配置工具来讲。
2.1 使用 Netplan(Ubuntu 18.04及以后版本、新版Debian)
Netplan是Ubuntu推出的新式网络配置工具,使用YAML格式的配置文件,非常清晰。
- 定位配置文件:Netplan的配置文件存放在
/etc/netplan/目录下,通常以.yaml结尾。bashls /etc/netplan/ # 可能会看到类似 01-netcfg.yaml 或 50-cloud-init.yaml 的文件 - 编辑配置文件:使用你喜欢的编辑器(如
sudo nano或sudo vim)编辑该文件。bashsudo nano /etc/netplan/01-netcfg.yaml - 写入动态IP配置:文件内容应该类似下面这样。核心是
dhcp4: true。yamlnetwork: version: 2 renderer: networkd # 或者 networkd, 服务器版常用networkd ethernets: ens33: # 这是你的网卡名称,请使用 `ip a` 命令查看你自己的 dhcp4: true注意:请务必将ens33替换为你自己机器的网卡名称! - 应用配置:这是最关键的一步,使用
netplan apply命令让配置生效。bashsudo netplan apply - 验证:使用
ip a命令查看你配置的网卡(如ens33),应该能看到它已经获取到了一个IP地址(类似192.168.1.x)。
2.2 使用 NetworkManager 的 nmcli 命令(RHEL, CentOS, Fedora, 也适用于Ubuntu)
如果你的系统使用NetworkManager,那么nmcli是一个非常强大的命令行工具。
- 查看当前连接:bashnmcli connection show找到你要修改的连接名称(NAME),比如
有线连接 1或Wired connection 1。 - 修改连接为自动IP:关键是将IPv4的方法改为
auto。bashsudo nmcli connection modify “有线连接 1” ipv4.method auto(同样,请替换连接名称为你自己的) - (可选)如果之前是静态IP,需要清除静态地址:bashsudo nmcli connection modify “有线连接 1” ipv4.addresses “” ipv4.gateway “” ipv4.dns “”
- 重启连接以生效:bashsudo nmcli connection down “有线连接 1” sudo nmcli connection up “有线连接 1”
- 验证:同样使用
ip a命令查看是否成功获取到IP。

常见问题排查(Q&A)
Q1:我执行了netplan apply,但还是没网怎么办?
A1:首先检查网卡名称是否正确。其次,可以尝试重启NetworkManager服务(sudo systemctl restart NetworkManager)或者直接重启系统。使用 journalctl -u NetworkManager 或 netplan --debug apply 查看详细日志。
Q2:如何知道我的网卡名称?
A2:使用 ip a 或 ls /sys/class/net 命令,通常以 ens, enp, eth 开头的就是你的有线网卡。
Q3:我想改回静态IP怎么办?
A3:过程类似,只需在Netplan中将 dhcp4: true 改为 false,并手动指定 addresses, gateway4 和 nameservers 即可。或者在nmcli中将 ipv4.method 设为 manual。
恭喜你!通过以上任何一种方法,你应该已经成功为你的Linux系统配置了动态IP。我们来快速回顾一下:
- 图形界面:最快最直观,在设置里找到IPv4,选择“自动(DHCP)”。
- Netplan:编辑
/etc/netplan/xx.yaml文件,设置dhcp4: true,然后sudo netplan apply。 - nmcli:使用
nmcli connection modify命令将ipv4.method设置为auto,然后重启连接。
掌握网络配置是玩转Linux的必备技能。希望这篇教程能帮你扫清障碍,让你的Linux之旅更加顺畅!