一、LVS概念
VS: Virtual Sever (调度器)
RS: Real Sever (资源主机)
CIP: Client IP (用户IP)
VIP: Virtual sever IP (VS外网的IP,客户访问的IP)
DIP: Director IP (VS内网的IP,调度器与资源主机之间的IP)
RIP: Real server IP (资源主机的IP)
二、NAT模式
- 本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和
- PORT实现转发
- RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
- 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
- 支持端口映射,可修改请求报文的目标PORT
- VS必须是Linux系统,RS可以是任意OS系统
nat模式数据逻辑
nat模式实验环境配置
克隆四台主机:Client LVS RS1 RS2
LVS添加网卡:模式选择仅主机
RS1 RS2 :网卡模式选择仅主机
Client:
LVS:
VIP:172.25.254.100 DIP:192.168.0.100
启用内核路由功能:
RS1:
安装httpd::[root@RS1 ~]# dnf install httpd -y
开启web服务,默认发布页里写入内容:
[root@RS1 ~]# systemctl disable --now firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[root@RS1 ~]# echo RS1 - 192.168.0.10 > /var/www/html/index.html
[root@RS1 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
LVS测试:
RS2:
安装httpd::[root@RS2 ~]# dnf install httpd -y
同上进行web操作
LVS软件安装及命令使用
安装ipvsadm
程序包:ipvsadmUnit File: ipvsadm.service主程序:/usr/sbin/ipvsadm规则保存工具:/usr/sbin/ipvsadm-save规则重载工具:/usr/sbin/ipvsadm-restore配置文件:/etc/sysconfig/ipvsadm-configipvs调度规则文件:/etc/sysconfig/ipvsadm
[root@lvs ~]# dnf install ipvsadm -y
LVS集群中的增删改:
1.管理集群服务中的增删改
- -A #添加
- -E #修改
- -t
- #tcp服务
- -u #udp服务
- -s #指定调度算法,默认为WLC
- -p #设置持久连接超时,持久连接可以理解为在同一个时间段同一个来源的请求调度到同一Realserver
- -f #firewall mask 火墙标记,是一个数字
复制一个LVS的标签页查看操作结果:watch -n1 ipvsadm -Ln
2.管理集群中RealServer的增删改
- -a #添加realserver
- -e #更改realserver
- -t #tcp协议
- -u #udp协议
- -f #火墙 标签
- -r #realserver地址
- -g #直连路由模式(DR)
- -i #ipip隧道模式
- -m #nat模式
- -w #设定权重
- -Z #清空计数器
- -C #清空lvs策略
- -L #查看lvs策略
- -n #不做解析
- --rate :输出速率信息
ipvsadm的备份及恢复:
让服务器开机时加载策略:
NAT模式的实现过程
在LVS中添加调度策略:
关闭防火墙;
修改RS1与RS2的网关:
Client端验证:
注:真实企业中RS1与RS2中设置的网页内容应一致,此处为观察效果。
NAT模式弊端:
由于VS调度器需要拆包解包,能够承载后端服务器有限,最多10台后端服务器。
三、DR模式
DR模式数据逻辑
DR模式传输过程
DR模式实验环境配置
Client:
Router:
开启内核路由功能:
打开防火墙,开启地址伪装:
LVS-DR:
RS1:
RS2:
同上
DR模式实现过程
对RS的VIP实施响应管控(在两个RS主机中设定lo不对外响应)
sysctl -a | grep arp
ignore =1 跳过 announce = 1 响应外部 announce = 2 响应内部
设定调度策略:
Client测试: