/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
Ubuntu 设置固定 IP 地址完全指南
在服务器环境或局域网管理中,为 Ubuntu 配置静态 IP 是常见且必要的操作。本文将详细介绍从 Ubuntu 18.04 到最新版本的配置方法,涵盖桌面版和服务器版。
🚨 警告 本文由AI生成,本意为部分常见问题的笔记,作者已微调部分内容,方法一已经过实操测试,如若参考本博客,请谨慎操作自己的系统!尤其是生产环境,请慎之又慎!!!
目录
前言
默认情况下,Ubuntu 使用 DHCP(动态主机配置协议)自动获取 IP 地址。这在日常使用中很方便,但在以下场景中,固定 IP 更为必要:
- 🖥️ 服务器部署:确保服务始终通过同一地址访问
- 🏠 局域网设备管理:方便远程 SSH 连接
- 🌐 端口映射/DNS 绑定:需要稳定的内网地址
- 🔧 集群环境:多台机器间需要固定的网络标识
注意:配置前请确保你选择的 IP 地址在局域网内可用,不会与其他设备冲突。
查看当前网络信息
在修改配置之前,先记录当前的网络信息,确保配置正确。
1. 查看网卡名称
ip link show
或传统命令:
ifconfig -a
你会看到类似 eth0、ens33、enp0s3 的网卡名称。记下你的网卡名,后续配置需要用到。
2. 查看当前 IP 和网关
ip addr show
ip route show
或:
ifconfig
route -n
3. 查看 DNS 服务器
systemd-resolve –status
或查看 resolv.conf:
cat /etc/resolv.conf
你需要记录的信息:
- 网卡名称(如 ens33)
- 当前 IP 地址(如 192.168.1.100)
- 子网掩码/前缀(如 /24)
- 网关地址(如 192.168.1.1)
- DNS 服务器(如 8.8.8.8, 114.114.114.114)
方法一:使用 Netplan(推荐,Ubuntu 18.04+)
从 Ubuntu 18.04 LTS 开始,Ubuntu 引入了 Netplan 作为默认的网络配置工具。它使用 YAML 格式的配置文件,语法简洁清晰。
步骤 1:定位配置文件
Netplan 的配置文件位于 /etc/netplan/ 目录下,通常文件名类似:
- 00-installer-config.yaml(服务器版)
- 01-network-manager-all.yaml(桌面版)
- 50-cloud-init.yaml(云服务器)
ls /etc/netplan/
步骤 2:备份原配置
重要! 修改前务必备份:
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
步骤 3:编辑配置文件
sudo nano /etc/netplan/00-installer-config.yaml
步骤 4:写入静态 IP 配置
以下是一个完整的配置示例,请根据你的实际情况修改:
network:
version: 2
renderer: networkd # 服务器版使用 networkd,桌面版可改为 NetworkManager
ethernets:
ens33: # ⚠️ 替换为你的网卡名称
dhcp4: no # 关闭 DHCP
addresses:
– 192.168.1.100/24 # ⚠️ 替换为你的静态 IP 和子网前缀
routes:
– to: default
via: 192.168.1.1 # ⚠️ 替换为你的网关地址
nameservers:
addresses:
– 8.8.8.8 # Google DNS
– 114.114.114.114 # 国内 DNS
search:
– localdomain
配置参数说明
| ens33 | 你的网卡名称 | eth0, enp0s3 |
| dhcp4: no | 关闭 IPv4 的 DHCP | no 或 yes |
| addresses | 静态 IP 地址列表 | 192.168.1.100/24 |
| routes → via | 默认网关 | 192.168.1.1 |
| nameservers | DNS 服务器地址 | 8.8.8.8 |
YAML 语法注意:
- 严格使用空格缩进,不能用 Tab
- 冒号后面必须有一个空格
- 每行缩进建议 2 个空格
步骤 5:应用配置
保存文件后,执行以下命令:
sudo netplan apply
请记住一定要确保配置无误再执行此命令,如果你写错了IP或配置,而且你是SSH连接到系统的,可能会导致你无法SSH,连不上服务器,这时就需要到机器旁物理机操作了,所以一定要慎而又慎!!!
如果配置有误,Netplan 会提示错误信息。
步骤 6:验证
ip addr show ens33
ip route show
ping -c 4 8.8.8.8
方法二:修改 interfaces 文件(Ubuntu 16.04 及更早版本)
对于 Ubuntu 16.04 LTS 及更早版本,使用 /etc/network/interfaces 文件进行配置。
步骤 1:备份原文件
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
步骤 2:编辑配置文件
sudo nano /etc/network/interfaces
步骤 3:添加静态 IP 配置
# 回环接口(保持默认)
auto lo
iface lo inet loopback
# 主网卡配置
auto eth0 # ⚠️ 替换为你的网卡名称
iface eth0 inet static
address 192.168.1.100 # 静态 IP
netmask 255.255.255.0 # 子网掩码
gateway 192.168.1.1 # 默认网关
dns-nameservers 8.8.8.8 114.114.114.114 # DNS 服务器
步骤 4:重启网络服务
sudo systemctl restart networking
或:
sudo /etc/init.d/networking restart
方法三:图形界面设置(桌面版)
如果你使用的是 Ubuntu 桌面版,可以通过 GUI 快速设置:
步骤 1:打开网络设置
步骤 2:配置有线连接
- 地址:192.168.1.100
- 子网掩码:255.255.255.0 或 24
- 网关:192.168.1.1
验证配置
无论使用哪种方法,配置完成后都应验证:
1. 检查 IP 地址
ip addr show
确认你的网卡显示了配置的静态 IP。
2. 测试网关连通性
ping 192.168.1.1 # 替换为你的网关
3. 测试外网连通性
ping -c 4 8.8.8.8
ping -c 4 www.baidu.com
4. 检查 DNS 解析
nslookup www.baidu.com
5. 查看路由表
ip route show
常见问题排查
❌ 问题 1:netplan apply 报错
现象:Invalid YAML 或缩进错误
解决:
- 检查 YAML 缩进是否为空格,不能用 Tab
- 冒号后是否有空格
- 使用在线 YAML 校验工具检查语法
# 检查 YAML 语法
python3 -c "import yaml; yaml.safe_load(open('/etc/netplan/00-installer-config.yaml'))"
❌ 问题 2:配置后无法联网
排查步骤:
sudo cp /etc/netplan/00-installer-config.yaml.bak /etc/netplan/00-installer-config.yaml
sudo netplan apply
❌ 问题 3:DNS 无法解析
解决:确保 nameservers 配置正确,或手动修改:
sudo nano /etc/resolv.conf
# 添加
nameserver 8.8.8.8
nameserver 114.114.114.114
注意:如果使用 systemd-resolved,应修改 Netplan 中的 nameservers 配置。
❌ 问题 4:云服务器配置后不生效
原因:云服务器(如阿里云、腾讯云)通常有安全组或 VPC 网络限制。
解决:
- 在云平台控制台中配置弹性公网 IP 或修改私有网络设置
- 不要直接在系统内修改公网 IP,这通常无效
总结
| Ubuntu 18.04+ / 20.04 / 22.04 / 24.04 | Netplan | /etc/netplan/*.yaml |
| Ubuntu 16.04 及更早 | interfaces | /etc/network/interfaces |
| 桌面版(所有版本) | GUI 设置 | 系统设置 → 网络 |
快速参考命令
# 查看网卡
ip link show
# 查看 IP
ip addr show
# Netplan 应用
sudo netplan apply
# 网络服务重启(旧版)
sudo systemctl restart networking
📌 提示:如果你在配置过程中遇到问题,欢迎在评论区留言,我会尽力帮助解决!
🔗 相关阅读:
- Ubuntu 官方 Netplan 文档
- YAML 语法入门



