我有一台配备 iDRAC9 Basic 的 Dell PowerEdge T350。服务器连接到交换机,交换机连接到上游路由器,路由器连接到互联网。非常简单。服务器的 NIC1 连接到交换机,iDRAC 自己的 UTP LAN 卡也连接到交换机。我启用了 iDRAC,我可以从连接到同一交换机(又称内联网)的另一台主机访问 Web GUI。
服务器的两个 LAN 接口都配置了静态内联网 IP(在 192.168.1.x 范围内),而不是 DHCP-d,因为路由器上的端口转换最好有一个固定 IP。我在路由器上配置了端口转换,以便可以远程访问两个服务:RDP 和 iDRAC。RDP 是服务器操作系统本身。
有趣的部分来了:
- 我可以通过内联网使用 RDP 访问服务器操作系统
- 我可以使用 RDP 远程访问服务器操作系统
- 我可以通过内联网访问 iDRAC Web GUI
- 我无法远程访问 iDRAC Web GUI
我以与 RDP 相同的方式配置了 iDRAC 端口重定向(或者我们可以称之为防火墙针孔)。尽管 RDP 需要 TCP 和 UDP 3389 端口重定向。iDRAC 只需要 TCP 443 端口重定向。
问题:
- iDRAC 上是否有任何开关或配置选项默认阻止内联网访问?(尽管路由器正在进行地址转换/NAT,所以这个问题可能没有意义?)
- 有问题的路由器是 PACE 5268AC FXN。我在手册中找不到任何内容表明它允许 3389(或 3390,因为我还锁定了另一台机器的 RDP)重定向,但 HTTPS 会失败。我在防火墙日志中没有看到任何有用的信息。似乎内联网 443 传入数据包甚至无法到达路由器?我不明白。
- 我还尝试了 33443 -> 443 和其他类型的重定向而不是 443 -> 443,但这也不起作用。
- 我还补充说,iDRAC 的 SSL 证书是无效的,但似乎在早期阶段就失败了。ISP 是 AT&T。
记录一下,我的 iDRAC 固件版本是 6.10.30.00(Build 29),iDRAC 设置版本是 5.00.00.10
答案1
我仔细检查了我的 iDRAC 网络设置,网关是正确的(192.168.1.254)。我还搜索并验证了 iDRAC 可以 ping 网关(racadmin ping 192.168.1.254
当我在内联网上登录 iDRAC Web GUI 时)。我还检查了路由器的端口针孔配置,看起来也很好。我尝试远程访问 Web GUI 几次,并验证了路由器的防火墙日志没有收到这些数据包并识别为针孔访问。
不确定发生了什么变化,但也许我的浏览器在看到 IP 地址时默认尝试 http 协议(我仅使用静态 IP 地址远程访问 iDRAc,没有 DNS 名称),当我手动输入 https 协议时,我收到一条错误消息而不是超时:
错误的请求
您的浏览器发送了此服务器无法理解的请求
此外,尝试使用 ErrorDocument 处理文件请求时遇到 400 Bad Request 错误。
Firefox 和基于 Chromium 的浏览器都出现过这种情况。然后我搜索了这个特定的错误消息,并在知识库文章中找到了有帮助的解决方案:iDRAC9 固件版本 5.10.00.000 上的 HTTP/HTTPS FQDN 连接失败
原因 iDRAC9 固件版本 5.10.00.00 中的 Web 服务器默认强制执行 HTTP/HTTPS 主机头检查。 解决 默认情况下,iDRAC9 将检查 HTTP/HTTPS 主机标头并与定义的“DNSRacName”和“DNSDomainName”进行比较。当值不匹配时,iDRAC 将拒绝 HTTP/HTTPS 连接。在 iDRAC9 5.10.00.00 中,可以使用以下 RACADM 命令禁用此主机标头强制执行。
#Disable host header check
racadm set idrac.webserver.HostHeaderCheck 0
现在我想知道这是否会带来任何安全风险。我们从不固定的 IP 访问 iDRAC,并使用 IP 地址对其进行寻址。我只能想到一个 REST 客户端,它会注入所需的 HTTP 标头。但至少我现在可以访问 iDRAC Web GUI。
答案2
解决方案是使用 IP 地址而不是 FQDN。这样它就能正常工作了。