ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lvs的nat模式部署

2021-12-16 15:36:39  阅读:178  来源: 互联网

标签:web lvs 部署 keepalived 10.135 nat 10.10 net 节点


目录

一.环境准备

LVS+keepalived主机
真实:10.10.10.10
虚拟:10.10.10.135

LVS+keepalived备机
真实:10.10.10.11
虚拟:10.10.10.135

后端web服务器A
真实:10.10.10.60

后端web服务器B
真实:10.10.10.61

二.安装

后端web(A和B操作)

需要A和B均操作如下,在创建测试页面部分需要变动

1.安装httpd服务器
yum install -y httpd
systemctl start httpd
systemctl enable httpd

2.创建测试页面并测试,A和B机器页面要不一样
echo "welcome A" > /var/www/html/index.html
curl http://127.0.0.1

3.编写转发脚本
vim forward.sh

#!/bin/bash

#用于和Lvs连接的网卡
net_card=enp0s8

#Lvs的vip,也就是网关
gate_way=10.10.10.135



#设置IP转发
echo "0" > /proc/sys/net/ipv4/ip_forward

#避免arp广播问题
echo 1 > /proc/sys/net/ipv4/conf/${net_card}/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/${net_card}/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

#设置路由
/sbin/route add -host ${gate_way} dev ${net_card}

4.执行脚本
bash forward.sh

5.检测,可以看到多了一条路由的
rount -n

负载均衡(主和从)

需要主和从均操作如下,在router_id,指定主从,优先级处需要变

1.安装依赖
yum install -y openssl openssl-devel keepalived ipvsadm

2.配置
vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   router_id lb01 #路由id号,不能重复,从需要更改
}

vrrp_instance VI_1 {
	#指定该节点为主节点,备用节点设置为BACKUP
	state MASTER
	#绑定虚拟IP的网络接口
    interface enp0s8

	#VRRP组名,两个节点设置一样,以指明各个节点同属一VRRP组
    virtual_router_id 51

	#主节点的优先级,从节点需要比主节点低
    priority 100

	#组播信息发送间隔,两个节点需一致
    advert_int 1

	#设置验证信息,两个节点需一致
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    
virtual_ipaddress {
        10.10.10.135
    }
}

#虚拟IP服务
virtual_server 10.10.10.135 80 {
    #设定检查间隔
    delay_loop 6

    #指定LVS算法,rr为轮询
    lb_algo rr

    #指定LVS模式,当前NAT
    lb_kind NAT

    nat_mask 255.255.255.0

    #持久连接设置,会话保持时间
    persistence_timeout 50

    #转发协议为TCP
    protocol TCP

    #后端实际TCP服务配置
    real_server 10.10.10.60 80 { #后端web服务A
       weight 1
       HTTP_GET {  #健康检测方式
                url {
                  path /
                  status_code 200 #返回200则ok
                }
                connect_timeout 1 #超时时间
                nb_get_retry 3 #重试次数
                delay_before_retry 2 #多长时间重试
            }
}

  real_server 10.10.10.233 80 { #后端web服务B
     weight 1
     HTTP_GET {  #健康检测方式
                url {
                  path /
                  status_code 200
                }
                connect_timeout 1
                nb_get_retry 3
                delay_before_retry 2
            }
  }
}

3.配置转发脚本
vim forward.sh

#转发
echo "1" >/proc/sys/net/ipv4/ip_forward

#清除ipvsadm表
ipvsadm -C

#提供的服务
/sbin/ipvsadm -A -t 10.10.10.135:80 –p 300

#后端服务器集群 -m是NAT,-g是DR,-i是TUN,-w权重
/sbin/ipvsadm -a -t 10.10.10.135:80 -r 10.10.10.60:80 -m -w 1
/sbin/ipvsadm -a -t 10.10.10.135:80 -r 10.10.10.233:80 -m -w 1

4.启动脚本
bash forward.sh

5.启动keepalived
systemctl start keepalived
systemctl enable keepalived

6.测试,查看是否有10.10.10.135这个虚拟ip
ip addr

测试网页,看是否轮询了
curl http://10.10.10.135
curl http://10.10.10.135

三.使用验证

负载均衡挂掉一个节点,访问正常

1.在负载均衡主上关机
init 0

2.在浏览器测试
curl http://10.10.10.135

web服务挂掉一个节点,访问正常

1.在web服务A上关机
init 0

2.在浏览器测试
curl http://10.10.10.135

标签:web,lvs,部署,keepalived,10.135,nat,10.10,net,节点
来源: https://www.cnblogs.com/rxysg/p/15698342.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有