Linux 虚拟机设置静态 IP 地址指南
- [🐧 Linux 虚拟机设置静态 IP 地址指南](#🐧 Linux 虚拟机设置静态 IP 地址指南)
-
- [✅ 一、准备工作](#✅ 一、准备工作)
-
- [1. 查看当前网络信息](#1. 查看当前网络信息)
- [2. 选择一个固定 IP](#2. 选择一个固定 IP)
- [✅ 二、根据发行版配置静态 IP](#✅ 二、根据发行版配置静态 IP)
-
- [▶ Ubuntu / Debian(使用 Netplan,Ubuntu 18.04+)](#▶ Ubuntu / Debian(使用 Netplan,Ubuntu 18.04+))
-
- [1. 编辑 Netplan 配置文件](#1. 编辑 Netplan 配置文件)
- [2. 写入以下内容(替换为你的实际值)](#2. 写入以下内容(替换为你的实际值))
- [3. 应用配置](#3. 应用配置)
- [▶ CentOS / Rocky Linux / RHEL 7/8/9(传统 network-scripts)](#▶ CentOS / Rocky Linux / RHEL 7/8/9(传统 network-scripts))
-
- [1. 编辑网卡配置文件](#1. 编辑网卡配置文件)
- [2. 修改为以下内容](#2. 修改为以下内容)
- [3. 重启网络服务](#3. 重启网络服务)
- [▶ 使用 NetworkManager(通用方法,支持图形/命令行)](#▶ 使用 NetworkManager(通用方法,支持图形/命令行))
- [✅ 三、验证配置是否生效](#✅ 三、验证配置是否生效)
- [⚠️ 四、注意事项](#⚠️ 四、注意事项)
- [📌 五、常见问题排查](#📌 五、常见问题排查)
- [✅ 六、总结](#✅ 六、总结)
🐧 Linux 虚拟机设置静态 IP 地址指南
适用于 VMware、VirtualBox 等虚拟化平台中的 Ubuntu、CentOS、Debian、Rocky Linux 等系统。
✅ 一、准备工作
1. 查看当前网络信息
bash
ip a # 查看网卡名称(如 ens33)和当前 IP
ip route show # 查看默认网关和子网
示例输出:
default via 192.168.228.1 dev ens33
192.168.228.0/24 dev ens33 ...
- 网卡名 :
ens33 - 网关 :
192.168.228.1 - 子网 :
192.168.228.0/24(即子网掩码255.255.255.0)
2. 选择一个固定 IP
- 在同一子网内(如
192.168.228.x) - 避开 DHCP 分配范围(例如选
.50~.100) - 确保不与其他设备冲突
💡 建议:
192.168.228.100
✅ 二、根据发行版配置静态 IP
▶ Ubuntu / Debian(使用 Netplan,Ubuntu 18.04+)
1. 编辑 Netplan 配置文件
bash
sudo nano /etc/netplan/00-installer-config.yaml
2. 写入以下内容(替换为你的实际值)
yaml
network:
version: 2
ethernets:
ens33: # 网卡名
dhcp4: no # 关闭 DHCP
addresses:
- 192.168.228.100/24 # 固定 IP + 子网掩码
routes:
- to: default
via: 192.168.228.1 # 网关
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
3. 应用配置
bash
sudo netplan apply
▶ CentOS / Rocky Linux / RHEL 7/8/9(传统 network-scripts)
1. 编辑网卡配置文件
bash
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
2. 修改为以下内容
ini
TYPE=Ethernet
BOOTPROTO=static # 改为 static
NAME=ens33
DEVICE=ens33
ONBOOT=yes # 开机自启
IPADDR=192.168.228.100
NETMASK=255.255.255.0
GATEWAY=192.168.228.1
DNS1=8.8.8.8
DNS2=114.114.114.114
3. 重启网络服务
bash
# CentOS 7
sudo systemctl restart network
# CentOS 8+/Rocky Linux(若使用 NetworkManager)
sudo nmcli con reload
sudo nmcli con down ens33 && sudo nmcli con up ens33
▶ 使用 NetworkManager(通用方法,支持图形/命令行)
bash
# 查看连接名
nmcli con show
# 修改连接(假设连接名为 "Wired connection 1")
sudo nmcli con mod "Wired connection 1" \
ipv4.method manual \
ipv4.addresses 192.168.228.100/24 \
ipv4.gateway 192.168.228.1 \
ipv4.dns "8.8.8.8,114.114.114.114"
# 重启连接
sudo nmcli con down "Wired connection 1"
sudo nmcli con up "Wired connection 1"
✅ 三、验证配置是否生效
bash
# 1. 检查 IP
ip a show ens33
# 2. 检查路由
ip route show
# 3. 测试连通性
ping -c 3 192.168.228.1 # 网关
ping -c 3 8.8.8.8 # 外网
ping www.baidu.com # DNS 解析
⚠️ 四、注意事项
| 项目 | 说明 |
|---|---|
| IP 冲突 | 确保所选 IP 未被其他设备使用 |
| 虚拟化模式 | VMware/VirtualBox 建议使用 NAT 或桥接模式 |
| DHCP 范围 | 在 VMware 中可通过「编辑 → 虚拟网络编辑器」查看 DHCP 范围,避开它 |
| 云服务器 | 阿里云、AWS 等需通过控制台分配固定私有 IP,不可随意修改 |
| 重启测试 | 务必重启虚拟机验证 IP 是否保持不变 |
📌 五、常见问题排查
- "Network is unreachable" → 检查网关和默认路由是否存在
- 能 ping IP 但不能解析域名 → 检查
/etc/resolv.conf或 DNS 配置 - 重启后 IP 又变回 DHCP → 配置未持久化,请确认修改的是系统配置文件,而非临时命令
✅ 六、总结
通过 关闭 DHCP + 手动指定 IP/网关/DNS ,即可让 Linux 虚拟机拥有固定 IP。
配置一次,永久生效(除非手动更改或重装系统)。