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。

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


相关推荐
科技块儿2 小时前
如何选择合适的IP查询工具?精准度与更新频率全面分析
网络·tcp/ip·安全
晚风_END2 小时前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构
嵌入小生0072 小时前
Standard IO -- Continuation of Core Function Interfaces (Embedded Linux)
linux·vim·嵌入式·标准io·vscode
Zach_yuan2 小时前
传输层之TCP/UDP 核心原理全解析:从协议基础到实战机制
linux·网络协议·tcp/ip·udp
独自归家的兔2 小时前
Ubuntu 系统 systemd timers 详解:替代 crontab 的定时任务进阶方案
linux·运维·ubuntu
Lsir10110_2 小时前
【Linux】深入解剖页表——分页式存储
linux·运维·服务器
victory04312 小时前
服务器病毒处理记录
运维·服务器·chrome
爱吃生蚝的于勒2 小时前
【Linux】线程概念(一)
java·linux·运维·服务器·开发语言·数据结构·vim
风指引着方向2 小时前
昇腾 AI 开发生产力工具:CANN CLI 的高级使用与自动化脚本编写
运维·人工智能·自动化
fengyehongWorld3 小时前
Linux yq命令
linux·运维·服务器