實驗環境:
iptables和selinux關閉
CIP:172.25.254.68
server2:兩個網卡 eth0:172.25.254.2/24 (VIP:外網IP)
eth3:192.168.2.1/24(DIP:內網IP)
兩臺RS(realserver):
Server3:192.168.2.2/24(網關必須指向Director的DIP)
Server4:192.168.2.3/24(網關必須執行Director的DIP)
server2:
在server2上添加一塊網卡
ip link set up eth1 #激活eth1網卡
ip addr add 192.168.2.1/24 dev eth1 #eth1上添加臨時ip
Ip addr #查看一下
配置yum倉庫,加入LoadBalancer和HighAvailability
vim /etc/yum.repos.d/rhel-source.repo
修改內部路由設置
打開ip轉換功能:當servre2收到請求後,得到一個公網的ip,和目的主機server3和server4不在一個網段。所以要想數據發送給服務器,就必須對這個數據包進行ip轉換,然後再進行數據的轉發。處於安全考慮,linux系統默認是禁止數據包的ip地址轉換的,所以,要配置linux系統的設置,打開系統的轉發功能。
vim /etc/sysctl.conf
sysctl -p # 保存修改
添加ipvsadm策略:
yum install ipvsadm -y 安裝ipvsadm命令
ipvsadm -C #清空策略
ipvsadm -A -t 172.25.254.2:80 -s rr #rr表示輪詢
ipvsadm -a -t 172.25.254.2:80 -r 192.168.2.2:80 -m #-m表示nat模式
ipvsadm -a -t 172.25.254.2:80 -r 192.168.2.3:80 -m #給vip添加rip,
ipvsadm -ln #查看策略
Server3(RS):
Ip:192.168.2.2 臨時網關和rip在同一個網段
1.配置網關
route add default gw 192.168.2.1 #臨時添加網關
route -n #查看網關
yum install httpd -y
vim /var/www/html/index.html
<h1>www.westos.org-server3</h1>
/etc/init.d/httpd start
Server4:
Ip:192.168.2.3 1.配置網關
route add default gw 192.168.2.1 #臨時添加網關
route -n #查看網關
yum install httpd -y
vim /var/www/html/index.html
<h1>bbs.westos.org-server4</h1>
/etc/init.d/httpd start
測試:
注意:此時物理機ip網段必須與vip在同一網段,且不能於RS在同一網段,否則會不經過網關直接訪問RS
for i in {1..10};do curl 172.25.254.2;done