Linux 虚拟机设置静态 IP 地址指南

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。

配置一次,永久生效(除非手动更改或重装系统)。


相关推荐
chlk12315 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑15 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件16 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒16 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes