--- title: serial over lan hackmd: url: https://hackmd.io/YCvG3CJFSAmUFEWuB_doHA title: serial over lan lastSync: 2025-06-05T05:54:53.556Z --- ## 什麼是 SoL? - **Serial over LAN** 是一種技術,允許使用者透過網路(通常是 Ethernet)來**遠端存取主機的序列埠(Serial Port)**,也就是說SoL是將傳統串列埠資料轉封包,經網路傳送,再還原為串列資料的過程。 ## 爲什麼需要 SoL? - 傳統串列埠(如 RS-232)需直接接線,非常不方便遠端操作。 - BMC(Baseboard Management Controller)透過 SoL: - 在作業系統開機前也能觀察主機輸出(BIOS/UEFI/Post)。 - 可搭配 IPMI 或 Redfish 管理介面啟用/停止 SoL。 - 達到「無人值守的伺服器管理」。 ## Components |組件|本質角色|解釋| |---|---|---| |主機 COM1|實體輸出|主機 BIOS/OS 的序列輸出通常連到此| |BMC UART|中繼橋接|BMC 接收主機 UART 資料| |IPMI LAN|傳輸媒介|BMC 將 UART 資料轉封包送往管理者| |管理端|控制台|使用 `ipmitool sol activate` 之類指令遠端接收輸出| ## SoL 封包走向 ``` +--------------------------------------+ | 主機 UART (串列埠 COM) | +--------------------------------------+ | | UART 字元流 (bytes) V +--------------------------------------+ | BMC UART 接收緩衝區 | | 將 bytes 包裝成 IPMI 封包 (RMCP+ UDP) | +--------------------------------------+ | | UDP/IP 封包 (IPMI SoL payload) V +--------------------------------------+ | 遠端管理者 IPMI Console (ipmitool) | | 將封包還原成 UART 字元 | +--------------------------------------+ ``` ## 封包格式(IPMI v2.0) - SoL 是使用 **RMCP+(Remote Management Control Protocol)封包**,透過 UDP port `623`。 - 封包內包含: - `Payload Type = SerialOverLan` - `Sequence Number` - `Data`:真實的串列字元 - `ACK/NACK`:可靠傳輸確認 ## 常見 `ipmitool` 指令 | 指令 | 功能 | | ------------------------------------------------------------------ | --------------- | | `ipmitool -I lanplus -H <BMC_IP> -U <user> -P <pw> sol info` | 查看 SoL 狀態 | | `ipmitool -I lanplus -H <BMC_IP> -U <user> -P <pw> sol activate` | 啟用 SoL,進入串列監控畫面 | | `ipmitool -I lanplus -H <BMC_IP> -U <user> -P <pw> sol deactivate` | 關閉 SoL | | `ipmitool sol set timeout 15` | 設定閒置 timeout | | `ipmitool sol set privilege-level admin` | 設定存取權限 | ## 常見使用場景(Usecases) | Usecase | 解釋 | | -------------------- | ---------------------------------------------- | | ✅ 遠端開機畫面觀察 | BIOS/POST 階段出現錯誤可即時察看 | | ✅ OS kernel panic 偵錯 | 如果有串列 console 輸出,可保留錯誤紀錄 | | ✅ 安裝 OS 時遠端互動 | Debian / CentOS / Ubuntu netinstall 可以完全透過 SoL | | ✅ 偵錯無法登入的系統 | 無 SSH 時仍可存取 Console 觀察 | | ✅ 無人值守測試 | 搭配 PXE boot + SoL 可自動部署伺服器 | ## 延伸 | 概念 | 說明 | | -------------------------- | ----------------------------------------------- | | **Console Redirection** | BIOS 設定,允許將畫面輸出轉導到串列埠 | | **IPMI v2.0** | 所有 SoL 操作依據 IPMI v2.0 中 SerialOverLAN 指令定義 | | **Redfish ConsoleService** | 現代 BMC 支援透過 Redfish 取代 IPMI SoL(如 WebSocket 串流) |
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.