檢視次數:

配置和部署 Linux Virtual Server (LVS) 作為您的負載平衡器,以支援使用多個網路存取內部閘道作為單一登入的驗證 Proxy。

Linux 支援網路位址轉換 (NAT) 和完整網路位址轉換,包括來源和目的地 (完整 NAT) 模式,用於驗證 Proxy。
注意
注意
  • 這些畫面和指示截至2024年七月15日使用LVS版本1.27-8有效。
  • 這些指示假設用作您LVS的機器上有兩個網路介面控制器(NIC),每個控制器都有不同的網路和服務閘道。
    NICnetworkTopology=GUID-1cbbf8ec-b284-4e74-8759-9d9d5a992dea.jpg
    使用單一網卡時需要額外配置。欲了解詳細資訊,請參閱Linux Virtual Server 文件。

步驟

  1. 要設定您的LVS以NAT模式運作:
    重要
    重要
    當在 NAT 模式下運行時,LVS 僅在將數據包發送到上游伺服器時執行目標網路位址轉換 (DNAT),因此 LVS 必須是所有連接的內部閘道的閘道。
    1. 安裝 Keepalived 以為您的 LVS 提供負載平衡功能。
    2. /etc/keepalived/keepalived.conf 編輯 Keepalived 配置檔案,並為 virtual_server 建立一個封鎖。
      virtual_server <IP> <port> {
          delay_loop <loop>
          lb_algo <lb_algo>
          lb_kind NAT
          persistent_timeout <persistent_timeout>
          protocol TCP
          real_server <IP 1> <port 1> {
              weight <weight 1>
          }
          real_server <IP 2> <port 2> {
              weight <weight 2>
          }
          ...
      }
    3. 請在佔位符欄位中指定下表中的值以完成配置。
      欄位
      IP
      供用戶端存取的負載平衡器 IP 位址。它可以是負載平衡器的 IP 位址或虛擬 IP。
      通訊埠
      負載平衡器上用作驗證Proxy的監聽端口
      lb_algo
      選擇:
      • rr:輪詢
      • wrr:加權輪詢
      • lc:最少連線
      • wlc:加權最少連接
      • sh:來源雜湊值
      • dh:目標雜湊值
      • lblc:基於區域的最少連接
      重要
      重要
      如果不使用shdh,您必須為persistence_timeout欄位設置一個值,以使連接保持持久。
      lb_kind
      NAT
      持續性逾時(可選)
      如果 lb_algo 的值不是 shdh,則為必填項
      指定持久連線的超時值(以秒為單位)。
      通訊協定
      TCP
      IP(1、2、3、…)
      服務閘道的 IP 位址與安裝在內部網路的網路存取閘道
      埠 (1, 2, 3, … )
      服務閘道上用於驗證 Proxy 的監聽埠口
      重量
      用於負載平衡決策的權重
      以下是一個範例配置,其中一個虛擬伺服器在埠 10000 上監聽。負載平衡算法是以 NAT 模式運行的輪詢。持續性超時為 10 秒。連接了兩個上游服務閘道:一個在 192.168.1.100 上監聽 8089,另一個在 192.168.1.101 上監聽 18089。
      virtual_server 10.64.1.2 10000 {
          delay_loop 20
          lb_algo rr
          lb_kind NAT
          persistent_timeout 10
          protocol TCP
          real_server 192.168.1.100 8089 {
              weight 1
          }
          real_server 192.168.1.101 18089 {
              weight 1
          }
      }
  2. (可選)要將您的 LVS 設置為全 NAT 模式,請執行以下附加配置步驟:
    重要
    重要
    在全 NAT 模式下運行時,LVS 在將數據包發送到上游伺服器時會執行 DNAT 和 SNAT,因此不需要作為所有連接的內部閘道的閘道。
    1. 在 iptables 中配置以下規則以用於 NAT,其中 IP 欄位是客戶端要存取的 IP 位址,port 欄位是負載平衡器上用作驗證 Proxy 的監聽埠。
      iptables -t nat -I PREROUTING -d <IP> <port> -j MARK --set-xmark 0x4000/0x4000
      iptables -t nat -I POSTROUTING -m mark --mark 0x4000/0x4000 -j MASQUERADE
    2. 使用以下命令啟用 IPVS 的 conntrack。
      sysctl net.ipv4.vs.conntrack=1
    3. 使用以下命令啟用 IP 轉發。
      sysctl net.ipv4.ip_forward=1