我有以下我认为不寻常的设置:
- RedHat 虚拟化管理器和主机托管在同一硬件上,并使用同一硬件。管理器是双宿主的:一个虚拟网卡用于内部网络(主机和管理器之间),另一个网卡用于与外部世界的连接。
- 客户端应该通过简单的 VPN 连接到其专用的虚拟桌面
- 由于选择的是 spice 而不是 RDP 或 VNC,来自最终用户的传入连接请求针对的是特定端口上的主机(RHEL 虚拟化主机)。
- 来自最终用户的连接请求首先经过管理器(RHEL 虚拟化管理器),然后到达主机,但从未成功。
- 两台服务器上都启用了路由/数据包转发。
因此我得出了以下发现:
- 从连接的最终用户到主机的简单 ping 操作失败:数据包“ICMP 回应请求”正确到达主机,并且相应的“ICMP 回应答复”也在那里,但是
- 即使在管理器中也看不到“ICMP 回显答复”,就像是丢失在某个地方一样/我检查了 ovirtmgmt 接口配置,但没有任何信息能给我提供哪怕是一点提示。
- 检查了管理器和主机上的 iptables 规则...但没有结果。
- 从主机到管理器的 ping 操作和从管理器到主机的 ping 操作均成功,因此两者之间的通信正常。Spice VM 甚至可以在局域网内访问。
如果有人能给我一些关于如何解决这个问题的提示,我将不胜感激。谢谢。祝大家安全。
答案1
以防万一有人遇到同样的问题。根据设计,管理器/引擎不允许来自外部网络(即:其自身子网之外)的传入连接通过。为了解决这个问题,需要一个 Spice 代理。因此,在实施代理(在这种情况下必须有 2 个 NIC - 外部和内部网络)并让引擎知道这种代理的存在后,问题就解决了。