站台主控台
擷取時間為 2026-07-28,來源為本部署中的其中一個 CE。sitecli/capture-manifest.json
記錄了是哪一個節點,而 scripts/capture-sitecli.sh --check 會針對實際運作中的 CE
重新驗證指令介面。
每個 Customer Edge 都會在 https://<sli-ip>:65500 上提供 F5 的站台主控台。在本
部署中,這通常是應該優先嘗試的途徑。
它對您的要求最少:不需要散發 SSH 金鑰、不需要維護跳板主機、節點上不需要公用 IP,
也不需要替換 VM 才能啟用。誰可以連線變成一項 Azure RBAC 決策。而且它不需要站台
已完成註冊:本頁最初擷取時,三個站台全都回報 site_state: FAILED,而在這些節點變成
ONLINE 之後,對同樣的節點重新驗證的結果並無變化。
其代價是站台主控台只會在節點的內部(SLI)位址上回應,而該位址只能從 VNet 內部觸及。 Azure Bastion 弭平了這個落差,而不需要在網路上放置其他任何東西。
-
登入 Azure 並加入 Bastion 擴充功能。通道功能屬於原生用戶端功能,且該擴充功能 預設並未安裝。
Terminal window az loginaz extension add --name bastion -
對 CE 虛擬機器、其網路介面以及 Bastion 主機持有 Reader 權限。 這是 Microsoft 文件所述的需求,且在此未經驗證 — 本部署中的每一次執行都是以 訂用帳戶擁有者身分進行,因此並未證實任何較低權限的角色是否足夠或不足。
-
確認 Bastion 已部署且具備所需能力。Basic SKU 既不支援通道也不支援以 IP 連線, 因此此處的
Standard與True兩者都至關重要。Terminal window az network bastion list -g "$(terraform output -raw resource_group_name)" \--query "[].{name:name, sku:sku.name, tunneling:enableTunneling}" -o tableName Sku Tunneling----------------- -------- -----------mcn-ce-ha-bastion Standard True
請從 terraform output 取得數值,而不要手動輸入 — 資源 id 不是應該手工拼湊的東西。
-
讀取 Bastion 主機名稱、資源群組,以及目標 CE 的 VM 資源 id。
Terminal window cd terraformBASTION=$(terraform output -raw bastion_name)RG=$(terraform output -raw resource_group_name)VM_ID=$(terraform output -json ce_vm_ids | jq -r '.eastus01')mcn-ce-ha-bastionrg-mcn-ce-ha-<deployer>/subscriptions/…/providers/Microsoft.Compute/virtualMachines/f5-xc-ce-vm-01 -
啟動通道。它會持續開著連接埠直到停止,因此請將其放到背景執行或使用第二個終端機。
Terminal window az network bastion tunnel \--name "$BASTION" \--resource-group "$RG" \--target-resource-id "$VM_ID" \--resource-port 65500 \--port 65500 &WARNING: Opening tunnel on port: 65500WARNING: Tunnel is ready, connect on port 65500WARNING: Ctrl + C to close這三行都以
WARNING:為前綴。那是 Azure CLI 將進度寫到 stderr,並不是問題。 請等到出現Tunnel is ready後再連線。 -
確認接聽端是本機、位於 loopback 上:
Terminal window lsof -nP -iTCP:65500 -sTCP:LISTENCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEPython 41648 you 7u IPv4 … 0t0 TCP 127.0.0.1:65500 (LISTEN) -
開啟主控台。通道讓它成為本機服務,因此位址是
localhost— 而不是節點的位址。Terminal window open https://localhost:65500/ # macOSxdg-open https://localhost:65500/ # Linux -
完成後請停止通道 — 按
Ctrl-C,若放到背景執行則使用kill %1。 讓它持續開啟會佔用本機連接埠 65500 以及該 Bastion 工作階段。
您將會看到什麼
Section titled “您將會看到什麼”一個認證對話框,而不是登入頁面。 主控台使用 HTTP Basic 驗證,因此瀏覽器會自行 彈出使用者名稱與密碼提示。沒有表單可看:
curl -skI https://localhost:65500/HTTP/1.1 401 UnauthorizedWWW-Authenticate: Basic realm="Volterra Site Console"Content-Type: text/html; charset=utf-8Content-Length: 0出現帶有該 realm 的 401 表示主控台運作正常。這正是未經驗證的請求應該得到的回應 —
而對同一個 URL 提供 admin 認證會回傳 200,這也是您在開啟瀏覽器前確認認證的方式:
curl -sk -u admin -o /dev/null -w '%{http_code}\n' https://localhost:65500/Enter host password for user 'admin':200-u admin 後不加冒號會讓 curl 提示輸入密碼,而不是從命令列取得,否則密碼會留在
shell 歷史紀錄與行程清單中。
一則憑證警告,同時有三個原因。 直接檢查憑證:
openssl s_client -connect localhost:65500 -servername localhost </dev/null 2>/dev/null \ | openssl x509 -noout -subject -issuer -datessubject=C=US, ST=California, L=Santa Clara, O=Volterra, OU=Volterra Edge Services, CN=site-local.volterra.ioissuer=C=US, ST=California, L=Santa Clara, O=Volterra, OU=Volterra Edge Services, CN=site-local.volterra.ionotBefore=Oct 25 04:51:31 2024 GMTnotAfter=Oct 25 04:51:31 2025 GMTsubject 與 issuer 相同,因此它是自簽憑證。名稱為 site-local.volterra.io,而您連線的
是 localhost,因此不會相符。而且在本部署所執行的組建上,該憑證已於 2025 年
10 月 25 日到期 — 設備隨附此憑證,而本儲存庫中沒有任何機制會更新它。
請預期看到一則直白的瀏覽器警告,而且每次都會出現。上面的 subject 那一行才是有用的 部分:那是您確認自己連到的是設備,而不是其他在本機連接埠 65500 上接聽之服務的方式。
admin 認證
Section titled “admin 認證”以 admin 登入。本文件不會公布密碼,也不應公布。
不公布它之所以在此比看起來更重要,有兩個原因:
- 本文件是公開的。印出整個機群目前的主控台密碼,會讓「持有 Bastion 的 Reader 權限」 對任何讀到本頁的人而言變成完整的設備存取權。
- 在文件中公布的密碼,在有人輪替它的那一刻就是錯的,而且錯得最具誤導性 — 讀者會 以為自己的存取權壞了,而不是這一頁過時了。
一旦密碼經過輪替,請從您團隊存放營運機密的地方取得。
為何通道必須以資源 id 為目標
Section titled “為何通道必須以資源 id 為目標”--target-resource-id 是必要的。改以節點的位址為目標會被拒絕 —
無論您使用哪個位址皆然,因此此處刻意沒有印出任何真實位址:
az network bastion tunnel --name "$BASTION" -g "$RG" \ --target-ip-address <any-sli-address> --resource-port 65500 --port 65501ERROR: Custom ports are not allowed. Allowed ports for Tunnel with IP connect is 22, 3389.原因並非以 IP 連線的功能被停用 — 在此 Bastion 上 ip_connect_enabled 為 true。
無論該設定為何,Microsoft 都不支援在以 IP 為基礎的原生用戶端連線上使用自訂連接埠
(Azure 文件),而 65500
是自訂連接埠。在此檢查 Bastion 組態並不會有結果;請使用資源 id。
當它無法運作時
Section titled “當它無法運作時”| 徵狀 | 原因 | 解法 |
|---|---|---|
ERROR: Custom ports are not allowed. Allowed ports for Tunnel with IP connect is 22, 3389. | 使用了 --target-ip-address | 改用 --target-resource-id |
ERROR: Defined port is currently unavailable | 另一條通道已佔用該本機連接埠 | 停止另一條通道,或傳入不同的 --port;--resource-port 維持 65500 |
terraform output -raw bastion_name 為 null 或空值 | Bastion 未部署 | 設定 enable_bastion = true 並套用 |
| 通道啟動但資源 id 為空 | jq 篩選使用了 VM 名稱而非站台索引鍵 | 以 eastus01/02/03 為索引鍵 |
401 Unauthorized,realm 為 Volterra Site Console | 並非故障 — 這是未經驗證的請求 | 提供 admin 認證 |
| 瀏覽器拒絕該憑證 | 自簽、名稱不符,且自 2025 年 10 月起已到期 | 屬預期情形;確認 subject 為 CN=site-local.volterra.io 後繼續 |