伺服器維運

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