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。

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


相关推荐
晚晶21 小时前
[C++/流媒体/tcp/rtsp]构建一个简单的流媒体转发服务器,用于将rtsp推流转发出去
服务器·c++·tcp/ip·流媒体·转发·rtsp
翼龙云_cloud21 小时前
阿里云渠道商:在更换阿里云 GPU 公网 IP 时,如何确保数据的安全性?
运维·服务器·tcp/ip·阿里云·云计算
Ghost Face...21 小时前
DQ与DQS相位关系详解:为什么是90°?
linux
爱喝水的鱼丶21 小时前
SAP-ABAP:通过接口创建生产订单报“没有工艺路线选中”错误解决办法详解
运维·开发语言·sap·abap·bapi·生产订单
山川而川-R1 天前
在香橙派5pro上的ubuntu22.04系统烧录镜像_2_12.23
linux·运维·服务器
DeeplyMind1 天前
linux drm子系统技术分析目录表
linux·驱动开发·drm
Howrun7771 天前
Linux Makefile 完全教学:从入门到精通
linux·服务器
Run_Teenage1 天前
Linux:进程程序替换
linux·运维·服务器
多想和从前一样1 天前
Linux 中安装 Miniconda
linux·服务器·miniconda
学习3人组1 天前
docker run 命令详解
运维·docker·容器