环境:
CIP是客户端的IP地址,VIP是对外公开的IP地址(就是客户端能访问到的IP地址),DIP是负载均衡器与后端的web服务器通信的IP地址,RIP则是后端web服务器的IP地址。
特别说明:有些朋友做实验客户端发现无法访问到后端的web服务器,原因在于后端的RIP服务器没有将网关指向DIP。
NAT模式的访问流程大概如下:
CIP发起请求到VIP,VIP通过DIP把请求转发给后端的RIP,RIP处理完请求后,把响应结果返回给DIP,DIP返回给VIP,VIP返回给CIP。
IP地址分配:
CIP:192.168.5.11
VIP:192.168.5.10
DIP:192.168.1.10
RIP:192.168.1.11
Director端:
lvs_nat_ds.sh
#!/bin/bash
# DIP负责与RIP通信
# RIP1的网关指向192.168.1.10
# RIP2的网关指向192.168.1.10
VIP=192.168.5.10
RIP1=192.168.1.11
RIP2=192.168.1.12
start (){
ipvsadm -A -t $VIP:80 -s rr
ipvsadm -a -t $VIP:80 -r $RIP1:80 -m
ipvsadm -a -t $VIP:80 -r $RIP2:80 -m
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Start LVS Director Server is NAT ..."
}
stop (){
ipvsadm -C
echo 0 > /proc/sys/net/ipv4/ip_forward
echo "Stop LVS Director Server is NAT..."
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
*)
echo "Usage: basename {start|stop}"
;;
esac
Real Server端:
只需要启动web服务和添加一条默认网关即可
运行命令:route add default gw 192.168.1.10
或者在网卡配置文件里面写上GATEWAY=192.168.1.10
客户端:
在浏览器访问192.168.5.10即可