实验环境:
三台CentOS7 因为是模拟,外网应该不是和内网一个网段。
LVS:192.168.127.137(外网) 192.168.245.130(内网)
VIP:192.168.245.222
RS1:192.168.245.128(内网)
RS2:192.168.245.129(内网)
1、 首先关闭防火墙和selinux,清空Iptables规则(仅实验环境)
每一台都需要做:
LVS-NAT模式(Centos7)
2、 在LVS主机上安装LVS软件:
LVS-NAT模式(Centos7)
1) 开启路由转发功能:
LVS-NAT模式(Centos7)
2) 清空ipvsadm表
LVS-NAT模式(Centos7)
3) 添加新的虚拟服务(虚拟内网IP)
LVS-NAT模式(Centos7)
-A 添加新的虚拟服务器记录
-t 表示使用TCP协议
4) 添加后端真实服务器记录
LVS-NAT模式(Centos7)
-a 表示在虚拟服务器中添加一条新纪录,也可以理解为绑定
-m 表示使用的是NAT模式
-w 表示权重
-r 表示后端真实服务器
3、 在后端RS真实服务器上搭建apache服务
1) 安装apache服务
LVS-NAT模式(Centos7)
LVS-NAT模式(Centos7)
2) 创建测试网页
LVS-NAT模式(Centos7)
LVS-NAT模式(Centos7)
3) 设置http的监听端口为 0.0.0.0:80 ,0.0.0.0表示所有网络(或者将这两台内网服务器的网管设置成LVS上的那张内网,网卡的地址)
LVS-NAT模式(Centos7)
LVS-NAT模式(Centos7)
LVS-NAT模式(Centos7)
重启httpd服务:
LVS-NAT模式(Centos7)
LVS-NAT模式(Centos7)
4、 测试LVS:
LVS-NAT模式(Centos7)
因为设置的权重是一样的,所以是轮询访问。
在思考一个问题,如果这两个网站要求内容一样要怎么实现呢?
有很多种方案,可以使用NFS挂载、rsync同步、等
也可以设置当用户第一次访问时的服务器之后访问此网址时,同样还是这个服务器负责响应,这样就避免了你登录了某个网站点了一下刷新,导致未登录这个问题。
用外网地址把请求分发给后端的RS,将Web网站的域名解析到外网地址即可!