VM中的虚拟机,只有本机能访问到,局域网的其他电脑无法访问

vm虚拟机,系统事centos 6.5
发现在tomcat发布项目之后,本机在浏览器上访问正常,但是同一局域网的其他电脑却无法连接
解决:
打开VM点击虚拟机–>设置–>硬件–>网络适配器–>选择桥接:直接连接到物理网络
在这里插入图片描述
设置好,重启虚拟机,局域网中的其他设备就可以访问了
在这里插入图片描述
在这里插入图片描述
手机和电脑同时连接的效果图

### 同一VM虚拟机互访配置方法 在同一虚拟化平台(如 VMware 或 VirtualBox)上实现虚拟机之间的相互访问,通常需要通过配置虚拟网络环境完成。以下是关于如何在这些平台上进行具体操作的内容。 #### 1. 使用 VMware 实现虚拟机间互访 在 VMware 中,可以通过 `Host-Only` 模式或自定义的 Team 功能来实现虚拟机间的通信[^3]。 - **Host-Only 模式**: 此模式下,虚拟机会被分配到一个独立的子网中,仅允许主机与虚拟机之间以及虚拟机彼此之间通信。这种模式不会提供对外部网络的访问能力。 - 需要在 VMware 的虚拟网络编辑器中启用 Host-Only 网络适配器,并确保每台虚拟机至少有一张网卡绑定至此适配器。 - **Team 功能 (高级)**: 如果希望创建更复杂的网络结构,则可以使用 VMware 提供的 Team 工具。它允许多个 Lan Segments 存在,每个 Segment 类似于一个独立的虚拟交换机。这样可以根据需求灵活设计不同的 LAN 连接方案,从而让某些特定组内的虚拟机能相互通信而不影响其他部分。 #### 2. 使用 VirtualBox 实现虚拟机间互访 对于 VirtualBox 用户来说,主要依赖内部网络(Internal Network)或者桥接(Bridged Adapter)[^2]: - **内部网络/Internal Network**: 创建了一个完全隔离的私有网络空间,在这里只有加入同一个 Internal Network 名称下的所有 VM 才能互相发现并建立联系。这种方法非常适合测试封闭环境下应用程序的行为表现。 ```bash VBoxManage modifyvm "VM_NAME" --nicX intnet --intnetX INTERNAL_NETWORK_NAME ``` 替换 `"VM_NAME"` 和 `INTERNAL_NETWORK_NAME` 成实际使用的名称;其中 X 表示第几号 NIC 卡编号。 - **Bridged Adapter/桥接模式**: 将各 guest OS 上的虚拟网卡映射到物理机器的真实硬件端口之上,使得它们看起来就像普通的局域网成员一样工作。此时只要保证常规 IP 地址规划合理即可达成目标[^4]。 无论采取哪种方式都需要注意以下几点事项: - 确认 Guest Additions 是否已正确安装以便更好地管理设备资源; - 设置静态IP地址而非动态获取以防冲突; - 开启防火墙例外规则以减少不必要的阻碍因素存在可能性。 ```python import socket def test_vm_connection(ip_address, port=80): try: sock = socket.create_connection((ip_address, port), timeout=5) print(f"Successfully connected to {ip_address} on port {port}") sock.close() except Exception as e: print(f"Failed to connect to {ip_address}: {e}") test_vm_connection('192.168.x.y') # Replace with actual target machine's address within the same subnet. ``` 上述脚本可用于初步验证两台虚拟机是否能够成功握手交流数据包情况。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值