LVS之NAT模式的配置html
實驗環境:算法
LB(負載調度器)服務器 |
eth0:192.168.1.105(外網)tcp eth1:192.168.254.254(內網)ide |
RS1工具 |
|
RS2測試 |
|
在RS1和RS2上分別安裝httpd軟件,並建立各自的測試網頁spa
RS1
yum install httpd -y
cd /var/www/html/
echo "<h1>this is RS1 Server</h1>"> index.html
service httpd start
chkconfig httpd on
RS2
yum install httpd -y
cd /var/www/html/
echo "<h1>this is RS2 Server</h1>"> index.html
service httpd start
chkconfig httpd on
安裝ipvsadm軟件包,進行配置
加載ip_vs模塊,並查看。默認是不加載
方法一:
modprobe ip_vs
cat/proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
->RemoteAddress:Port Forward Weight ActiveConn InActConn
方法二:直接執行ipvsadm 前提是已經安裝了ipvsadm軟件
ipvsadm
lsmod | grep ip_vs
ip_vs 115643 0
libcrc32c 1246 1 ip_vs
2. 安裝ipvsadm,並配置負載策略(能夠使用源代碼包編譯安裝和yum直接安裝,
本實驗採用yum直接安裝,源碼包編譯安裝方式請看DR模式實驗)
yum install ipvsadm -y
ipvsadm -A -t 192.168.1.105:80 -s rr
ipvsadm -a -t 192.168.1.105:80 -r 192.168.254.251:80 -m-w 1
ipvsadm -a -t 192.168.1.105:80 -r 192.168.254.253:80 -m-w 1
service ipvsadmsave
service ipvsadmstart
chkconfig ipvsadmon
解釋:-A表示添加一個主負載調度器 -t指定ip地址和端口 -s指定算法
-a 表示添加一個服務器節點RS,-r 指定節點RS的ip地址 -m 表示用NAT模式(-g DR模式,-i TUN模式) -w 指定權重
3. 配置SNAT轉發策略,並開啓路由轉發
iptables-F
iptables-t nat -I POSTROUTING -s 192.168.254.0/24 -o eth0 -j SNAT --to-source192.168.1.105
serviceiptables save
serviceiptables restart
chkconfigiptables on
echo"1">/proc/sys/net/ipv4/ip_forward
具體的防火牆策略須要根據實際狀況進行配置,這個是最基本的策略
每一個RS服務器須要把網關指向LB服務器。配置完以後,測試
用客戶端直接訪問http://192.168.1.105 屢次刷新查看結果
第一次訪問:
刷新後:
查看LB的轉發信息
附:ipvsadm工具的用法
添加虛擬服務器
ipvsadm -A -t 192.168.1.105:80 -s rr
2.刪除虛擬服務器
ipvsadm -D -t 192.168.1.105:80
3.添加服務器節點
ipvsadm-a -t 192.168.1.105:80 -r 192.168.254.253:80 -m -w 1
-m 表示用NAT模式(-g DR模式,-i TUN模式) -w 指定權重(能夠根據服務器性能進行設置,數越大,被分配的請求頻率越高) -p 指定保持鏈接時間,在鏈接時間內訪問,節點不變
4.刪除服務器節點
ipvsadm -d -t 192.168.1.105:80 -r 192.168.254.253:80
5.清空整個配置
ipvsadm-C
6.其餘參數
-A--add-service 在內核的虛擬服務器表中添加一條新的虛擬服務器記錄。也
就是增長一臺新的虛擬服務器。
-E--edit-service 編輯內核虛擬服務器表中的一條虛擬服務器記錄。
-D--delete-service 刪除內核虛擬服務器表中的一條虛擬服務器記錄。
-C--clear 清除內核虛擬服務器表中的全部記錄。
-R--restore 恢復虛擬服務器規則
-S--save 保存虛擬服務器規則,輸出爲-R 選項可讀的格式
-a--add-server 在內核虛擬服務器表的一條記錄裏添加一條新的真實服務器
記錄。也就是在一個虛擬服務器中增長一臺新的真實服務器
-e--edit-server 編輯一條虛擬服務器記錄中的某條真實服務器記錄
-d--delete-server 刪除一條虛擬服務器記錄中的某條真實服務器記錄
-L|-l--list 顯示內核虛擬服務器表
-Z--zero 虛擬服務表計數器清零(清空當前的鏈接數量等)
--settcp tcpfin udp 設置鏈接超時值
--start-daemon啓動同步守護進程。他後面能夠是master 或backup,用來講
明LVS Router 是master 或是backup。在這個功能上也能夠採用keepalived 的
VRRP功能。
--stop-daemon中止同步守護進程
-h--help 顯示幫助信息