2026年5月4日 星期一

L2 bridge、MetalLB L2、固定 VIP分別是什麼?

 這三個都跟「服務怎麼被外部網路找到」有關,彼此有關聯,但不是同一件事。

1. L2 bridge

L2 是第 2 層,也就是乙太網路層。  

L2 bridge 可以把虛擬機的網卡「橋接」到實體網路,看起來像直接接在同一台交換器上。


意思是:

1. VM 可以直接拿到和實體網路同一個網段的 IP。

2. VM 在網路上看起來像獨立實體主機。

3. ARP、廣播這類第 2 層封包可以正常工作。


為什麼:

1. 有線網卡通常比較適合 bridge。

2. Wi‑Fi 常不支援完整的二層橋接行為。

3. 所以在Bare Metal(NB)只有 Wi‑Fi 的情況下,VM 很難像接在實體交換器上一樣直接出現在 LAN 上。


2. MetalLB L2

MetalLB 是給裸機 Kubernetes 用的 LoadBalancer 實作。

在雲端裡,Kubernetes 建一個 LoadBalancer Service,雲平台會幫你配外部 IP。  

但在本機、裸機、Proxmox 這種環境,沒有雲平台幫你做這件事,所以要靠 MetalLB。


MetalLB 的 L2 模式意思是:

1. 它從你設定好的 IP 池中挑一個 IP。

2. 然後由某一台 Kubernetes 節點在 LAN 上用 ARP 宣告:

   這個 IP 現在是我在回應。

3. 外部主機就會把流量送到那台節點,再轉進 Kubernetes Service。



所以它依賴什麼?

1. 節點必須能正常參與 LAN 的二層通訊。

2. ARP 宣告必須能被同網段設備看見。

3. 這通常要求節點網卡是在可正常 L2 溝通的網路上。


這也是為什麼 Wi‑Fi only 的 Bare Metal 不適合這種做法:  

因為你很可能沒有真正可用的 L2 bridge,ARP 廣播與二層可見性也不穩。


3. 固定 VIP

VIP 是 Virtual IP,虛擬 IP。  

它不是某一張實體網卡永久綁死的 IP,而是一個「可以漂移」的服務 IP。


用途通常是:

1. 外部只記住一個固定 IP。

2. 背後哪台主機真正接這個 IP,可以切換。

3. 這樣做 HA 時,服務故障可以把 VIP 漂到另一台機器。


常見例子:

1. Keepalived 用 VRRP 提供一個漂移 VIP。

2. Kubernetes 外部入口也可能希望有固定 VIP。

3. MetalLB 提供的對外 IP,某種程度上也可視為服務 VIP。


關係怎麼看

1. L2 bridge 是網路接法。

2. MetalLB L2 是 Kubernetes 在裸機環境分配對外 IP 的方法。

3. 固定 VIP 是想達成的效果,也就是外部永遠打同一個 IP。


它們的關係可以簡化成:

1. 你先要有可用的 L2 網路環境。

2. 才比較容易用 MetalLB L2 這種方法。

3. 然後才能讓服務穩定用一個固定 VIP 對外提供。


放回你的 Bare Metal(NB) 情境

1. Bare Metal 只有 Wi‑Fi,不適合期待標準 L2 bridge。

2. 因此也不適合把 MetalLB L2 當主要對外方案。

3. 固定 VIP 也不建議用依賴二層廣播的方式實現。


你比較適合的替代方案是:

1. VM 走私有網段。

2. Proxmox Host 做 NAT。

3. 對外用反向代理或 DNAT 轉發。

4. 若要跨網段穩定存取,可加 Tailscale 或 WireGuard。


一句話版本:

1. L2 bridge 是讓 VM 像實體機一樣直接上 LAN。

2. MetalLB L2 是靠 LAN 的二層能力,把 Kubernetes Service 對外發布成一個 IP。

3. 固定 VIP 是最終想要的效果,也就是服務永遠有一個固定入口 IP。


本文說明 L2 bridge、MetalLB L2 與固定 VIP 的定義、彼此關係,以及為什麼在 Wi‑Fi 主機條件下不適合當主要方案。

2025年8月28日 星期四

更換 GCA3 後, 網站出現不安全

可以使用 openssl 命令來模擬瀏覽器的行為 


openssl s_client -connect your.domain.com:443 -showcerts

請將 your.domain.com 替換成你的網域名稱。


解讀輸出結果

執行上述指令後,你會看到類似下面這樣的輸出,每個 Certificate 區塊代表一個憑證。

  • 0 s: (第一個憑證)

    • subject: 你的網站憑證(例如 CN=elearning.kmsh.gov.tw)。這是伺服器提供給瀏覽器的第一張憑證。

    • issuer: 頒發給你網站憑證的中繼憑證名稱(例如 CN=政府憑證管理中心 - G3)。

  • 1 s: (第二個憑證)

    • subject: 中繼憑證本身(例如 CN=政府憑證管理中心 - G3)。

    • issuer: 頒發中繼憑證的根憑證名稱(例如 CN=Government Root Certification Authority - G3)。

如果你的伺服器設定正確,你應該會看到至少兩個憑證:

  1. 你的網站憑證。

  2. 中繼憑證。

如果輸出中只看到一個憑證(也就是 0 s: 區塊),那就表示你的伺服器沒有提供中繼憑證。 這是最常見的憑證鏈不完整問題,也是導致瀏覽器顯示不安全警告的原因。


檢查 fullchain.pem 檔案:

openssl crl2pkcs7 -nocrl -certfile fullchain.pem | openssl pkcs7 -print_certs -text -noout

解讀輸出結果

執行命令後,您會看到檔案中包含的每一個憑證的詳細資訊。每一個憑證都由 Certificate: 區塊開頭。

如果您的 fullchain.pem 包含了中繼憑證,您應該會看到至少兩個 Certificate: 區塊,分別代表:

  1. 您的伺服器憑證 (Server Certificate)

    • Subject: 會是您的網域名稱,例如 CN=elearning.kmsh.gov.tw

    • Issuer: 會是頒發給您的中繼憑證名稱,例如 CN=政府憑證管理中心 - G3

  2. 中繼憑證 (Intermediate Certificate)

    • Subject: 會與您的伺服器憑證的 Issuer 相同,例如 CN=政府憑證管理中心 - G3

    • Issuer: 會是根憑證的名稱,例如 CN=Government Root Certification Authority - G3

如果您的 fullchain.pem 只包含一個 Certificate: 區塊,那表示這個檔案只有您的伺服器憑證,沒有包含中繼憑證。這就是導致瀏覽器顯示不安全警告的原因。

2021年6月23日 星期三

成績保留

最近有學生退選後再加選,在課程成績中測驗/作業成績都沒有記錄了,請問可以保留退選前取得的課程成績嗎?

是可以⭕的喔,來看看如何設定成績保留吧!


管理者可於網站管理,點選成績後,打開一般設定,勾選「預設恢復成績」,就會恢復退選前的課程成績囉!








是不是很簡單呢😊😊

如有問題請連絡我們!

精選文章

L2 bridge、MetalLB L2、固定 VIP分別是什麼?

 這三個都跟「服務怎麼被外部網路找到」有關,彼此有關聯,但不是同一件事。 1. L2 bridge L2 是第 2 層,也就是乙太網路層。   L2 bridge 可以把虛擬機的網卡「橋接」到實體網路,看起來像直接接在同一台交換器上。 意思是: 1. VM 可以直接拿到和實體網路...

熱門文章