深入解析LVS命令參數及DR模式下的ARP抑制原理
一、LVS簡介
Linux Virtual Server (LVS) 是基于Linux內核的高性能負載均衡解決方案,支持NAT、DR(Direct Routing)和TUN(IP Tunneling)三種模式。其中,ipvsadm
是管理LVS配置的核心命令行工具。本文將詳解 ipvsadm
的常用參數,并探討DR模式下ARP抑制的必要性。
二、ipvsadm命令參數詳解
1. 虛擬服務管理
-
添加虛擬服務
-A
:添加虛擬服務(VIP),-t
指定TCP協議,-s
指定調度算法(如輪詢rr、加權輪詢wrr)。
示例:ipvsadm -A -t 192.168.1.100:80 -s rr
-
修改/刪除虛擬服務
-E
修改,-D
刪除。
示例:ipvsadm -E -t 192.168.1.100:80 -s wrr # 修改調度算法 ipvsadm -D -t 192.168.1.100:80 # 刪除虛擬服務
2. 真實服務器管理
-
添加真實服務器(RS)
-a
:添加RS,-r
指定RS地址,-g|i|m
指定模式(DR/NAT/TUN),-w
設置權重。
示例:ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g -w 1
-
修改/刪除真實服務器
-e
修改,-d
刪除。
示例:ipvsadm -e -t 192.168.1.100:80 -r 192.168.1.2:80 -w 5 # 修改權重為5 ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.2:80 # 刪除RS
3. 查看與清空配置
-
查看當前規則
-ln
以數字格式顯示,--stats
顯示統計信息。
示例:ipvsadm -ln # 查看所有規則 ipvsadm -ln --stats # 查看流量統計
-
清空所有配置
ipvsadm -C
4. 持久化配置
- 保存配置
ipvsadm-save > /etc/sysconfig/ipvsadm
- 恢復配置
ipvsadm-restore < /etc/sysconfig/ipvsadm
三、DR模式下的ARP抑制
1. 為什么需要ARP抑制?
在DR模式下,負載均衡器(Director)和真實服務器(RS)共享同一個VIP。客戶端請求首先到達Director,但響應數據由RS直接返回客戶端(不經過Director)。此時若RS的網卡響應了VIP的ARP請求,會導致以下問題:
- ARP沖突:客戶端可能直接與RS通信,繞過負載均衡器。
- 流量混亂:多臺RS同時響應ARP,導致MAC地址漂移。
2. 如何配置ARP抑制?
通過修改Linux內核參數,禁止RS響應VIP的ARP請求。
- 配置步驟:
a. 在RS上設置VIP到lo接口:
b. 修改ARP參數:ifconfig lo:0 192.168.1.100 netmask 255.255.255.255 up
參數解釋:echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
arp_ignore=1
:僅響應目標IP為本機接口的ARP請求(忽略lo接口的VIP)。arp_announce=2
:始終使用接口的本地IP作為ARP源地址(避免VIP暴露)。
四、完整DR模式配置示例
1. Director配置(負載均衡器)
# 添加虛擬服務
ipvsadm -A -t 192.168.1.100:80 -s rr# 添加真實服務器
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.3:80 -g
2. 真實服務器配置
# 配置VIP到lo接口
ifconfig lo:0 192.168.1.100 netmask 255.255.255.255 up# 啟用ARP抑制
sysctl -w net.ipv4.conf.lo.arp_ignore=1
sysctl -w net.ipv4.conf.lo.arp_announce=2
sysctl -w net.ipv4.conf.all.arp_ignore=1
sysctl -w net.ipv4.conf.all.arp_announce=2
五、總結
- ipvsadm命令:是LVS的核心管理工具,需熟練掌握虛擬服務和真實服務器的增刪改查。
- DR模式ARP抑制:通過限制RS的ARP響應,確保流量經過負載均衡器,避免數據鏈路層混亂。
通過合理配置LVS,可構建高性能、高可用的負載均衡集群,而理解底層原理(如ARP抑制)是避免“坑”的關鍵。