




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

如果你使用的是Ubuntu、Fedora、CentOS Stream等带有图形界面的发行版,这个方法非常直观,就像在Windows里设置一样。
有线设置 或 网络设置。IPv4 选项卡。自动(DHCP)。
DNS开关关闭,然后手动添加DNS服务器,比如国内的114.114.114.114和8.8.8.8。但通常DHCP也会自动分配DNS。应用 按钮。搞定! 现在你的网络就应该已经通过DHCP获取到IP地址了。
对于服务器版或无图形界面的Linux,命令行是我们的唯一选择。这里我们分两种现代主流的配置工具来讲。
Netplan(Ubuntu 18.04及以后版本、新版Debian)Netplan是Ubuntu推出的新式网络配置工具,使用YAML格式的配置文件,非常清晰。
/etc/netplan/ 目录下,通常以 .yaml 结尾。bashls /etc/netplan/ # 可能会看到类似 01-netcfg.yaml 或 50-cloud-init.yaml 的文件sudo nano或sudo vim)编辑该文件。bashsudo nano /etc/netplan/01-netcfg.yamldhcp4: true。yamlnetwork: version: 2 renderer: networkd # 或者 networkd, 服务器版常用networkd ethernets: ens33: # 这是你的网卡名称,请使用 `ip a` 命令查看你自己的 dhcp4: true注意:请务必将 ens33 替换为你自己机器的网卡名称!netplan apply命令让配置生效。bashsudo netplan applyip a 命令查看你配置的网卡(如ens33),应该能看到它已经获取到了一个IP地址(类似 192.168.1.x)。NetworkManager 的 nmcli 命令(RHEL, CentOS, Fedora, 也适用于Ubuntu)如果你的系统使用NetworkManager,那么nmcli是一个非常强大的命令行工具。
有线连接 1 或 Wired connection 1。auto。bashsudo nmcli connection modify "有线连接 1" ipv4.method auto(同样,请替换连接名称为你自己的)ip a 命令查看是否成功获取到IP。
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。我们来快速回顾一下:
/etc/netplan/xx.yaml 文件,设置 dhcp4: true,然后 sudo netplan apply。nmcli connection modify 命令将 ipv4.method 设置为 auto,然后重启连接。掌握网络配置是玩转Linux的必备技能。希望这篇教程能帮你扫清障碍,让你的Linux之旅更加顺畅!
