您好,登錄后才能下訂單哦!
Lvs-nat就是多目標(biāo)DNAT,也就是多目標(biāo)的地址轉(zhuǎn)換;通過將請求報(bào)文中的目標(biāo)地址和端口地址修改為挑選出來的某RS的RIP和PORT實(shí)現(xiàn)轉(zhuǎn)發(fā);
Lvs-nat處理請求過程及其特點(diǎn):
1、當(dāng)客戶端發(fā)出請求時(shí),前端主機(jī)接受請求;此時(shí)源IP時(shí)CIP,目標(biāo)IP時(shí)VIP
2、當(dāng)客戶端請求報(bào)文經(jīng)過PREROUTING流入本機(jī)的INPUT鏈上時(shí),如果發(fā)現(xiàn)此請求是個(gè)集群服務(wù), 隨后直接將請求發(fā)送給POSTROUTING;再經(jīng)由前端主機(jī)挑選出由那個(gè)后端主機(jī)提供服務(wù);隨后再將請求報(bào)文發(fā)送給后端主機(jī);此時(shí)源IP時(shí)CIP,目標(biāo)IP是RIP1(注意:DIP的網(wǎng)關(guān)要指向RIP1)
3、RIP1接受請求,處理請求,將構(gòu)建好的響應(yīng)報(bào)文外加一層IP守護(hù);隨后再將響應(yīng)報(bào)文發(fā)送給前端主機(jī);此時(shí)源IP是RIP1,目標(biāo)IP時(shí)CIP(注意:誰最初請求的就響應(yīng)給誰;同時(shí)RIP的網(wǎng)關(guān)要指向DIP,這樣才能發(fā)送報(bào)文)
4、VIP接受到報(bào)文后;再將響應(yīng)報(bào)文發(fā)送個(gè)給客戶端;此時(shí)源IP是VIP;目標(biāo)IP是CIP
真正提供服務(wù)的是后端主機(jī);但人們認(rèn)為提供服務(wù)的時(shí)前端主機(jī);所以后端主機(jī)形成了完美的地址偽裝;具有較高的安全性,以防被******;但是在整個(gè)過程中,所有的響應(yīng)都必須要經(jīng)過前端主機(jī),當(dāng)有大量的用戶請求時(shí),前端主機(jī)的性能是一個(gè)瓶頸!
nfs:Network flile system,網(wǎng)絡(luò)文件系統(tǒng),監(jiān)聽在tcp協(xié)議的2049端口;主要作用是實(shí)現(xiàn)文件共享存儲(chǔ);
準(zhǔn)備環(huán)境:
虛擬機(jī)1:網(wǎng)卡1: 172.18.42.122;網(wǎng)卡2:10.0.1.100;作為前端主機(jī)
虛擬機(jī)2:10.0.1.99;作為后端主機(jī)
虛擬機(jī)3:10.0.1.200;作為nfs文件共享存儲(chǔ)
在虛擬機(jī)1安裝ipvsadm
[root@localhost ~]# yum install ipvsadm -y [root@localhost ~]# ipvsadm -Ln ## 查看規(guī)則的先關(guān)信息 IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
隨后定義規(guī)則
[root@localhost ~]# ipvsadm -A -t 172.18.42.122:80 -s rr ##增加一條集群規(guī)則 [root@localhost ~]# ipvsadm -a -t 172.18.42.122:80 -r 10.0.1.99 -m -w 1 ##在指定的集群上添加RS的規(guī)則 [root@localhost ~]# curl http://172.18.42.122 ##查看規(guī)則是否定義成功 <h2> 10.0.1.99 Web Server RS1 </h2>
在虛擬機(jī)3啟動(dòng)nfs服務(wù);
[root@localhost ~]# vim /etc/exports /lweim 10.0.1.99(rw) ##添加這一行 [root@localhost ~]# exportfs -r ##重載文件
在虛擬機(jī)2查看使用showmount命令查看
[root@localhost ~]# showmount -e 10.0.1.200 ##查看是否共享 Export list for 10.0.1.200: /lweim 10.0.1.99 [root@localhost ~]# mount -t nfs 10.0.1.200:/lweim /var/www/html/ ##把指定的目錄掛載至虛擬機(jī)2上 [root@localhost ~]# mount ##查看是否掛載上 10.0.1.200:/lweim on /var/www/html type nfs (rw,vers=4,addr=10.0.1.200,clientaddr=10.0.1.99)
在虛擬3上更改共享目錄的權(quán)限以及屬主
[root@localhost ~]# chown -R apache:apache /lweim/* ##將共享目錄下所有文件屬組屬主更改為apache [root@localhost ~]# ll /lweim/wtc/ ##查看是否更改 total 24 -rw-rw-r-- 1 apache apache 451 Nov 29 2014 AUTHORS -rwxrwxr-x 1 apache apache 3757 Nov 29 2014 LICENSE -rw-r--r-- 1 apache apache 5796 Nov 29 2014 profile_run.htm -rw-rw-r-- 1 apache apache 516 Nov 29 2014 readme.txt drwxrwxr-x 14 apache apache 4096 Nov 29 2014 upload [root@localhost ~]# setfacl -m u:apache:rwx /lweim/wtc/* ##更改其權(quán)限 [root@localhost ~]# ll /lweim/wtc/ total 24 -rw-rwxr--+ 1 apache apache 451 Nov 29 2014 AUTHORS -rwxrwxr-x+ 1 apache apache 3757 Nov 29 2014 LICENSE -rw-rwxr--+ 1 apache apache 5796 Nov 29 2014 profile_run.htm -rw-rwxr--+ 1 apache apache 516 Nov 29 2014 readme.txt drwxrwxr-x+ 14 apache apache 4096 Nov 29 2014 upload
在虛擬2上安裝lamp以及php-xml(phpwind的擴(kuò)展能夠;否則安裝的時(shí)候有可能失敗)
[root@localhost ~]# yum install httpd php php-mysql mysql-server -y ##安裝程序
[root@localhost ~]# service httpd start ##啟動(dòng)httpd服務(wù)
在Web服務(wù)上訪問php程序
在虛擬機(jī)2啟動(dòng)mysql程序,并授權(quán)
[root@localhost ~]# service mysqld start #啟動(dòng)mysql服務(wù) mysql> grant all on lweim.* to lweim@'127.0.0.1' identified by 'lweim'; ##創(chuàng)建本地授權(quán)用戶“l(fā)weim” Query OK, 0 rows affected (0.00 sec) mysql> create database lweim; ##創(chuàng)建數(shù)據(jù)庫 “l(fā)weim” Query OK, 1 row affected (0.00 sec) mysql> flush privileges; ##更新數(shù)據(jù)庫 Query OK, 0 rows affected (0.00 sec)
安裝phpwind并登陸
問題小結(jié):
(1)對于nfs共享的目錄一定要更改其屬主屬組以及權(quán)限;同時(shí)在客戶端和服務(wù)端一定又要UID相同的用戶,這一點(diǎn)很重要;
(2)在對前端主機(jī)設(shè)置管理服務(wù)器規(guī)則時(shí)要注意到底是基于VIP還是基于DIP訪問Web服務(wù);
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。