服务器运维

IPMI 使用什么端口?UDP 623 与各厂商 BMC 端口汇总

IPMI over LAN 只用一个端口:UDP 623。但日常远程管理还会用到 BMC 的 Web 界面(TCP 443)、远程控制台和虚拟介质,这几个端口各厂商并不相同,放行防火墙前要按型号逐项核对。

作者 顶联产品团队发布于 4 分钟阅读

IPMI 协议本身只用 UDP 623

IPMI 使用什么端口,取决于你问的是协议本身还是整套远程管理。协议本身的答案很简单:IPMI over LAN 走 UDP 623。IPMI 1.5 使用 RMCP(Remote Management Control Protocol),IPMI 2.0 使用带加密和更完善认证的 RMCP+,两者都封装在 UDP 623 里,这也是 IANA 为 ASF-RMCP 登记的端口号。部分 BMC 还会监听 UDP 664(ASF 安全 RMCP),实际管理工具几乎不用。

几个容易误解的地方:

  • 只有 BMC 一侧固定 623。ipmitool 之类的客户端用随机高位源端口发包,BMC 从 623 回包到这个源端口。防火墙必须允许这条 UDP 回程:带连接跟踪的防火墙会自动处理,老式无状态 ACL 需要额外写一条反向规则。
  • SOL 不需要额外端口。串口重定向(Serial over LAN)跑在同一条 RMCP+ 会话里,放行了 623 就能用。
  • 带内 IPMI 不走网络。在服务器操作系统里通过 /dev/ipmi0(KCS 接口)执行 ipmitool,不经过网口,与端口无关。
  • 端口可以在命令里指定。如果 BMC 确实改了端口(少见),ipmitool 用 -p 参数指定:
ipmitool -I lanplus -H 10.20.0.15 -p 623 -U admin -P '密码' chassis power status

远程管理实际用到的端口清单

真正让人头疼的不是 623,而是 BMC 上的其他服务。一台服务器的带外管理通常涉及下面这些端口:

用途 默认端口 协议 说明
IPMI over LAN(RMCP/RMCP+、SOL) 623 UDP 标准固定,各厂商一致
Web 管理界面、Redfish、WS-Man 443(80 多为跳转) TCP 部分厂商的 HTML5 控制台也复用 443
SSH 命令行(RACADM、iLO CLI、SMASH CLP) 22 TCP 多数默认开启,不用时可关闭
SNMP 采集与告警 161 / 162 UDP 162 是 BMC 向监控服务器发 Trap
远程控制台(KVM,独立客户端或 Java) 因厂商而异 TCP 见下表
虚拟介质(挂载 ISO) 因厂商而异 TCP 部分厂商与控制台共用端口
VNC 服务(部分 BMC 提供) 5900 或 5901 TCP 需在 BMC 里手动开启

“服务器远程控制端口号是多少”这个问题,答案落在最后三行:控制台与虚拟介质的端口没有统一标准,每家自己定。

各厂商 BMC 默认端口对照

下表是主流 BMC 的出厂默认值,固件版本不同会有出入,以厂商当前文档为准。

厂商 / BMC Web SSH IPMI 远程控制台 虚拟介质 其他
Dell iDRAC7/8/9 443 22 UDP 623 TCP 5900 TCP 5900 VNC 服务 TCP 5901(Enterprise 许可开启后)
Dell iDRAC6 443 22 UDP 623 TCP 5900(键鼠)、5901(视频) TCP 3668 / 3669 老机型端口拆得更细
HPE iLO 4/5 443 22 UDP 623 TCP 17990 TCP 17988 iLO 5 的 IPMI over LAN 出厂默认关闭,需手动开启
超微 Supermicro 443 22 UDP 623 TCP 5900(Java iKVM);HTML5 走 443 TCP 623 虚拟介质用的是 TCP 623
联想 XCC 443 22 UDP 623 TCP 3900 TCP 3900 —
华为 iBMC 443 22 UDP 623 TCP 2198 TCP 8208 VNC 服务 TCP 5900
思科 CIMC 443 22 UDP 623 TCP 2068 TCP 2068 —
AMI MegaRAC 白牌 443 22 UDP 623 因主板厂商而异,常见 5900 或 7578 常见 5120–5123,或与控制台共用 以主板厂商文档为准

几点实际经验:

  • iDRAC 和超微都用 5900,但含义不同:iDRAC 的 5900 是虚拟控制台和虚拟介质共用;超微的 5900 只给 Java iKVM,挂 ISO 要另外放行 TCP 623。
  • iLO 的 17990 和 17988 是 HPE 独有的端口号,在防火墙上很容易被漏掉,表现为网页能登录、控制台打不开。
  • HTML5 控制台不一定只走 443:超微的 HTML5 iKVM 复用 443,而 iDRAC9 的 HTML5 虚拟控制台仍然要放行 5900。稳妥的做法是把 443 与控制台、虚拟介质端口一起放行,不要只开 443。

防火墙怎么放行

原则是:BMC 只对管理网开放,来源限定为运维跳板机或管理系统所在的地址段,不对公网开放任何端口。下面是一台 Linux 网关把管理网 10.10.0.0/24 与 BMC 网段 10.20.0.0/24 隔开时的规则:

# 允许管理网访问 BMC 网段的 IPMI 与常用 TCP 服务
iptables -A FORWARD -s 10.10.0.0/24 -d 10.20.0.0/24 -p udp --dport 623 -j ACCEPT
iptables -A FORWARD -s 10.10.0.0/24 -d 10.20.0.0/24 -p tcp -m multiport --dports 22,443,5900,5901 -j ACCEPT
# 放行已建立连接的回程包(UDP 623 的回包也靠这条)
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 其余进入 BMC 网段的流量一律丢弃
iptables -A FORWARD -d 10.20.0.0/24 -j DROP

如果机房里混有 HPE、华为等品牌,把 17990、17988、2198、8208 等端口按实际型号加进 --dports 列表;有超微还要加一条 TCP 623。SNMP 采集单独放行 UDP 161;Trap 是 BMC 主动发往监控服务器的 UDP 162,方向相反,规则要写在另一侧。

怎么测试端口通不通

# UDP 623:显示 open 说明收到 RMCP 响应;open|filtered 表示没被拒绝但也没应答
nmap -sU -p 623 --script ipmi-version 10.20.0.15

# 直接用 ipmitool 探测,比端口扫描更可靠
ipmitool -I lanplus -H 10.20.0.15 -U admin -P '密码' mc info

# TCP 端口(Web、控制台、虚拟介质),逐个测试
for p in 22 443 5900; do nc -zv -w 3 10.20.0.15 $p; done

Windows 上可以用 Test-NetConnection 10.20.0.15 -Port 443 检查 TCP,但它不能测 UDP,623 还是要靠 ipmitool。

顺手多做一项检查:nmap -sU -p 623 --script ipmi-cipher-zero 10.20.0.15。老固件的 BMC 常常开着 RMCP+ 的 Cipher Suite 0,这个套件不校验密码,任何知道用户名的人都能建立会话。扫描结果提示存在时,在 BMC 的 IPMI 设置里关闭该套件,或者升级固件。这也是 623 端口绝不能对公网开放的原因之一。

ipmitool 报错怎么读:

现象 常见原因
长时间无响应后提示 Unable to establish IPMI v2 / RMCP+ session UDP 623 被拦、BMC 未开启 IPMI over LAN,或 BMC 网口没通
RAKP 2 HMAC is invalid 密码错误
Insufficient privilege level 账号权限不是 Administrator,或 LAN 通道的权限上限被限制
nmap 显示 623 open 但 ipmitool 超时 中间设备只放行了去程没放回程,或 ipmitool 使用的加密套件被 BMC 禁用

开关 IPMI over LAN 与修改端口

近几年的 BMC 固件出于安全考虑,出厂时往往关闭了 IPMI over LAN,只保留 Web 和 Redfish。如果 nmap 显示 623 被过滤而防火墙规则没问题,先检查 BMC 里的开关:

  • Dell iDRAC9:iDRAC Settings → Connectivity → Network → IPMI Settings,勾选 Enable IPMI Over LAN,并把 Channel Privilege Level Limit 设为 Administrator;命令行执行 racadm set iDRAC.IPMILan.Enable 1。
  • HPE iLO 5:Security → Access Settings → Network,打开 IPMI/DCMI over LAN;iLO 4 在 Administration → Access Settings。
  • 联想 XCC:BMC Configuration → Network → Service Enablement and Port Assignment,启用 IPMI。
  • 超微:Configuration → Port 页面列出各服务及端口状态。
  • 华为 iBMC:在服务管理页面开启 IPMI 相关服务。

UDP 623 由标准固定,主流 BMC 都不提供修改入口,只能开或关。Web、SSH、控制台、虚拟介质、VNC 这些 TCP 端口大多可以改。以 iDRAC 为例:

racadm set iDRAC.WebServer.HttpsPort 8443
racadm set iDRAC.SSH.Port 22
racadm set iDRAC.VirtualConsole.Port 5900
racadm set iDRAC.VNCServer.Enable 1
racadm set iDRAC.VNCServer.Port 5901

iLO 在 Access Settings 页面修改 SSH、Web、Remote Console、Virtual Media 端口;超微在 Configuration → Port;XCC 在 Service Enablement and Port Assignment。

要不要改?在独立管理 VLAN 里,改端口带来的安全收益很小,代价是所有管理工具、监控脚本和防火墙规则都要跟着改,一旦有台机器忘了同步就会失联。更稳妥的做法是保持默认端口,把精力放在访问来源控制、关闭不用的服务和及时升级固件上。

在管理系统里怎么落地

机房里品牌一多,每台机器该放行哪些端口、控制台该用哪种客户端,很难靠人记。Toplink DCIM 的做法是在每个机房部署从节点,从节点接入 BMC 所在的管理网就近连接,运维人员只需访问 DCIM 后台,不必为每个人的电脑逐一开通到 BMC 的防火墙策略。IPMI 远程管理页面列出了针对 iDRAC、iLO、iBMC、超微等主流 BMC 做过适配的控制台类型;BMC 地址段可以在 IP 地址管理里标记为 IPMI 类型单独统计,哪台机器的管理口用的哪个地址,一查便知。

常见问题

IPMI 623 端口是 TCP 还是 UDP?

标准的 IPMI over LAN(RMCP/RMCP+)只用 UDP 623。个别厂商会另外在 TCP 623 上运行虚拟介质等私有服务,例如超微的 BMC,所以防火墙规则要把 UDP 和 TCP 分开写。

Redfish 用什么端口?

Redfish 是跑在 HTTPS 上的 REST 接口,与 BMC 的 Web 界面共用 TCP 443,入口路径是 /redfish/v1。放行了 443 就能用,不需要额外端口。

IPMI 端口可以改成别的吗?

UDP 623 由标准固定,主流 BMC 都不允许修改,只能开关;Web、SSH、控制台、虚拟介质这些 TCP 端口通常可以在 BMC 的服务设置里修改。

机房里 BMC 端口需要对公网开放吗?

不需要,也不建议。BMC 端口只应对管理网或跳板机开放,暴露在公网的 623 端口会被持续扫描,而 BMC 拥有服务器的完全控制权。

想看看在你的机房里怎么用?

从一次产品演示开始,梳理你的业务链路。

查看价格
服务热线 400-112-2951

让我们聊聊你的 IDC 业务

扫码添加企业微信,预约产品演示或申请试用。

Toplink 企业微信二维码

长按保存或使用企业微信 / 微信扫描

也可致电
400-112-2951
Telegram
@TopLink88