请教一个如何配置局域网固定机器与虚拟机互访的问题

2020-12-21 11:05:26 +08:00
 flamhaze5946

我有两台物理机 AB, A 用作便携式虚拟机集群, B 用作互联网提供端.

A 是 Win10 系统, 通过 Hyper-V 虚拟若干台在同一内部交换机 192.168.20.0/24 的虚拟机, A 作为其网关, 地址为 192.168.20.1

A 有一张物理网卡, 它是网口网卡, 用于连接 B 实现互访, 地址为 192.168.15.2/24, 网关设置为 192.168.15.1/24.

B 是 Windows 或 Mac 系统, 有两张物理网卡, 一张是无线网卡用于连接互联网, 一张是网口网卡用于连接 A, 地址是 192.168.15.1/24, 系统配置无线网卡将网络共享给网口网卡.

B 设置了 route 192.168.20.0 mask 255.255.255.0 192.168.15.2 A 设置了 route 192.168.10.0 mask 255.255.255.0 192.168.15.1

以上设置后 A 中虚拟机能够 ping 通 B, 但是 B 并不能 ping 通 A 中的虚拟机. 在 A 中 ping -S 192.168.15.2 192.168.20.1 也不能 ping 通.

请问下这种场景有什么好的解决方案吗???谢谢啦!

2256 次点击
所在节点    宽带症候群
24 条回复
flamhaze5946
2020-12-23 10:15:38 +08:00
@cpstar
公司机器禁止了 ICMP 协议的包处理, 但是 A 可以访问到 B 上启的 HTTP 服务, 所以请求肯定是到了 15.1 的, 但是 ping 192.168.20.0/24 虚拟机是 ping 不通的, 所以我认为是路由转发功能也被禁止了, 不知道有没有什么方法看路由的转发过程.

A 是有路由转发的, 因为 B 可以 ping 通 A 上的虚拟机.
cpstar
2020-12-23 10:36:08 +08:00
ICMP 被禁了,那还 ping 个什么劲。但 B 能到 A-sub 的 ping,那你说的不对,ICMP 没有被禁用。到底是啥??

B 上的 HTTP 服务,我理解应该指的是 B 上本机启动的 HTTP,或者 15.1 做的 NAT 转换出 20.x 的 HTTP 。所以,数据包只到达了 15.1,而没有继续往里走。所以还是 B 上没有启动数据包转发。

A-sub --o--> A --o--> B --x--> B-sub,问题出在哪还不明显么?
flamhaze5946
2020-12-24 11:48:10 +08:00
@cpstar
B 被禁止相应 ICMP 的请求, 所以 B 能 ping 通 A, 但是 A 不能 ping 通 B

是的, 虽然我设置了 forwarding=1, 但是转发仍然没有生效.

所以我现在给 A 加了个 NAT 网关, 每个虚拟机都有两张网卡, 一张用来管理, 一张用来上网, 目前是解决了...
flamhaze5946
2020-12-24 11:48:45 +08:00
@flamhaze5946

相应 -> 响应

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/737411

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX