Ubuntu 如何设置固定 IP 地址
2026/10/23 13:49:23
前言
默认情况下,Ubuntu 使用 DHCP(动态主机配置 协议 )自动获取 IP 地址。这在日常使用中很方便,但在以下场景中,固定 IP 更为必要:
服务器部署:确保服务始终通过同一地址访问
局域网设备管理:方便远程 SSH 连接
端口映射/DNS 绑定:需要稳定的内网地址
集群环境:多台机器间需要固定的网络标识
注意:配置前请确保你选择的 IP 地址在局域网内可用,不会与其他设备冲突。
查看当前网络信息
在修改配置之前,先记录当前的网络信息,确保配置正确。
1. 查看网卡名称
或传统命令:
2. 查看当前 IP 和网关
ip addr showip route show
或
ifconfigroute -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 配置
以下是一个完整的配置示例,请根据你的实际情况修改:
YAML 语法注意:
严格使用空格缩进,不能用 Tab
冒号后面必须有一个空格
每行缩进建议 2 个空格
步骤 5:应用配置
保存文件后,执行以下命令:
请记住一定要确保配置无误再执行此命令,如果你写错了IP或配置,而且你是SSH连接到系统的,可能会导致你无法SSH,连不上服务器,这时就需要到机器旁物理机操作了,所以一定要慎而又慎!!!
如果配置有误,Netplan 会提示错误信息。
步骤 6:验证
方法二:修改 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 配置
步骤 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 使用 DHCP(动态主机配置 协议 )自动获取 IP 地址。这在日常使用中很方便,但在以下场景中,固定 IP 更为必要:
服务器部署:确保服务始终通过同一地址访问
局域网设备管理:方便远程 SSH 连接
端口映射/DNS 绑定:需要稳定的内网地址
集群环境:多台机器间需要固定的网络标识
注意:配置前请确保你选择的 IP 地址在局域网内可用,不会与其他设备冲突。
查看当前网络信息
在修改配置之前,先记录当前的网络信息,确保配置正确。
1. 查看网卡名称
- ip link show
- ifconfig -a
2. 查看当前 IP 和网关
ip addr showip route show
或
ifconfigroute -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
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
对于 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,这通常无效