上一篇
物理机访问虚拟机站点
- 物理机
- 2025-07-27
- 2
实现物理机访问虚拟机站点,需确保二者处于同一内网,可将物理机的vmnet8网卡IP设为192.168.75.1,掩码255.255.255.0,并配置
虚拟机网络模式为NAT。
是关于物理机访问虚拟机站点的详细操作指南,涵盖不同网络模式下的配置步骤、关键设置要点及常见问题解决方案:
网络模式 | 适用场景 | IP分配方式 | 是否需要网关代理 | 典型虚拟交换机 |
---|---|---|---|---|
桥接模式 | 需要与物理网络直接通信(如局域网互访) | 独立IP(同属物理网段) | 否 | VMNET0 |
NAT模式 | 共享主机IP上网,适合快速搭建测试环境 | 私有子网内的动态/静态IP | 是(主机做NAT转发) | VMNET8 |
Host-Only | 仅主机与虚拟机内部通信 | 隔离的专用子网IP | 否 | VMNET1 |
桥接模式配置流程
-
启用桥接并检查连通性
- 在VMware中将虚拟机网络适配器改为“桥接模式”,关联到物理网卡对应的虚拟交换机(默认为VMNET0),此时虚拟机会获取与宿主机同一网段的IP地址,若宿主机IP是192.168.1.100,则虚拟机可能分配到192.168.1.x系列的地址。
- 通过
ipconfig
(Windows)或ifconfig
(Linux)命令确认虚拟机的实际IP,并在物理机上执行ping
测试以确保双向连通。
-
Web服务器权限开放
- 以Apache为例,需修改配置文件(如
httpd.conf
),将<Directory>
标签内的Require all local
改为Require all granted
,允许外部访问目录内容,保存后重启服务使生效。 - Linux系统若启用了防火墙(如firewalld或iptables),应添加允许HTTP流量的规则,执行以下命令开放80端口:
systemctl stop firewalld.service && systemctl disable firewalld.service yum install iptables-services && vi /etc/sysconfig/iptables
在文件中增加类似
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
的规则,并重启服务。
- 以Apache为例,需修改配置文件(如
-
DNS解析优化(可选)
- 编辑物理机的
C:\Windows\System32\drivers\etc\hosts
文件,添加条目将虚拟机域名映射到其IP,便于通过名称而非纯数字访问站点。
- 编辑物理机的
NAT模式部署要点
-
子网与DHCP规划
- 进入VMware菜单栏的“编辑→虚拟网络编辑器”,选择VMnet8网卡,设置子网掩码(如255.255.255.0)和可用IP池范围(推荐192.168.75.128~192.168.75.254),同时为宿主机的该接口手动指定静态IP作为网关,例如设为192.168.75.1。
- 确保虚拟机采用自动获取IP的方式,避免手动输入导致冲突。
-
端口映射与服务发布
NAT模式下,外部请求需经宿主机转发至虚拟机,可通过两种方式实现:一是直接使用虚拟机的内部IP从宿主机发起访问;二是配置端口转发规则,将特定端口的流量导向虚拟机,对于复杂应用,建议优先使用第一种方式简化操作。
-
SELinux兼容性处理
- 如果遇到连接被拒绝的情况,检查CentOS等系统的SELinux状态,修改
/etc/selinux/config
中的SELINUX=enforcing
为disabled
,然后重启系统以关闭强制访问控制机制。
- 如果遇到连接被拒绝的情况,检查CentOS等系统的SELinux状态,修改
Host-Only模式局限说明
此模式下虚拟机仅能与宿主机通信,无法接入外部网络,适用于完全隔离的开发调试场景,但不符合本需求目标,故不展开详述。
通用验证步骤
无论采用哪种模式,最终均需完成以下确认:
- 跨设备PING测试:从物理机向虚拟机发送ICMP包,确保基础网络层可达。
- 浏览器访问测试:在物理机的浏览器地址栏输入虚拟机的IP或绑定的域名,检查是否能正常加载网页资源,若出现空白页面或错误提示,可查看Web服务器日志定位问题。
- 防火墙状态核查:临时禁用防火墙排除干扰因素,逐步排查是否因安全策略阻挡导致失败。
FAQs
Q1: 为什么按照教程配置后仍然无法访问?
A: 常见原因包括:①虚拟机未正确获取IP(尝试重启网络服务);②防火墙未放行目标端口(检查iptables或firewalld规则);③Web服务器未监听来自外部的连接(确认配置文件中允许跨主机访问),建议按顺序排查上述环节。
Q2: NAT模式下如何让外网用户也能访问我的虚拟机站点?
A: 默认情况下NAT仅支持内网访问,如需暴露至公网,需在宿主机上做反向代理(如Nginx+Nginx反向代理模块),或者更改虚拟机网络为桥接模式并配置路由器端口映射,注意此举会增加安全风险,谨慎操作