应用场景: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 "1" > /proc/sys/net/ipv4/ip_forward #使用NAT模式必须开启LVS服务器的IP路由转发功能 /sbin/ifconfig eth0:0 $VIP netmask 255.255.255.0 up #设定VIP地址,留意端口名称针对更该 /sbin/ipvsadm -A -t $VIP:80 -s rr #这里测试的rr:轮询算法 /sbin/ipvsadm -a -t $VIP:80 -r $RIP1 -m /sbin/ipvsadm -a -t $VIP:80 -r $RIP2 -m /sbin/ipvsadm ;; stop) echo "Stop LVS" echo "0" > /proc/sys/net/ipv4/ip_forward /sbin/ifconfig eth0:0 down
/sbin/ipvsadm -C ;; *) echo "Usage:$0 {start|stop}" exit 1 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
结束.