LVS DR模式搭建

準備三臺測試機,一臺做爲分發器(dir),另外兩臺做爲處理用戶請求的服務器(rs),並清空防火牆規則:vim

systemctl stop firewalld
systemctl disable firewalld
systemctl start iptable-service
iptables -F
service iptables savecentos

* 分發器test03: 192.168.77.123
* rs服務器centos0: 192.168.77.129
* rs服務器test-a: 192.168.77.134
* vip: 192.168.77.111bash

1. dir上編寫腳本並執行服務器

[root@test03 ~]# vim /usr/local/sbin/lvs_dr.sh
[root@test03 ~]# cat /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward # 打開端口轉發
ipv=/usr/sbin/ipvsadm
vip=192.168.77.111
rs1=192.168.77.129
rs2=192.168.77.134

# eno16777736這裏換成本身的網卡名
ifdown eno16777736
ifup eno16777736
# 上面兩行是清理以前虛擬網卡相關的設置
ifconfig eno16777736:2 $vip broadcast $vip netmask 255.255.255.255 up # 設置虛擬網卡,綁定了一個虛擬ip(vip)
route add -host $vip dev eno16777736:2
$ipv -C  # 清空規則
$ipv -A -t $vip:80 -s wrr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1 # -g 指 dir模式
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
[root@test03 ~]# sh /usr/local/sbin/lvs_dr.sh

2. 另外兩臺rs上編寫腳本並執行curl

[root@centos0 ~]# vim /usr/local/sbin/lvs_dir_mod_rs.sh
[root@centos0 ~]# cat /usr/local/sbin/lvs_dir_mod_rs.sh
#! /bin/bash
vip=192.168.77.111
# 把vip綁定在lo上,是爲了實現rs直接把結果返回給客戶端
ifdown lo
ifup lo
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
# 如下爲更改arp內核參數,是爲了讓rs順利發出mac地址給客戶端
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
[root@centos0 ~]# sh /usr/local/sbin/lvs_dir_mod_rs.sh  
[root@test-a ~]# sh /usr/local/sbin/lvs_dir_mod_rs.sh

3.訪問測試測試

[root@test-a ~]# curl localhost
Server test-a.

[root@centos0 ~]# curl localhost
Server centos0.


多刷新幾回再訪問
url

相關文章
相關標籤/搜索