LVS-NAT集群搭建

1、实验环境
操作系统:centos 7.7
内核版本:3.10.0-1062.el7.x86_64

服务器名称 ip地址
LVS VIP:(外网地址) 192.168.204.129 DIP:(内网ip)172.16.1.1
后端服务器r1 RIP:172.16.1.2
后端服务器r2 RIP:172.16.1.3

注:r1和r2 rip设置参考如下(注意rip网关许需要指定到dip,除rip网卡外,其他网卡应全部关闭)
在这里插入图片描述

在这里插入图片描述

2、关闭所有机器防火墙和selinux
在这里插入图片描述
3、在后端服务器r1和r2上安装httpd并启动

yum <span class="token function">install</span> httpd -y systemctl start httpd systemctl <span class="token function">enable</span> httpd
 yum <span class="token function">install</span> httpd -y systemctl start httpd systemctl <span class="token function">enable</span> httpd 
yum install httpd -y systemctl start httpd systemctl enable httpd

4、分别在后端服务器r1和r2得网站目录里创建index.html
注:yum安装apahce网站目录在:/var/www/html/
r1主机index.html填入r1
r2主机index.html填入r2

5、从lvs服务器测试网站,确保可以正常访问
在这里插入图片描述
6、配置lvs主机
a、安装ipvsadm

yum <span class="token function">install</span> ipvsadm -y
yum <span class="token function">install</span> ipvsadm -y 
yum install ipvsadm -y

b、启动ipvsadm

systemctl start ipvsadm systemctl <span class="token function">enable</span> ipvsadm
systemctl start ipvsadm systemctl <span class="token function">enable</span> ipvsadm 
systemctl start ipvsadm systemctl enable ipvsadm

注:启动报错解决
在这里插入图片描述
手动创建缺的配置文件,再次启动ipvsadm即可

<span class="token function">touch</span> /etc/sysconfig/ipvsadm
<span class="token function">touch</span> /etc/sysconfig/ipvsadm 
touch /etc/sysconfig/ipvsadm

c、开启内核转发

<span class="token keyword">echo</span> 1 <span class="token operator">>></span> /proc/sys/net/ipv4/ip_forward sysctl -p
<span class="token keyword">echo</span> 1 <span class="token operator">>></span> /proc/sys/net/ipv4/ip_forward sysctl -p 
echo 1 >> /proc/sys/net/ipv4/ip_forward sysctl -p

永久开启内核转发

<span class="token function">vi</span> /etc/sysctl.conf 添加如下 net.ipv4.ip_forward <span class="token operator">=</span> 1
<span class="token function">vi</span> /etc/sysctl.conf 添加如下 net.ipv4.ip_forward <span class="token operator">=</span> 1 
vi /etc/sysctl.conf 添加如下 net.ipv4.ip_forward = 1

d、加载ipvs内核参数

modprobe br_netfilter
modprobe br_netfilter 
modprobe br_netfilter
<span class="token function">cat</span> <span class="token operator">></span> /etc/sysconfig/modules/ipvs.modules <span class="token operator"><<</span>EOF <span class="token operator">></span> <span class="token operator">></span> modprobe -- ip_vs <span class="token operator">></span> modprobe -- ip_vs_rr <span class="token operator">></span> modprobe -- ip_vs_wrr <span class="token operator">></span> modprobe -- ip_vs_sh <span class="token operator">></span> modprobe -- nf_conntrack <span class="token operator">></span> EOF
<span class="token function">cat</span> <span class="token operator">></span> /etc/sysconfig/modules/ipvs.modules <span class="token operator"><<</span>EOF <span class="token operator">></span>  <span class="token operator">></span> modprobe -- ip_vs <span class="token operator">></span> modprobe -- ip_vs_rr <span class="token operator">></span> modprobe -- ip_vs_wrr <span class="token operator">></span> modprobe -- ip_vs_sh <span class="token operator">></span> modprobe -- nf_conntrack <span class="token operator">></span> EOF 
cat > /etc/sysconfig/modules/ipvs.modules <<EOF > > modprobe -- ip_vs > modprobe -- ip_vs_rr > modprobe -- ip_vs_wrr > modprobe -- ip_vs_sh > modprobe -- nf_conntrack > EOF
<span class="token function">chmod</span> 755 /etc/sysconfig/modules/ipvs.modules <span class="token operator">&&</span> <span class="token function">bash</span> /etc/sysconfig/modules/ipvs.modules <span class="token operator">&&</span> lsmod <span class="token operator">|</span> <span class="token function">grep</span> -e ip_vs -e nf_conntrack
<span class="token function">chmod</span> 755 /etc/sysconfig/modules/ipvs.modules <span class="token operator">&&</span> <span class="token function">bash</span> /etc/sysconfig/modules/ipvs.modules <span class="token operator">&&</span> lsmod <span class="token operator">|</span> <span class="token function">grep</span> -e ip_vs -e nf_conntrack 
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

在这里插入图片描述

e、添加lvs规则(以轮询方式为例)

ipvsadm -A -t 192.168.204.129:80 -s rr ipvsadm -a -t 192.168.204.129:80 -r 172.16.1.2 -m ipvsadm -a -t 192.168.204.129:80 -r 172.16.1.3 -m
ipvsadm -A -t 192.168.204.129:80 -s rr ipvsadm -a -t 192.168.204.129:80 -r 172.16.1.2 -m ipvsadm -a -t 192.168.204.129:80 -r 172.16.1.3 -m 
ipvsadm -A -t 192.168.204.129:80 -s rr ipvsadm -a -t 192.168.204.129:80 -r 172.16.1.2 -m ipvsadm -a -t 192.168.204.129:80 -r 172.16.1.3 -m

参数解释
-A :添加一个集群服务
-t :允许集群服务使用的传输协议为TCP
-s:指定调度算法 rr:调度算法轮询
-r:真实服务器地址
-m:使用nat模式集群

注:如果标题1环境中已经配置rip网关为dip,跳过第7步
注:第7步添加方式为临时添加,重启网络后路由消失,建议直接在rip网卡里配置

7、后端服务器r1和r2设置路由指向dip

yum <span class="token function">install</span> net-tools -y route add default gw 172.16.1.1 route -n
 yum <span class="token function">install</span> net-tools -y route add default gw 172.16.1.1 route -n 
yum install net-tools -y route add default gw 172.16.1.1 route -n

在这里插入图片描述

永久添加路由

方法一

<span class="token function">vi</span> /etc/sysconfig/network-scripts/route-ens33 添加如下 0.0.0.0/0 via 172.16.1.1 dev ens33
<span class="token function">vi</span> /etc/sysconfig/network-scripts/route-ens33 添加如下 0.0.0.0/0 via 172.16.1.1 dev ens33 
vi /etc/sysconfig/network-scripts/route-ens33 添加如下 0.0.0.0/0 via 172.16.1.1 dev ens33

方法二

<span class="token function">chmod</span> +x /etc/rc.d/rc.local <span class="token function">vi</span> /etc/rc.d/rc.local 添加如下 route add default gw 172.16.1.1
<span class="token function">chmod</span> +x /etc/rc.d/rc.local <span class="token function">vi</span> /etc/rc.d/rc.local 添加如下 route add default gw 172.16.1.1 
chmod +x /etc/rc.d/rc.local vi /etc/rc.d/rc.local 添加如下 route add default gw 172.16.1.1

8、测试
在这里插入图片描述

原文链接:https://blog.csdn.net/zyj81092211/article/details/116501328

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享