Ubuntu 设置固定 IP 地址完全指南

Ubuntu 设置固定 IP 地址完全指南

在服务器环境或局域网管理中,为 Ubuntu 配置静态 IP 是常见且必要的操作。本文将详细介绍从 Ubuntu 18.04 到最新版本的配置方法,涵盖桌面版和服务器版。

🚨 警告

本文由AI生成,本意为部分常见问题的笔记,作者已微调部分内容,方法一已经过实操测试,如若参考本博客,请谨慎操作自己的系统!尤其是生产环境,请慎之又慎!!!

目录

前言

查看当前网络信息

方法一:使用 Netplan(推荐,Ubuntu 18.04+)

方法二:修改 interfaces 文件(Ubuntu 16.04 及更早版本)

方法三:图形界面设置(桌面版)

验证配置

常见问题排查

总结

前言

默认情况下,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 try

此命令会在 120 秒内测试配置,如果期间没有确认,会自动回滚。如果没有问题,执行以下命令应用配置,请记住一定要确保配置无误再执行此命令,如果你写错了IP或配置,而且你是SSH连接到系统的,可能会导致你无法SSH,连不上服务器,这时就需要到机器旁物理机操作了,所以一定要慎而又慎!!!

sudo netplan apply

如果配置有误,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:打开网络设置

点击右上角网络图标

选择 "设置"(Settings)

点击左侧 "网络"(Network)

步骤 2:配置有线连接

在 "有线连接"(Wired)旁点击齿轮图标 ⚙️

切换到 "IPv4" 标签页

将 "IPv4 方式" 改为 "手动"(Manual)

点击 "添加"(Add)填入:

地址:192.168.1.100

子网掩码:255.255.255.0 或 24

网关:192.168.1.1

在 DNS 栏填入:8.8.8.8, 114.114.114.114

点击右上角 "应用"(Apply)

关闭再重新打开有线连接,或重启电脑

验证配置

无论使用哪种方法,配置完成后都应验证:

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:配置后无法联网

排查步骤:

检查 IP 是否冲突:ping 一下你设置的 IP,看是否有其他设备回应

检查网关是否正确:确认路由器地址

检查网线/WiFi 连接

回滚配置:

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 版本

推荐方法

配置文件位置

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 语法入门

【中国香港】中年好声音4:追梦人迎接登峯之战 香港
南怀瑾先生:“疏不间亲”的处世经验