天天看点

部署LVS-NAT集群,详细操作,值得收藏!!!

部署LVS-NAT集群

使用LVS实现NAT模式的集群调度服务器,为用户提供Web服务:

集群对外公网IP地址为192.168.4.5
调度器内网IP地址为192.168.2.5
真实Web服务器地址分别为192.168.2.100、192.168.2.200
使用加权轮询调度算法,真实服务器权重任意
           

方案

实验拓扑结构主机配置细节如表所示,注意下面的网卡名称仅为参考,不能照抄。

部署LVS-NAT集群,详细操作,值得收藏!!!

使用4台虚拟机,1台作为Director调度器、2台作为Real Server、1台客户端,拓扑结构如图所示,注意:web1和web2必须配置网关地址。

部署LVS-NAT集群,详细操作,值得收藏!!!

步骤

实现此案例需要按照如下步骤进行。

步骤一:配置基础环境

1)设置Web服务器

[[email protected] ~]# yum -y install httpd        #安装软件
[[email protected] ~]# echo "192.168.2.100" > /var/www/html/index.html    #创建网页文件
[[email protected] ~]# firewall-cmd --set-default-zone=trusted            #设置防火墙
[[email protected] ~]# setenforce  0
[[email protected] ~]# sed -i  '/SELINUX/s/enforcing/permissive/'  /etc/selinux/config  
[[email protected] ~]# yum -y install httpd        #安装软件
[[email protected] ~]# echo "192.168.2.200" > /var/www/html/index.html    #创建网页文件
[[email protected] ~]# firewall-cmd --set-default-zone=trusted            #设置防火墙
[[email protected] ~]# setenforce  0
[[email protected] ~]# sed -i  '/SELINUX/s/enforcing/permissive/'  /etc/selinux/config
           

2)启动Web服务器软件

[[email protected] ~]# systemctl restart httpd
[[email protected] ~]# systemctl restart httpd
           

如何验证?

完成后可以使用proxy主机测试下是否可以访问web1和web2

[[email protected] ~]# curl http://192.168.2.100
[[email protected] ~]# curl http://192.168.2.200
           

3)配置网关,将web1和web2的网关设置为192.168.2.5(不能照抄网卡名称)

如果有4网段的IP,则临时将该网卡关闭nmcli con down 网卡名称

[[email protected] ~]# nmcli connection modify ens33 \
ipv4.method manual ipv4.gateway 192.168.2.5
#备注:网卡名称不能照抄,需要自己查看下2.100的网卡名称
[[email protected] ~]# nmcli connection up ens33
[[email protected] ~]# ip route show                #查看默认网关
default via 192.168.2.5 dev ens33          #提示:这里default后面的IP就是默认网关
#英语词汇:default(默认,预设值)
… …
[[email protected] ~]# nmcli connection modify ens33 \
ipv4.method manual ipv4.gateway 192.168.2.5
#备注:网卡名称不能照抄,需要自己查看下2.200的网卡名称
[[email protected] ~]# nmcli connection up ens33
[[email protected] ~]# ip route show        #查看默认网关,default后面的IP就是默认网关
           

步骤二:部署LVS-NAT模式调度器

1)确认调度器的路由转发功能(如果已经开启,可以忽略)

[[email protected] ~]# echo 1 > /proc/sys/net/ipv4/ip_forward     #开启路由转发,临时有效
[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward          #查看效果
1
[[email protected] ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
#修改配置文件,设置永久规则,英语词汇:forward(转寄,转发,发送,向前)
           

2)创建集群服务器

[[email protected] ~]# yum -y install ipvsadm
[[email protected] ~]# ipvsadm -A -t 192.168.4.5:80 -s wrr
# -A(add)是创建添加虚拟服务器集群
# -t(tcp)后面指定集群VIP的地址和端口,协议是tcp协议
# -s后面指定调度算法,如rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)等等
           

3)添加真实服务器

[[email protected] ~]# ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.100 -w 1 -m
[[email protected] ~]# ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.200 -w 1 -m
#-a(add)往虚拟服务器集群中添加后端真实服务器IP,指定往-t 192.168.4.5:80这个集群中添加
#-r(real)后面跟后端真实服务器的IP和端口,这里不写端口默认是80端口
#-w(weight)指定服务器的权重,权重越大被访问的次数越多,英语词汇:weight(重量,分量)
#-m指定集群工作模式为NAT模式,如果是-g则代表使用DR模式,-i代表TUN模式
           

4)查看规则列表(L是list查看,n是number数字格式显示)

[[email protected] ~]# ipvsadm -Ln
           

5)设置防火墙,SELinux

[[email protected] ~]# firewall-cmd --set-default-zone=trusted
[[email protected] ~]# setenforce  0
[[email protected] ~]# sed -i  '/SELINUX/s/enforcing/permissive/'  /etc/selinux/config
           

步骤三:客户端测试

客户端client主机使用curl命令反复连接http://192.168.4.5,查看访问的页面是否会轮询到不同的后端真实服务器。