LB-LVS解析与部署(一)

原理解析

💯LVS:

在这里插入图片描述

  • 中国开发,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。
  • 是一台独立的负载均衡服务器
  • 有三种模式:NAT网络地址转换、DR路由直连、TUN隧道
  • 进行集群代理,用户的请求通过LVS,LVS将请求(负载均衡)分发给对应的real Server(真实服务器)
  • LVS-NAT 用于不同的网段之间的 通信,LVS-DR 用于同一网段 通信

一、LVS-NAT 部署

在这里插入图片描述

简介

NAT 转发模式:Network Address Translation 网络地址转换

优点:网络隔离安全,客户端只能访问到LVS、节约IP(虚拟IP替换一个公网IP)

缺点:用户所有的进出流量都要经过LVS服务器,当某一时间点用户PV量突增,LVS处理性能差,将会成为瓶颈

架构:Client > 互联网(公网) > 路由器 > 交换机 > (公网IP) LVS (私网IP) > Web服务器(私网)

工作流程

  • 首先 LVS 服务器 必须能够 同时连接 公网与私网,把LVS充当路由转发器
  • 外网客户端Client 向内网Web请求数据
    • Client(公网IP)先到达 LVS(负载),LVS会将公网IP地址进行转换(私网IP)
    • 转换为与Web同网段的私网IP,将请求转发进行路由到后方对应的Web服务器
  • Web 向 客户端Client 传输请求的数据
    • Web服务器(私网IP)返回数据,先到达LVS,LVS会将私网IP转换 (公网IP)
    • 转换为与Client同网段的IP,将请求回复给 Client

1、环境准备

1、client:vmnet0 192.168.35.141
2、LVS:vmnet0 192.168.35.15	vmnet2 192.168.239.128
3、web1:vmnet2 192.168.239.130
4、web2:vmnet2 192.168.239.131

# systemctl --now disable firewalld
# sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
# setenforce 0

2、web软件安装

1、安装与开启http:
# yum -y install httpd net-tools
# systemctl --now enable httpd

2、web1网站内容:
# echo 'web1' > /var/www/html/index.html
3、web2网站内容:
# echo 'web2' > /var/www/html/index.html

3、web 路由配置

3.1、web1
LVS的vmnet0的IP网段:
# route add -net 192.168.35.0/24 gw 192.168.239.128
3.2、web2
LVS的vmnet0的IP网段:
# route add -net 192.168.35.0/24 gw 192.168.239.128

4、LVS配置

4.1、配置路由转发
1、临时开启转发:
# echo 1 > /proc/sys/net/ipv4/ip_forward
如果想要永久开启
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p 生效
4.2、安装软件
ip Virtula Server admin  # ip虚拟服务管理
# yum -y install ipvsadm
4.3、进行路由建立
1、对外提供虚拟IP,填写vmnet0的IP:
# ipvsadm -A -t 192.168.35.15:80 -s rr
2、虚拟IP路由转发请求到Web:
# ipvsadm -a -t 192.168.35.15:80 -r 192.168.239.130:80 -m
# ipvsadm -a -t 192.168.35.15:80 -r 192.168.239.131:80 -m

5、Client 访问测试

# yum -y install elinks
1、访问LVS的虚拟IP:
# elinks --dump http://192.168.35.15
   web1
# elinks --dump http://192.168.35.15
   web2

6、删除路由

1、查看路由
# ipvsadm -l

2、删除虚拟IP
# ipvsadm -D -t 192.168.35.15:80

3、删除虚拟IP路由转发规则
# ipvsadm -d -t 192.168.35.15:80 -r 192.168.239.131:80

二、LVS-DR部署

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7QOvX9N-1640083216409)(服务部署过程.assets/LVS-DR.jpg)]

简介

DR路由直连模式: Dirct connections Route

优点:解决了LVS-NAT模式的瓶颈,吞吐量优于NAT,Web服务回复给用户的数据不经过LVS,直接发送给客户端Client,因为在同一网段。

缺点:安全性相对于LVS-NAT 较弱,在同一网段

架构:Client > LVS > Web-Server

工作流程:

  • Client访问Web
    • 当Client请求Web数据时,先到达LVS(VIP)
    • 通过LVS的VIP到达 后方的Web服务器的lo:0,通过配置的lo:0 最终请求到Web
    • 原理上是对 MAC地址之间的访问,由Client源IP(MAC) 与 VIP的MAC进行关联
    • 其实 VIP的MAC就是 Web上 lo:0 的MAC
  • Web 返回 数据给 Client,直接返回,不经过LVS

1、环境准备

1、client:192.168.178.7
2、LVS:192.168.178.60
3、web1:192.168.178.61
4、web2:192.168.178.16

# systemctl --now disable firewalld
# sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
# setenforce 0

2、LVS配置

2.1、添加虚拟IP
1、安装服务
# yum -y install net-tools ipvsadm

2、添加虚拟IP:
# ifconfig ens33:0 192.168.178.100 brodercast 192.168.178.255 netmask 255.255.255.0 up

如果你想永久添加虚拟IP,请看下方
# cd /etc/sysconfig/network-scripts/
# cp -r ifcfg-ens33 ifcfg-ens33:0
# vim ifcfg-ens33:0
找到进行修改
IPADDR=192.168.178.100
NAME=ens33:0
DEVICE=ens33:0
删除UUID这行

# systemctl restart network
2.2、配置虚拟路由
1、虚拟路由
# route add -host 192.168.178.100 dev ens33:0

2、配置路由转发
# vim /etc/sysctl.conf
#开启路由转发功能
net.ipv4.ip_forward=1
#禁止重定向报文
net.ipv4.conf.all.send_redirects=0
#禁止ens33转发重定向报文
net.ipv4.conf.ens33.send_redirects=0
#禁止转发默认重定向报文
net.ipv4.conf.default.send_redirects=0
2.3、配置负载规则
1、配置负载规则,路由后方的Web:
# ipvsadm -A -t 192.168.178.100:80 -s rr
# ipvsadm -a -t 192.168.178.100:80 -r 192.168.178.16:80 -g
# ipvsadm -a -t 192.168.178.100:80 -r 192.168.178.61:80 -g

2、规则永久生效:
# ipvsadm-save > /etc/sysconfig/ipvsadm

3、设置开机自启
# systemctl enable ipvsadm

4、查看配置成功的路由
# ipvsadm -ln

3、Web配置

web1 与 web2 同时进行

3.1、添加虚拟IP

**解析:**lo(local back):本机的虚拟网卡,回环地址 设置32位子网掩码,该IP有且一个,防止地址冲突

1、web1与web2同时进行:
# ifconfig lo:0 192.168.178.100/32
3.2、设置内核参数
1、忽略ARP响应,不允许接收
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

2、让VIP发包出去,但允许发
# echo 2 >  /proc/sys/net/ipv4/conf/all/arp_announce

4、测试访问

1、安装测试软件:
# yum -y install elinks

2、访问虚拟IP,进行测试
# elinks http://192.168.178.100 --dump
   web2
# elinks http://192.168.178.100 --dump
   web1
   
3、在LVS服务器上查看路由信息:
# ipvsadm -lnc
IPVS connection entries
pro expire state       source             virtual            destination
TCP 00:08  FIN_WAIT    192.168.178.7:57086 192.168.178.100:80 192.168.178.61:80
TCP 00:07  FIN_WAIT    192.168.178.7:57080 192.168.178.100:80 192.168.178.16:80
TCP 00:06  FIN_WAIT    192.168.178.7:57078 192.168.178.100:80 192.168.178.61:80
TCP 00:05  FIN_WAIT    192.168.178.7:57076 192.168.178.100:80 192.168.178.16:80
TCP 00:01  FIN_WAIT    192.168.178.7:57074 192.168.178.100:80 192.168.178.61:80
TCP 00:07  FIN_WAIT    192.168.178.7:57082 192.168.178.100:80 192.168.178.61:80
TCP 00:08  FIN_WAIT    192.168.178.7:57084 192.168.178.100:80 192.168.178.16:80
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值