LVS 部署(上
Posted abel2020
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS 部署(上相关的知识,希望对你有一定的参考价值。
LVS 部署(上)
1 LVS全称为Linux Virtual Server,工作在ISO模型中的第四层,修改nat-filter input 链,直接到postrouting
客户端和服务器直接建立连接,lvs是透明的
2、LVS术语
Director Server:调度服务器,即lvs server
Real Server:真实服务器,真正提供应用服务的服务器
VIP:虚拟IP地址,公布给用户访问的IP地址
RIP:真实IP地址,集群节点上使用的IP地址
DIP:Director连接到RealServer的IP地址
3 模式:
nat:路由转发模式
lvs充当Real Serve的网关,lvs对Real Serve 做S-nat
客户端请求--网关--lvs(虽然目的ip为lvs,LVS在intput链上修改目的ip,经output链)--RS--LVS(需手工做s-nat)--客户端
dr:直接路由模式
默认模式,DIP,RIP 在一个网络中,lvs和rs均仅使用1块物理网卡
lvs把到达的数据帧的目的MAC地址修改为某一台Real Serve的MAC,然后不经过lvs直接返回给客户端。lvs不修改三层包头
客户端请求--网关--lvs(不修改三层,修改目的mac为rs)--rs(物理接口-路由-lo:0-httpd-修改回城ip头--lo:0--物理接口)--网关--客户端
不要求vip和rip一个网段,只要dip和rip一个网段即可把数据帧送给rs,rs最终经物理接口出去即可。
tun:隧道模式
数据包到达lvs后,通过隧道到达RS后,不经过lvs直接返回给客户端
fullnat模式
lvs做D-nat和S-NAT
4 部署:
4.0
yum install ipvsadm
安装lvs cli工具, 因lvs已集成到linux内核
4.1 nat 模式,MASQUERADE
lvs
VIP: 192.168.90.70 网卡1 面向互联网接口ens33
DIP: 192.168.100.1 网卡2 和RS在一个网络ens34
RIP1: 192.168.100.11,网卡2 网关设置为 192.168.100.1
RIP2: 192.168.100.12,网卡2 网关设置为 192.168.100.1
vm测试部署方式:
lvs 网卡1 桥接,网卡2 Local
RS1,RS2 网卡2LocalAddress
RS1,RS2,lvs 网卡使用vm net10 组成二层网络
4.1.1 RS 部署httpd, 测试访问正常
4.1.2 lvs 配置:
// add virtual service
ipvsadm -A -t 192.168.90.70:80 -s rr
//add real server ,测试使用rr轮询算法,-m 使用nat 模式
ipvsadm -a -t 192.168.90.70:80 -r 192.168.100.1:80 -m -S rr
//保存配置
ipvsadm -s > /etc/sysconfig/ipvsadm
//重启lvs服务
servicectl restart ipvsadm
--------------------
ipvsadm -Ln 查看lvs服务
ipvsadm -E -t 修改lvs tcp 服务
ipvsadm -C 清空lvs服务
ipvsadm -S > /tmp/ip_vs.bak 备份配置
//测试结果:通过访问vip 实现轮询负载
# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP controller:http rr
TCP lvs:http wrr
-> 192.168.100.11:http Masq 1 0 0
-> 192.168.100.12:http Masq 1 0 0
4.2 dr模式:
lvs:
DIP 192.168.100.1 网卡2, VIP 192.168.100.100 网卡2别名ens33:0
(lvs一块网卡,怎么配置不重要,因为数据包到达RS后,解封装后,露出三层包头,转发依据源ip(客户端ip))
RIP1: 192.168.100.11 网卡2, VIP 192.168.100.1 lo:0
RIP2: 192.168.100.12 网卡2, VIP 192.168.100.1 lo:0
lvs和RS网关均设置为192.168.100.254
//客户端请求到达网关后,只能送给lvs,网关的arp广播RS不能响应
方式1: 网关静态mac表,不广播,不推荐
方式2: RS iptables做arp过滤,不让arp进来或者出去
方式3: RS 把vip配置在lo:0接口,过滤arp
vm测试部署方式:
RS1,RS2,lvs 网卡使用vm net10 组成二层网络,
4.2.1 配置dip,rip
4.2.2 配置
lvs配置vip:ifconfig ens33:0 192.168.100.100/32 up
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
//先用用再配置ip,防止交换机收到
rs禁用arp: echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
rs配置ip: ifconfig lo:0 192.168.100.100/32
//host主机测试连通性,确认vip mac为lvs ens33mac
C:Userswu>ping 192.168.100.100
正在 Ping 192.168.100.100 具有 32 字节的数据:
来自 192.168.100.100 的回复: 字节=32 时间<1ms TTL=64
C:Userswu>arp -a
192.168.100.100 00-0c-29-d4-ca-d6 动态
# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::c2f7:1b74:8e1e:7f7c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d4:ca:d6 txqueuelen 1000 (Ethernet)
//rs修改路由
route add -host 192.168.100.100 dev lo:0
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.100.100 0.0.0.0 255.255.255.255 UH 0 0 0 lo
//配置lvs
ipvsadm -A -t 192.168.100.100:80 -s rr
ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.11:80 -g
//测试
# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP lvs:http rr
-> 192.168.100.11:http Route 1 0 1
-> 192.168.100.12:http Route 1 0 1
以上是关于LVS 部署(上的主要内容,如果未能解决你的问题,请参考以下文章