這篇文章給大家介紹DR的原理與實(shí)現(xiàn)是怎么樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)公司于2013年成立,先為青河等服務(wù)建站,青河等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為青河企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
當(dāng)用戶請(qǐng)求到達(dá)Director Server,此時(shí)請(qǐng)求的數(shù)據(jù)報(bào)文會(huì)先到內(nèi)核空間的PREROUTING鏈。 此時(shí)報(bào)文的源IP為CIP,目標(biāo)IP為VIP;
PREROUTING檢查發(fā)現(xiàn)數(shù)據(jù)包的目標(biāo)IP是本機(jī),將數(shù)據(jù)包送至INPUT鏈;
IPVS比對(duì)數(shù)據(jù)包請(qǐng)求的服務(wù)是否為集群服務(wù),若是,將請(qǐng)求報(bào)文中的源MAC地址修改為DIP的MAC地址,將目標(biāo)MAC地址修改RIP的MAC地址,然后將數(shù)據(jù)包發(fā)至POSTROUTING鏈。 此時(shí)的源IP和目的IP均未修改,僅修改了源MAC地址為DIP的MAC地址,目標(biāo)MAC地址為RIP的MAC地址;
由于DS和RS在同一個(gè)網(wǎng)絡(luò)中,所以是通過(guò)二層來(lái)傳輸。POSTROUTING鏈檢查目標(biāo)MAC地址為RIP的MAC地址,那么此時(shí)數(shù)據(jù)包將會(huì)發(fā)至Real Server;
RS發(fā)現(xiàn)請(qǐng)求報(bào)文的MAC地址是自己的MAC地址,就接收此報(bào)文。處理完成之后,將響應(yīng)報(bào)文通過(guò)lo接口傳送給eth0網(wǎng)卡然后向外發(fā)出。 此時(shí)的源IP地址為VIP,目標(biāo)IP為CIP;
響應(yīng)報(bào)文最終送達(dá)至客戶端;
IP分配
dirdirector DIP:192.168.177.210(eth0) VIP:192.168.177.220(eth0:0)
real server1 RIP1:192.168.177.121(eth0) VIP:192.168.177.220(lo:0)
real server2 RIP2:192.168.177.122(eth0) VIP:192.168.177.220(lo:0)
1、real server上的配置
在lo網(wǎng)卡上綁定IP地址
ifconfig lo:0 192.168.177.220 broadcast 192.168.177.220 netmask 255.255.255.255 up
添加路由(VIP地址由lo網(wǎng)卡出)
route add -host 192.168.177.220 lo:0
修改內(nèi)核參數(shù),使real server上的VIP地址不響應(yīng)由其他主機(jī)發(fā)往的ARP報(bào)文
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
安裝http服務(wù)并啟動(dòng)
yum install httpd
echo RS1 > /var/www/html/index.html
/etc/init.d/httpd restart
2、director上的配置
在eth0上綁定VIP
ifconfig eth0:0 192.168.177.220 up
添加路由(使VIP地址的數(shù)據(jù)通過(guò)eth0出)
route add -host 192.168.177.220 dev eth0:0
開啟路由轉(zhuǎn)發(fā)功能
echo 1 >/proc/sys/net/ipv4/ip_forward
創(chuàng)建一個(gè)服務(wù)
ipvsadm -A -t 192.168.177.220:80 -s wrr
在服務(wù)中添加real server
ipvsadm -a -t 192.168.177.220:80 -r 192.168.177.211:80 -g -w 3
ipvsadm -a -t 192.168.177.220:80 -r 192.168.177.212:80 -g -w 1
配置完成
note:在real server上修改內(nèi)核參數(shù)arp_ignore和arp_announce目的是禁止lo0上的VIP響應(yīng)其他主機(jī)發(fā)送的ARP報(bào)文,避免發(fā)生IP地址沖突的問(wèn)題。
TUN配置和DR模型配置相似,只是real server和director不再同一個(gè)網(wǎng)絡(luò)中
關(guān)于DR的原理與實(shí)現(xiàn)是怎么樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。