LVS負載均衡羣集——NAT模式

NAT模式

地址轉換:

 簡稱NAT模式,相似於防火牆的私有網絡結構,負載調度器做爲全部服務器節點的網關,即做爲客戶機的訪問入口,也是各節點回應客戶機的訪問出口
 服務器節點使用私有IP地址,與負載調度器位於同一個物理網絡,安全性要優於其餘兩種方式html

實驗原理圖

LVS負載均衡羣集——NAT模式

實驗環境

LVS調度器做爲web服務器池的網關,LVS兩塊網卡,分別鏈接內外網,使用輪詢(rr)調度算法

LVS負載調度器 內網33網關:192.168.13.1  外網36:12.0.0.1
web1 192.168.13.151
web2 192.168.13.170
nfs服務器 192.168.13.145
client測試機 12.0.0.12

1,在nfs服務器上添加兩塊硬盤,作共享存儲使用,格式化

LVS負載均衡羣集——NAT模式

[root@nfs ~]# fdisk /dev/sdb   ##分區
令(輸入 m 獲取幫助):n   ##建立新分區
Partition type:
     p   primary (0 primary, 0 extended, 4 free)
     e   extended
Select (default p): p   ##主分區
分區號 (1-4,默認 1):   ##回車
起始 扇區 (2048-41943039,默認爲 2048): ##回車
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039):  ##回車
將使用默認值 41943039
分區 1 已設置爲 Linux 類型,大小設爲 20 GiB

命令(輸入 m 獲取幫助):w   ##保存

[root@nfs ~]# mkfs.xfs /dev/sdb1   ##格式化磁盤
##以上操做格式化/dev/sdc磁盤
[root@nfs ~]# mkdir /opt/kgc /opt/accp   ##建立掛載點
[root@nfs ~]# vim /etc/fstab  ##建立自動掛載 
##末行插入掛載
/dev/sdb1       /opt/kgc        xfs     defaults        0 0
/dev/sdc1       /opt/accp       xfs     defaults        0 0
[root@nfs ~]# mount -a  ##刷新掛載
[root@nfs ~]# df -hT  ##查看磁盤掛載狀況
文件系統       類型      容量  已用  可用 已用% 掛載點
/dev/sdb1      xfs        20G   33M   20G    1% /opt/kgc
/dev/sdc1      xfs        20G   33M   20G    1% /opt/accp
[root@nfs ~]# systemctl stop firewalld.service   ##關閉防火牆
[root@nfs ~]# setenforce 0
[root@nfs ~]# rpm -q nfs-utils   ##查看nfs兩個包是否安裝
nfs-utils-1.3.0-0.48.el7.x86_64
[root@nfs ~]# rpm -q rpcbind
rpcbind-0.2.0-42.el7.x86_64
[root@nfs ~]# vim /etc/exports  ##配置共享存儲配置文件
/opt/kgc        192.168.13.0/24(rw,sync,no_root_squash)   ##支持13網段讀寫,同步,不支持降級處理
/opt/accp       192.168.13.0/24(rw,sync,no_root_squash)

2,把NFS服務器切換爲僅主機模式,啓動服務

LVS負載均衡羣集——NAT模式

[root@nfs ~]# systemctl start nfs   ##開啓nfs服務
[root@nfs ~]# systemctl start rpcbind
[root@nfs ~]# showmount -e  ##查看提供共享信息
Export list for nfs:
/opt/accp 192.168.13.0/24
/opt/kgc  192.168.13.0/24
[root@nfs ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  ##修改網卡信息
BOOTPROTO=static   ##改成靜態
...
IPADDR=192.168.13.145   ##添加地址,子網掩碼,網關
NETMASK=255.255.255.0
GATEWAY=192.168.13.1
[root@nfs ~]# service network restart   ##重啓網絡

3,在web1,web2上安裝http服務,切換網卡爲僅主機模式

//web1服務器//
[root@web1 ~]# yum install httpd -y   ##安裝web服務
[root@web1 ~]# systemctl stop firewalld.service   ##關閉防火牆
[root@web1 ~]# setenforce 0
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  ##修改網卡信息
BOOTPROTO=static   ##改成靜態
...
IPADDR=192.168.13.151   ##添加地址,子網掩碼,網關
NETMASK=255.255.255.0
GATEWAY=192.168.13.1
[root@web1 ~]# service network restart 
[root@web1 ~]# showmount -e 192.168.13.145  ##查看nfs共享信息
Export list for 192.168.13.145:
/opt/accp 192.168.13.0/24
/opt/kgc  192.168.13.0/24
[root@web1 ~]# vim /etc/fstab   ##設置自動掛載
192.168.13.145:/opt/kgc         /var/www/html   nfs     defaults,_netdev
0 0     ##掛載到站點中,模式爲nfs,默認網絡設備
[root@web1 ~]# mount -a   ##刷新掛載
[root@web1 ~]# df -hT   ##查看磁盤掛載信息
文件系統                 類型      容量  已用  可用 已用% 掛載點
192.168.13.145:/opt/kgc nfs4       20G   32M   20G    1% /var/www/html
[root@web1 ~]# echo "this is kgc web" >  /var/www/html/index.html  ##建立網頁
[root@web1 ~]# systemctl start httpd.service ##啓動web服務

//web2服務器//
[root@web2 ~]# yum install httpd -y   ##安裝web服務
[root@web2 ~]# systemctl stop firewalld.service   ##關閉防火牆
[root@web2 ~]# setenforce 0
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  ##修改網卡信息
BOOTPROTO=static   ##改成靜態
...
IPADDR=192.168.13.170   ##添加地址,子網掩碼,網關
NETMASK=255.255.255.0
GATEWAY=192.168.13.1
[root@web2 ~]# service network restart 
[root@web2 ~]# showmount -e 192.168.13.145  ##查看nfs共享信息
Export list for 192.168.13.145:
/opt/accp 192.168.13.0/24
/opt/kgc  192.168.13.0/24
[root@web2 ~]# vim /etc/fstab   ##設置自動掛載
192.168.13.145:/opt/accp         /var/www/html   nfs     defaults,_netdev
0 0     ##掛載到站點中,模式爲nfs,默認網絡設備
[root@web2 ~]# mount -a   ##刷新掛載
[root@web2 ~]# df -hT   ##查看磁盤掛載信息
文件系統                 類型      容量  已用  可用 已用% 掛載點
192.168.13.145:/opt/accp nfs4       20G   32M   20G    1% /var/www/html
[root@web2 ~]# echo "this is accp web" >  /var/www/html/index.html  ##建立網頁
[root@web2 ~]# systemctl start httpd.service ##啓動web服務

4,在lvs負載調度器上添加兩塊網卡並設置路由轉發

[root@lvs ~]# yum install ipvsadm -y  ##安裝ipvsadm調度管理工具

添加外網的網卡,並切換爲僅主機模式

LVS負載均衡羣集——NAT模式

[root@lvs ~]# cd /etc/sysconfig/network-scripts
[root@lvs network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36  ##複製網卡配置文件爲ens36配置文件
[root@lvs network-scripts]# vim ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.13.1   ##設置內網網關ip
NETMASK=255.255.255.0
[root@lvs network-scripts]# vim ifcfg-ens36
BOOTPROTO=static  ##刪除UUID
NAME=ens36    ##修改成36
DEVICE=ens36
IPADDR=12.0.0.1   ##設置外網網關
NETMASK=255.255.255.0
[root@lvs network-scripts]# service network restart  ##重啓網卡服務
##能夠在web上用ping測試可否連同網關

##開啓路由轉發功能
[root@lvs network-scripts]# vim /etc/sysctl.conf   ##路由轉發配置文件
net.ipv4.ip_forward=1   ##開啓路由轉發
[root@lvs network-scripts]# sysctl -p  ##加載路由轉換功能
[root@lvs network-scripts]# iptables -F ##清除轉發表
[root@lvs network-scripts]#     iptables -t nat -F ##清除nat地址轉換表
[root@lvs network-scripts]# iptables -t nat -A  POSTROUTING -o ens36 -s 192.168.13.0/24 -j SNAT --to-source 12.0.0.1
##指定nat地址轉換表,指定數據流出接口,指定原ip地址,指定源地址轉換SNAT,指定轉換的ip地址

5,加載lvs內核模塊,配置管理軟件ipvsadm

[root@lvs network-scripts]# modprobe ip_vs   ##加載lvs內核
[root@lvs network-scripts]# cat /proc/net/ip_vs   ##查看ipvs信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lvs network-scripts]# ipvsadm --save > /etc/sysconfig/ipvsadm  ##centos7必需要先保存
[root@lvs network-scripts]# systemctl start ipvsadm  ##啓動ipvsadm服務
[root@lvs network-scripts]# vim /opt/nat.sh  ##編寫ipvsadm腳本
#!/bin/bash
ipvsadm -C   ##清空ipvs緩存
ipvsadm -A -t 12.0.0.1:80 -s rr   ##指定虛擬服務訪問入口,指定輪詢算法
ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.151:80 -m ##指定真實服務器,nat模式
ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.170:80 -m
ipvsadm   ##啓動
[root@lvs network-scripts]# chmod +x /opt/nat.sh  ##給執行權限
[root@lvs network-scripts]# cd /opt/  
[root@lvs opt]# ./nat.sh  ##啓動腳本
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  lvs:http rr
    -> 192.168.13.151:http          Masq    1      0          0         
    -> 192.168.13.170:http          Masq    1      0          0

6,用client測試機(僅主機模式)訪問12.0.0.1

LVS負載均衡羣集——NAT模式
LVS負載均衡羣集——NAT模式

謝謝閱讀!!

相關文章
相關標籤/搜索