应用场景:LVS配置负载均衡方式之一:nat
测试环境:
测试步骤:
1. 在主机lvs上安装ipvsadm
lvs~]# yum install ipvsadm -y
lvs~]# ipvsadm //启动;该命令由安装的ipvsadm软件生成
lvs~]# lsmod | grep ip_vs //有如下类似显示即代表成功
2. 新建配置脚本
lvs~]# vim lvs-nat.sh //在主机LVS上新建一个脚本,内容如下:
#!/bin/bash
VIP=192.168.1.1
RIP1=138.138.82.12 #后端Nginx-A服务器的IP地址
RIP2=138.138.82.13 #后端Nginx-B服务器的IP地址 case "$1" in
start)
echo "Start LVS as the mode NAT"
echo "" > /proc/sys/net/ipv4/ip_forward #使用NAT模式必须开启LVS服务器的IP路由转发功能
/sbin/ifconfig eth0: $VIP netmask 255.255.255.0 up #设定VIP地址,留意端口名称针对更该
/sbin/ipvsadm -A -t $VIP: -s rr #这里测试的rr:轮询算法
/sbin/ipvsadm -a -t $VIP: -r $RIP1 -m
/sbin/ipvsadm -a -t $VIP: -r $RIP2 -m
/sbin/ipvsadm
;;
stop)
echo "Stop LVS"
echo "" > /proc/sys/net/ipv4/ip_forward
/sbin/ifconfig eth0: down
/sbin/ipvsadm -C
;;
*)
echo "Usage:$0 {start|stop}"
exit
esac
保存,退出;
3. 运行脚本
lvs~]# sh lvs-nat.sh start //启动后,如下所示;
4. 在后端的Web添加默认路由(两台Nginx,搭建略)
nginx-a ~]# route del default gw 138.138.82.1 //先删除存在的默认路由
nginx-a ~]# route add default gw 138.138.82.11 //在nginx-a上添加一条默认路由
nginx-b ~]# route del default gw 138.138.82.1
nginx-b ~]# route add default gw 138.138.82.11 //在nginx-b上添加一条默认路由
5. 测试
此处因为VIP:192.168.1.1是假设出来的,局域网内没有该网段,所有就在当前的lvs主机上检测:
~]# curl 192.168.1.1
或者
~]# while true; do curl 192.168.1.1; sleep 1; done
结束.