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。

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


相关推荐
q***04052 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
草莓熊Lotso3 小时前
C++ 抽象类与多态原理深度解析:从纯虚函数到虚表机制(附高频面试题)
java·运维·服务器·开发语言·c++·人工智能·笔记
q***96583 小时前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
4t4run3 小时前
16、Linux常用命令-vim 文本编辑
linux·vim
剑动山河3 小时前
ubuntu 22.04 升级openssh默认版本8.9p1 到10.1p1
linux·ubuntu
huangyuchi.3 小时前
【Linux网络】基于UDP的Socket编程,实现简单聊天室
linux·网络·udp·网络通信·c/c++·socket编程·简单聊天室
egoist20233 小时前
[linux仓库]多线程同步:基于POSIX信号量实现生产者-消费者模型[线程·柒]
linux·运维·生产者消费者模型·环形队列·system v信号量
DeeplyMind3 小时前
linux drm子系统专栏介绍
linux·驱动开发·ai·drm·amdgpu·kfd
艾莉丝努力练剑4 小时前
【Linux基础开发工具 (二)】详解Linux文本编辑器:Vim从入门到精通——完整教程与实战指南(上)
linux·运维·服务器·人工智能·ubuntu·centos·vim