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
法,請執行以下步驟:
- 在每一台真實伺服器上,對要提供服務對象的 VIP、連接埠、以及通訊協定(TCP 或 UDP)組合上執行指令:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
這指令會讓真實伺服器處理流向 VIP 與連接埠的封包。 - 在每台真實伺服器上儲存配置:
#
service iptables save
#chkconfig --level 2345 iptables on
上述指令會讓系統在開機時重新載入iptables
配置 — 在網路啟動之前。