本篇文檔主要是記錄NAT模式實現過程,以及各配置步驟的原理。“lvs三種模式工作原理”中描述了LVS的NAT、DR、TUN三種模式的工作原理。
NAT模式是通過director將報文目標IP地址修改,發送給RS,RS將響應報文返回給director,通過director將報文返回給客戶端。
部署環境
director需要兩個網卡,一個配置VIP,接受客戶端請求報文和發送real server的響應報文;一個配置DIP,用來轉發VIP接受到的請求報文和接受real server的響應報文。
LVS服務器(DS) | DIP:192.168.1.1 | VIP:172.30.100.111 |
nginx1服務器(RS) | RIP:192.168.1.2 | 網關:192.168.1.1 |
nginx2服務器(RS) | RIP:192.168.1.3 | 網關:192.168.1.1 |
LVS服務器配置
VIP地址正常配置為與客戶端通信的公網地址;DIP可以使用私網IP
DIP不需要指定網關,它只是用來作為RS的網關。
NAT模式是把請求報文的目標VIP修改為RIP,然后轉發給real server。所以整個director的功能有點像路由器。centos默認是不開啟轉發功能,所以需要激活ip轉發功能。
echo 1 >> /proc/sys/net/ipv4/ip_forward # 開啟ip轉發功能
后端服務器配置
兩台real server的RIP必須與DIP是同一網段,並且要把網關設置為DIP
ipvs規則配置
NAT模式支持端口映射,即客戶端請求web80端口,lvs可以映射到后端服務的8080端口。
ipvsadm -A -t 172.30.100.111:80 -s wrr # 添加虛擬服務,指定IP、端口、算法 ipvsadm -a -t 172.30.100.111:80 -r 192.168.1.2:8080 -m -w 2 # 添加nginx1服務器,指定端口,指定NAT模式,指定權重為2 ipvsadm -a -t 172.30.100.111:80 -r 192.168.1.3:8080 -m -w 1 # 添加nginx2服務器,指定端口,指定NAT模式,指定權重為1
驗證