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