VMware仅主机模式实战:构建高效Linux虚拟内网环境
为什么选择仅主机模式?
在开发测试环境中,我们经常需要模拟生产服务器的网络隔离场景。想象一下这样的情境:你正在开发一个分布式系统,需要多台服务器相互通信,但又不想让这些测试机器暴露在公共网络中。这时,VMware的仅主机模式(Host-Only)就成为了理想选择。
仅主机模式创建了一个封闭的网络环境,虚拟机之间可以自由通信,同时与外部网络完全隔离。这种模式特别适合以下场景:
- 安全敏感应用的开发和测试
- 需要模拟内网环境的分布式系统验证
- 网络协议和服务的实验性部署
- 需要稳定IP地址的持续集成环境
1. 环境准备与网络规划
1.1 硬件与软件需求
在开始配置前,请确保你的环境满足以下要求:
硬件配置建议:
- 主机至少8GB内存(运行多个虚拟机时建议16GB以上)
- 50GB以上可用磁盘空间
- 支持虚拟化的CPU(Intel VT-x或AMD-V)
软件准备清单:
- VMware Workstation Pro 15+或VMware Player
- CentOS 7/8或Ubuntu 18.04/20.04镜像文件
- SSH客户端(如PuTTY或MobaXterm)
1.2 网络拓扑设计
典型的仅主机模式网络拓扑如下:
[物理主机]
|
[VMnet1虚拟交换机]
|------- [虚拟机A]
|------- [虚拟机B]
|------- [...]
在这个架构中:
- 所有虚拟机通过VMnet1虚拟交换机连接
- 物理主机通过VMware Network Adapter VMnet1虚拟网卡与虚拟机通信
- 网络完全隔离,不连接外部互联网
1.3 IP地址规划表
为你的虚拟内网设计合理的IP分配方案:
| 设备类型 | IP范围 | 子网掩码 | 示例IP |
|---|---|---|---|
| 主机虚拟网卡 | 192.168.10.1 | 255.255.255.0 | 192.168.10.1 |
| 虚拟机1 | 192.168.10.2-254 | 255.255.255.0 | 192.168.10.10 |
| 虚拟机2 | 192.168.10.2-254 | 255.255.255.0 | 192.168.10.11 |
| ... | ... | ... | ... |
提示:建议使用C类私有地址段(192.168.x.x)以避免与公网IP冲突
2. VMware网络配置详解
2.1 配置虚拟网络编辑器
- 打开VMware,进入"编辑"→"虚拟网络编辑器"
- 选择"VMnet1"(仅主机模式对应的虚拟网络)
- 取消勾选"使用本地DHCP服务..."
- 设置子网IP为192.168.10.0,子网掩码255.255.255.0
- 点击"NAT设置",记下网关IP(通常为192.168.10.1)
# 查看主机上VMnet1网卡配置(Windows)
ipconfig /all
# Linux/macOS等效命令
ifconfig | grep -A 1 vmnet1
2.2 主机虚拟网卡配置
Windows系统配置步骤:
- 打开"网络连接"(Win+X → 网络连接)
- 右键"VMware Network Adapter VMnet1" → 属性
- 选择"Internet协议版本4(TCP/IPv4)" → 属性
- 设置静态IP:
- IP地址:192.168.10.1
- 子网掩码:255.255.255.0
- 默认网关:留空
- 确认保存
验证配置是否生效:
# PowerShell中测试网卡状态
Test-NetConnection -ComputerName 192.168.10.1 -Port 22
3. 虚拟机系统配置
3.1 CentOS 7静态IP配置
- 编辑网络配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改以下关键参数:
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=192.168.10.1
- 重启网络服务:
systemctl restart network
3.2 Ubuntu 20.04配置示例
使用netplan配置网络:
# 编辑配置文件
sudo vi /etc/netplan/00-installer-config.yaml
# 添加以下内容
network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses: [192.168.10.11/24]
gateway4: 192.168.10.1
nameservers:
addresses: [192.168.10.1]
应用配置:
sudo netplan apply
3.3 网络连通性测试
在虚拟机中执行以下测试命令:
# 测试网关连通性
ping 192.168.10.1 -c 4
# 测试DNS解析
nslookup google.com
# 查看路由表
ip route show
# 检查网络接口状态
ip addr show ens33
预期结果应该显示:
- 能够ping通网关(192.168.10.1)
- 与其他虚拟机IP互通
- 无法访问外部网络(这是正常现象)
4. 高级网络功能实现
4.1 跨虚拟机SSH互访配置
- 在所有虚拟机上安装SSH服务:
# CentOS
yum i
263



被折叠的 条评论
为什么被折叠?



