这是具有X8DT3主板的SuperMicro服务器,该主板包含一个板载IPMI BMC。在这种情况下,BMC是Winbond WPCM450。我相信许多Dell服务器都使用类似的BMC模型。
IPMI的常见做法是将其隔离到一个不可路由的专用网络。在我们的情况下,所有IPMI卡都插入到192.168.1.0/24的私有管理LAN中,而该LAN没有通往外界的路由。如果我将笔记本电脑插入192.168.1.0/24网络,则可以验证所有IPMI功能都可以正常工作,包括远程控制台。
我需要通过某种加密连接从其他网络访问所有IPMI功能。
我尝试了SSH端口转发。对于一些服务器来说,这很好用,但是,我们有将近100个服务器,并且维持SSH客户端配置以转发100个服务器上的6个端口是不切实际的。
所以我想我会尝试SOCKS代理。这可行,但是远程控制台应用程序似乎不遵循我的系统范围代理设置。
我设置了一个SOCKS代理。详细的日志记录使我可以查看网络活动以及端口是否正在转发。
ssh -v -D 3333 stefanl@gateway.example.org
我将系统配置为使用SOCKS代理。我确认Java正在使用SOCKS代理设置。
SOCKS代理正在工作。我使用Web浏览器连接到http://192.168.1.100/的BMC 。我可以登录,查看服务器运行状况,打开或关闭计算机电源等。由于启用了SSH详细日志记录,因此可以看到进度。
这是棘手的地方:
我单击“启动控制台”按钮,该按钮下载名为的文件
jviewer.jnlp
。JNLP文件通过Java Web Start打开。将打开一个Java窗口。标题栏在标题栏中说“ Redirection Viewer”。有“视频”,“键盘”,“鼠标”等菜单。这确认Java能够通过代理下载应用程序并启动该应用程序。
60秒后,应用程序超时,并简单地说“打开视频套接字错误”。这是截图。如果可行,我将看到一个VNC样式的窗口。我的SSH日志显示没有尝试连接到端口5900/5901。这表明Java应用程序启动了VNC应用程序,但是VNC应用程序忽略了系统范围的代理设置,因此无法连接到远程主机。
Java似乎遵循我的系统范围代理设置,但是此VNC应用程序似乎忽略了它。
我有什么办法可以强制该VNC应用程序使用我的系统范围代理设置?