我有两台 Dell Poweredge R210 服务器,均运行 Ubuntu 10 Server x64。
服务器 A 有 Dell iDRAC6 Enterprise ILO 卡(位于 172.16.96.91 上),并且服务器和 DRAC 都使用服务器 B 作为网关(服务器 B 的 WAN IP 为 xxx.xxx.xxx.xx)。服务器 B 使用 IPTables 中的以下 NAT 规则将流量路由到服务器 A 的 DRAC:
*NAT
--append PREROUTING --in-interface eth1 --protocol tcp --destination xxx.xxx.xxx.xx --destination-port 8019 --jump DNAT --to-destination 172.16.96.91:443
--append POSTROUTING --out-interface eth1 --jump SNAT --to-source xxx.xxx.xxx.xx
除了 Java 虚拟控制台外,此方法还适用于通过服务器 B 访问服务器 A 的 iDRAC。此方法失败并显示以下错误:
com.sun.deploy.net.FailedDownloadException: Unable to load resource: https://xxx.xxx.xxx.xx:443/software/avctKVM.jar
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
etc.
我知道 Java 控制台使用端口 5900,也可能使用端口 83 和 5891。
有人能帮助我完成这个工作吗?
答案1
诀窍不是更改 iptables 的 NAT 配置中的端口,而是在 DRAC 上更改它。将 DRAC 端口更改为 8019,并将 iptables 规则更改为:
--append PREROUTING --in-interface eth1 --protocol tcp --destination xxx.xxx.xxx.xx --destination-port 8019 --jump DNAT --to-destination 172.16.96.91:8019
在失败之前让事情进展得更远一些。添加:
--append PREROUTING --in-interface eth1 --protocol tcp --destination xxx.xxx.xxx.xx --destination-port 5900 --jump DNAT --to-destination 172.16.96.91:5900
使控制台和远程媒体功能 100% 正常运行。由于 DRAC 还提供更改端口 5900 的功能,我认为将其移至其他端口是安全的。