配置虚拟机IP的核心原则只有一句话:先搞清楚虚拟机的网络模式,再根据模式对应的网段设置地址,最后验证连通性。 很多人在这上面栽跟头,不是不会敲命令,而是压根没弄明白 NAT、桥接和仅主机模式的区别,接下来我会把从判断模式到最终验证的完整流程拆开揉碎,每一步都给出可以直接照做的操作。
动手前必须搞懂的三种网络模式
虚拟机里的网卡不像物理机那样插上就能用,它虚拟出来的网卡必须通过宿主机的虚拟交换机(VMnet)才能和外网通信。业界常见的虚拟化平台(如VMware、VirtualBox)都默认提供三种模式,每种模式对应不同的IP分配逻辑。
NAT模式:最省心的上网方式
NAT模式下,虚拟机通过宿主机共享IP地址访问外网,宿主机上会生成一个虚拟网卡(VMnet8),虚拟机和这个网卡处于同一网段,比如VMware的默认NAT网段通常是168.x.0/24,网关就是VMnet8的地址(一般是168.x.2)。
- 特点:虚拟机可以上网,但外部设备无法直接访问虚拟机。
- 适合:日常实验、爬虫脚本、多开服务等场景。
- 瓶颈:得益于NAT机制,你从物理机访问虚拟机的服务时,需要额外做端口转发。
桥接模式最接近物理机的状态
桥接模式下,虚拟机直接连接到宿主机所在的物理局域网,它不再通过宿主机转发,而是像一台独立电脑一样向路由器请求IP,和宿主机在网络中是并列地位。
- 特点:既能访问外网,也能被局域网内其他设备直接访问。
- 适合:搭建网站服务器、部署局域网测试环境、模拟真实组网。
- 注意事项:如果宿主机所在的WiFi或交换机开启了AP隔离,桥接模式下虚拟机可能无法正常上网,行业共识认为,桥接模式对网络环境要求最高,出现问题也最多。
仅主机模式:隔离环境专用
仅主机模式把虚拟机和宿主机之间建立了一条私有链路(VMnet1),虚拟机无法访问外网,只能和宿主机通信。
- 特点:安全隔离,适合恶意软件分析、病毒样本测试等场景。
- 局限:若需要联网,必须配合双网卡配置或在宿主机上开Internet连接共享。
虚拟机怎么设置IP?分模式实操步骤
确定模式后,配置IP就是水到渠成的事,下面分两个层面讲:怎么在宿主机上查网段,以及怎么在系统里填地址。
第一步:在虚拟平台里查看网络设置
VMware Workstation 具体操作路径:
- 点击菜单栏的“编辑” → “虚拟网络编辑器”。
- 查看右上角的“VMnet信息”,表格里会明确标注“NAT模式”或“仅主机模式”。
- 选中VMnet8(NAT)后,下方会显示子网IP和子网掩码。记下这个网段和网关,它是后面填IP的依据,如果你手动改过子网IP,虚拟机的地址必须跟着改。
VirtualBox 的操作逻辑:
- 选中虚拟机 → 右键“设置” → “网络”。
- 在“连接方式”下拉框里选择“网络地址转换(NAT)”、“桥接网卡”或“仅主机(Host-Only)适配器”。
- 若选桥接,注意“名称”栏必须选对宿主机正在使用的物理网卡(比如Realtek PCIe GbE),选错了就等于没插网线。
第二步:Windows虚拟机里的配置流程
假设你用的是NAT模式,且子网是168.110.0/24,网关是168.110.2,此时虚拟机的IP需要手动指定在168.110.100~168.110.200之间,避免和DHCP分配池冲突。
手动配置步骤:
- 打开控制面板 → 网络和Internet → 网络和共享中心 → 更改适配器设置。
- 右键“以太网” → 属性 → 双击“Internet 协议版本 4 (TCP/IPv4)”。
- 选择“使用下面的IP地址”,填入:
- IP地址:
168.110.150 - 子网掩码:
255.255.0 - 默认网关:
168.110.2
- IP地址:
- 下方“使用下面的DNS服务器地址”填
168.110.2(如果解析出问题,再换成5.5.5)。 - 确定后打开命令提示符,输入
ipconfig,确认地址已生效。
第三步:Linux虚拟机命令行配置
如果在Ubuntu或CentOS里配置,推荐用nmcli(NetworkManager命令行工具),比直接改配置文件更省事且不易出错。
Ubuntu 20.04+ 或 CentOS 8+ 操作示例:
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.110.150/24 ipv4.gateway 192.168.110.2 ipv4.dns 192.168.110.2 nmcli connection up ens33
然后执行ip addr show ens33验证,如果看到state UP且inet地址是你要的168.110.150,那就算成功了。
如果系统里没有nmcli,可以编辑/etc/network/interfaces(Debian系)或/etc/sysconfig/network-scripts/ifcfg-ens33(RHEL系),改完重启网络服务即可。
NAT模式网络怎么配置能稳定不掉线?
NAT模式虽然省心,但偶尔也会出现“明明IP是对的,就是ping不通网关”的情况,这时候优先级是:先排查宿主机防火墙,再检查虚拟网络编辑器里的DHCP服务是否绑定失效。
| 常见故障 | 排查方向 | 解决动作 |
|---|---|---|
| 虚拟机ping不通宿主机 | 宿主机防火墙拦截 | 临时关闭Windows Defender防火墙测试 |
| 能ping网关但上不了网 | DNS设置错误 | 手动指定公用DNS 5.5.5 |
| 重启虚拟机后IP变化 | DHCP分配不稳定 | 在虚拟网络编辑器里设置DHCP地址保留 |
| 桥接模式下无网络 | 物理网卡选错或WiFi隔离 | 换用网线连接,或改用NAT模式 |
| 仅主机模式ping不通宿主机 | VMware服务未启动 | 在“服务”里重启VMware NAT Service |
让NAT模式IP固定的最佳办法:在虚拟网络编辑器里关掉DHCP,完全用静态地址,步骤是“编辑” → “虚拟网络编辑器” → 选中VMnet8 → 点击“DHCP设置”,把起始地址和结束地址改成都指向你指定的IP,或者在虚拟机里直接配置静态地址并禁用DHCP客户端。
桥接模式设置的核心技巧与验证方法
桥接模式的IP配置逻辑最直观,但坑也最多。虚拟机的网关和DNS必须和宿主机完全一致,子网掩码也一样,否则即使IP在同一网段也无法通信。
找对宿主机当前网段
在宿主机上打开命令提示符,输入ipconfig,找到“无线局域网适配器 WLAN”或“以太网适配器”下的IPv4地址、网关和DNS,把这三个数值记下来,然后在虚拟机里设置相同的值,仅将IP地址最后一段改成其他数字(比如宿主机是168.1.5,虚拟机就填168.1.66)。
验证桥接是否成功
配置完不要急着关设置窗口,先做三件事:
- ping网关:
ping 192.168.1.1,能通说明本地链路没问题。 - ping宿主机:
ping 192.168.1.5,能通说明虚拟交换机工作正常。 - ping外网:
ping baidu.com,能通说明DNS和路由全部正常。
如果前两个通但第三个不通,把DNS改成114.114.114再试,据工信部发布的网络状况报告显示,国内公共DNS的解析成功率常年保持高位,排除DNS后基本就是路由器拨号或运营商问题。
仅主机模式的地址规划
仅主机模式只需要管好VMnet1网段,官方默认是168.137.0/24,但不同版本可能不同,这个模式下虚拟机无法上网是正常的,要做的只是让虚拟机和宿主机VMnet1的IP处于同一网段,比如宿主机VMnet1是168.137.1,虚拟机就配168.137.50,不需要配网关,也不需要配DNS,配了也是多余。
如何高效验证配置是否生效?
配置完IP,最忌讳的就是“改完就忘”,建议按以下顺序做全面检查:
- 在虚拟机里ping网关地址先确认二层和三层的连通性。
- 在宿主机里ping虚拟机IP这步能排除虚拟机防火墙拦截入站连接的可能。
- 在虚拟机里ping宿主机虚拟网卡IP若失败,检查虚拟网络编辑器的“应用”按钮是否真正生效。
- 浏览器访问外网若打不开页面,但ping外网IP通,那问题一定出在DNS解析。
- 跨物理机远程连接测试尤其针对桥接模式,可用手机连同一WiFi,用SSH或远程桌面尝试连接虚拟机IP。
相关问题解答
虚拟机IP设置成什么不会被冲突?
和宿主机同网段的空闲地址即可。最稳的做法是避开DHCP自动分配的范围,手动指一个较高或较低的地址,例如宿主机的DHCP范围是168.1.100到168.1.199,那么虚拟机就设168.1.88或168.1.222,如果使用静态IP后仍提示冲突,说明同网段另有设备占用了该地址,可把IP改为其他值并重启网络。
虚拟机里ip addr显示的IP和配置的不一样?
多数情况是NetworkManager接管了配置,你手动改的网卡配置文件没生效,解决办法是在图形界面左上角点击网络图标,选择“有线设置”,在IPv4标签下切换为“手动”,重新输入地址,或者直接用nmcli c reload刷新,若用Debian系系统,检查/etc/network/interfaces里是否也定义了同一网卡的静态配置,两个配置来源会互相打架,以最后一个加载的为准。
NAT模式下固定IP没法访问外部网络服务?
NAT模式天然不对外开放,如果要从物理机或局域网访问虚拟机里的服务(例如Tomcat网页),必须在虚拟网络编辑器里设置端口转发。填写主机端口和虚拟机端口,映射的目标地址就是虚拟机的内网IP,转发配置完成后,访问宿主机IP:主机端口就能跳到虚拟机的服务端口上。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/929058.html


评论列表(2条)
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是模式部分,给了我很多新的思路。感谢分享这么好的内容!
@月月3401:读了这篇文章,我深有感触。作者对模式的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!