LVS-NAT模式下的负载均衡
实验环境:
iptables和selinux关闭
CIP:172.25.254.68
server2:两个网卡 eth0:172.25.254.2/24 (VIP:外网IP)
eth3:192.168.2.1/24(DIP:内网IP)
两台RS(realserver):
Server3:192.168.2.2/24(网关必须指向Director的DIP)
Server4:192.168.2.3/24(网关必须执行Director的DIP)
server2:
在server2上添加一块网卡
ip link set up eth1 #**eth1网卡
ip addr add 192.168.2.1/24 dev eth1 #eth1上添加临时ip
Ip addr #查看一下
配置yum仓库,加入LoadBalancer和HighAvailability
vim /etc/yum.repos.d/rhel-source.repo
修改内部路由设置
打开ip转换功能:当servre2收到请求后,得到一个公网的ip,和目的主机server3和server4不在一个网段。所以要想数据发送给服务器,就必须对这个数据包进行ip转换,然后再进行数据的转发。处于安全考虑,linux系统默认是禁止数据包的ip地址转换的,所以,要配置linux系统的设置,打开系统的转发功能。
vim /etc/sysctl.conf
sysctl -p # 保存修改
添加ipvsadm策略:
yum install ipvsadm -y 安装ipvsadm命令
ipvsadm -C #清空策略
ipvsadm -A -t 172.25.254.2:80 -s rr #rr表示轮询
ipvsadm -a -t 172.25.254.2:80 -r 192.168.2.2:80 -m #-m表示nat模式
ipvsadm -a -t 172.25.254.2:80 -r 192.168.2.3:80 -m #给vip添加rip,
ipvsadm -ln #查看策略
Server3(RS):
Ip:192.168.2.2 临时网关和rip在同一个网段
1.配置网关
route add default gw 192.168.2.1 #临时添加网关
route -n #查看网关
yum install httpd -y
vim /var/www/html/index.html
<h1>www.westos.org-server3</h1>
/etc/init.d/httpd start
Server4:
Ip:192.168.2.3 1.配置网关
route add default gw 192.168.2.1 #临时添加网关
route -n #查看网关
yum install httpd -y
vim /var/www/html/index.html
<h1>bbs.westos.org-server4</h1>
/etc/init.d/httpd start
测试:
注意:此时物理机ip网段必须与vip在同一网段,且不能于RS在同一网段,否则会不经过网关直接访问RS
for i in {1..10};do curl 172.25.254.2;done