我在DMZ中有两台ESX 3.5服务器。 我可以通过VPN从我的局域网的任何端口访问这些服务器。 DMZ中的服务器无法启动连接回局域网,原因很明显。 我的局域网上有一台vCenter服务器,可以初始连接到ESX服务器。 但是,ESX服务器尝试在UDP / 902上发送心跳回到vCenter服务器 – 显然这不会返回到vCenter服务器,然后标记ESX服务器没有响应和断开连接。
我可以想到两个广泛的解决scheme:
1)尝试告诉vCenter忽略没有获取心跳。 我能做的最好的是延迟断开3分钟。
2)尝试一些聪明的networking解决scheme。 但是,我又一次亏损了。
注意:vCenter服务器位于局域网上,不能被赋予公有IP,因此防火墙规则将不起作用。 另外,我不能设置从DMZ到LAN的VPN。
**我添加了以下内容,我添加到评论中的解释
好的,也许这是我不太好解释的一点。 DMZ位于远程站点上,是一个完全独立的networking(networking1)。 vCenter服务器位于我们的办公室LAN(networking2)上。 networking2可以连接到networking1上的任何端口上的任何机器。但是networking1不允许发起到networking2的连接。从networking1发往networking2的任何stream量都被防火墙丢弃,可路由地址。 我能想到的唯一解决scheme是从networking1到networking2build立一个VPN,但这是不可接受的。
那么任何聪明的人都有什么想法?
Ĵ
James,为什么不在远程位置configurationESX主机,以使其guest虚拟机在DMZ中,但是ESX服务控制台等在后台子网中,您可以build立一个VPN? 这样,您的主机就可以与networking连接隔离(一件好事),但您的客人可以继续正面操作。
至于远程站点的问题…你真的需要一个站点到站点的VPN链接在你的内部局域网和远程(非DMZ,如果可能的话)子网之间进行。
您的防火墙不允许将端口从特定IP(ESX服务器)转发到特定的内部IP(vCenter)? 我见过的大多数防火墙(除了家庭级别)都会这样做。 或者通过执行端口转发来完成同样的事情,然后设置ACL(或诸如此类)以仅允许在某些情况下(来自ESX服务器)的stream量。
此外,如果这是一个“DMZ”,那么服务控制台端口(和VMKernel等)的内部(但内部防火墙防火墙)地址应该是可能的,只有外部连接的上行链路连接到外部防火墙(VM NIC与公共IP)。 然后打开UDP 902stream量到ESX服务控制台的相关端口应该是安全的。
即使在仅内部环境中,服务控制台上行网卡也应该与生产VM端口上行链路分离,在这种情况下,“应该”确实成为“必须”。
我假设你在ESX服务器上有多个NIC,并且有一个DMZ,而不是ESX服务器位于单个防火墙之外的情况。 如果是这样的话,Chris S的答案应该是可能的。
好吧,我有一个解决scheme的工作,它有点脆弱,但工作不less。 它要求您使用本地局域网上的主机作为“代理”
1)/ sbin / iptables -t nat -I OUTPUT -p udp -s 10.XX.XX.XX –dport 902 -j DNAT – 到127.0.0.1
这将udp重新路由到vCenter返回到回送接口。
2)nc -u -l -p 902 | nc 127.0.0.1 1002
这将udp转换为tcp并将其发送到端口1002上的本地主机
设置你的出站SSH隧道
ssh -Nf -g -L 902:localhost:902 -L 903:localhost:903 -L 443:localhost:443 10.XX.XX.XX
设置一个反向隧道来捕获你已经转换为tcp的udp
ssh -Nf -R 1002:127.0.0.1:1002 10.XX.XX.XX
现在将端口1002上的tcp转换回udp
nc -l -p 1002 | nc -u 10.YY.YY.YY 902
10.YY.YY.YY是vCenter服务器。
连接到代理,就像连接到真实的主机一样。
而这些女士们,先生们可以使用SSH隧道连接远程局域网上的esx服务器
另外,我还扩展了允许使用相同代理连接到许多远程esx服务器的说明。
Ĵ
(我可以给自己50分?:))