Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.2.2. 直接路由與 iptables

另一個解決 ARP 問題的方法,是建立 iptables 防火牆規則。要使用 iptables 配置直接路由,您必須新增規則,這規則會建立通透的代理,讓真實伺服器能為發送到這 VIP 位址的封包提供服務,即使這 VIP 位址不存在於系統上也無妨。
配置 iptables 比配置 arptables_jf 更容易。這方法也能完全避免 LVS ARP 問題,因為虛擬 IP 位址只存在於 active LVS 轉發者上。
然而,跟使用 arptables_jf 比起來,使用 iptables 會有效能上的問題,因為每個封包在轉送 / 偽冒時,都會產生負荷。
您也無法使用 iptables 來重新使用連接埠。舉例來說,要執行兩個獨立、使用 80 連接埠的 Apache HTTP Server 服務就是不可能的事情,因為兩者都必須與 INADDR_ANY 綁定,而非虛擬的 IP 位址。
要配置直接路由使用 iptables 法,請執行以下步驟:
  1. 在每一台真實伺服器上,對要提供服務對象的 VIP、連接埠、以及通訊協定(TCP 或 UDP)組合上執行指令:
    iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
    這指令會讓真實伺服器處理流向 VIP 與連接埠的封包。
  2. 在每台真實伺服器上儲存配置:
    # service iptables save
    # chkconfig --level 2345 iptables on
    上述指令會讓系統在開機時重新載入 iptables 配置 — 在網路啟動之前。