經典流傳的圖解
請求流:
cip------>vip|(ipvs將源爲cip---vip 更改成 cip---rip) -----rs01_realip
返回包:
rip----->dr(cip--cip, 更替爲vip--cip ) -------cip算法
dr配置 主機名vim
hostname lvs01
關閉防火牆後端
加載內核
modprobe ip_vs服務器
安裝ipvsadm的管理工具tcp
yum install ipvsadm
開啓路由轉發ide
vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p
清除全部ipvs的記錄工具
ipvsadm -C
nat配置code
iptables -t nat -F iptables -t nat -X iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
主機信息:server
lvs01 ip地址爲: 外網eth0: 172.17.181.216 內網eth1: 10.0.0.179 rs01 ip地址爲: 內網eth1: 10.0.0.180
1) realserver內網默認路由須要指向dr-server,而且realserver建議是單網卡:
安裝httpd blog
yum install httpd -y && systemctl start httpd
添加rs的路由
2) 建立虛擬服務器,監聽tcp端口80,使用輪訓模式 rr
[root@lvs01 ~]# ipvsadm -A -t 172.17.181.216:80 -s rr
[root@lvs01 ~]# ipvsadm -Ln
3) 掛載後端rs-server (rs已開啓http),正式環境腳本化
ipvsadm -a -t 172.17.181.216:80 -r 10.0.0.180:80 -m
ipvsadm語法:
"-A"表示添加虛擬服務器,
"-a"表示添加真實服務器
"-t"用來指定VIP地址及TCP端口
"-r"用來指定RIP地址及TCP端口
"-s"用來指定負載調度算法——rr(輪詢)、wrr(加權輪詢)、lc(最少鏈接)、wlc(加權最少鏈接)
"-m"表示使用NAT羣集模式("-g"是DR模式,"-i"是TUN模式)
已有訪問產生
在dr上抓外網、內網的包,並在c端發起請求:
tcpdump -i eth0 -vnn port 80 -w /root/a.cap tcpdump -i eth1 -vnn port 80 -w /root/b.cap
依據原理,每次新的請求都伴隨cip到rip的改寫: