LVS之NAT、DR、TUNNEL实验
1、LVS-NAT规则+WRR算法

| 服务器 | IP地址 | 作用 | 系统版本 |
|---|---|---|---|
| RS1 | 10.0.0.8/24 GW:10.0.0.101 |
网站服务器 | Rocky8.6 |
| RS2 | 10.0.0.18/24 GW:10.0.0.101 |
网站服务器 | Rocky8.6 |
| LVS | eth0: 10.0.0.101 eth1: 192.168.10.101 |
LVS负载均衡调度器 | Ubuntu2004 |
## RS1配置
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
=====================================
## RS2配置
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
=======================================
## LVS配置
[root@lvs ~]#apt install ipvsadm
[root@lvs ~]#ipvsadm -A -t 192.168.10.101:80 -s wrr
[root@lvs ~]#ipvsadm -a -t 192.168.10.101:80 -r 10.0.0.8:80 -m
[root@lvs ~]#ipvsadm -a -t 192.168.10.101:80 -r 10.0.0.18:80 -m
[root@lvs ~]#ipvsadm -Ln
[root@lvs ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
=========================================
## 客户端测试
[root@client ~]#curl 192.168.10.101
RS2
[root@client ~]#curl 192.168.10.101
RS1
[root@client ~]#curl 192.168.10.101
RS2
[root@client ~]#curl 192.168.10.101
RS1
[root@client ~]#curl 192.168.10.101
RS2
========================================
## LVS修改权重
[root@lvs ~]#ipvsadm -e -t 192.168.10.101:80 -r 10.0.0.8 -m -w 3
[root@lvs ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.101:80 wrr
-> 10.0.0.8:80 Masq 3 0 0
-> 10.0.0.18:80 Masq 1 0 0
=======================================
## 客户端测试
[root@client ~]# curl 192.168.10.101
RS1
[root@client ~]# curl 192.168.10.101
RS1
[root@client ~]# curl 192.168.10.101
RS1
[root@client ~]# curl 192.168.10.101
RS2
2、LVS-NAT规则+RR算法

# 在以上基础上修改:
[root@lvs ~]#ipvsadm -E -t 192.168.10.101:80 -s rr
[root@lvs ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.101:80 rr
-> 10.0.0.8:80 Masq 1 1 4
-> 10.0.0.18:80 Masq 1 0 4
#客户端测试:
[root@client ~]#while :;do curl 192.168.10.101;sleep 0.5;done
RS2
RS1
RS2
RS1
RS2
RS1
RS2
RS1
RS2
....
3、LVS-DR规则

| 服务器 | IP地址 | 作用 | 系统版本 |
|---|---|---|---|
| RS1 | lo: 10.0.0.200/32 eth0: 10.0.0.18/24 GW:10.0.0.101 | 网站服务器 | Rocky8.6 |
| RS2 | lo: 10.0.0.200/32 eth0: 10.0.0.8/24 GW:10.0.0.101 | 网站服务器 | Rocky8.6 |
| LVS | lo: 10.0.0.200/32 eth0: 10.0.0.28/24 GW:10.0.0.101 | LVS负载均衡调度器 | Rocky8.6 |
| Router | eth0: 10.0.0.101 eth1: 192.168.10.101 | 路由器 | Ubuntu2004 |
| clinet | eth0: 192.168.10.11 GW: 192.168.10.101 | 客户机测试 | Rocky8.6 |
## RS1:
[root@RS1 ~]# ifconfig lo:1 10.0.0.200/32
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
================================================
## RS2:
[root@RS2 ~]# ifconfig lo:1 10.0.0.200/32
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
==================================================
## LVS:
[root@LVS ~]# ifconfig lo:1 10.0.0.200/32
[root@lvs ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@LVS ~]# ipvsadm -A -t 10.0.0.200:80 -s rr
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.8:80 -g
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.18:80 -g
================================================
## client测试:
[root@client ~]# ip r
default via 192.168.10.101 dev eth0 proto static metric 100
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
4、 LVS-DR规则多网段

| 服务器 | IP地址 | 作用 | 系统版本 |
|---|---|---|---|
| RS1 | lo: 172.16.0.100/32 eth0: 10.0.0.18/24 GW:10.0.0.101 | 网站服务器 | Rocky8.6 |
| RS2 | lo: 172.16.0.100/32 eth0: 10.0.0.8/24 GW:10.0.0.101 | 网站服务器 | Rocky8.6 |
| LVS | lo: 172.16.0.100/32 eth0: 10.0.0.28/24 GW:10.0.0.101 | LVS负载均衡调度器 | Rocky8.6 |
| Router | eth0: 10.0.0.101 eth0:1 172.16.0.101 eth1: 192.168.10.101 | 路由器 | Ubuntu2004 |
| clinet | eth0: 192.168.10.11 GW: 192.168.10.101 | 客户机测试 | Rocky8.6 |
## Router:
[root@Router ~]#ip a a 172.16.0.101/24 dev eth0
==============================================
## RS1:
[root@RS1 ~]# ifconfig lo:1 172.16.0.100/32
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
================================================
## RS2:
[root@RS2 ~]# ifconfig lo:1 172.16.0.100/32
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
==================================================
## LVS:
[root@LVS ~]# ifconfig lo:1 172.16.0.100/32
[root@lvs ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@LVS ~]# ipvsadm -A -t 172.16.0.101:80 -s rr
[root@LVS ~]# ipvsadm -a -t 172.16.0.101:80 -r 10.0.0.8:80 -g
[root@LVS ~]# ipvsadm -a -t 172.16.0.101:80 -r 10.0.0.18:80 -g
================================================
## client测试:
[root@client ~]# ip r
default via 192.168.10.101 dev eth0 proto static metric 100
[root@client ~]# curl 172.16.0.100
RS2
[root@client ~]# curl 172.16.0.100
RS1
[root@client ~]# curl 172.16.0.100
RS2
[root@client ~]# curl 172.16.0.100
RS1
[root@client ~]# curl 172.16.0.100
RS2
[root@client ~]# curl 172.16.0.100
RS1
5、LVS-TUNNEL

| 服务器 | IP地址 | 作用 | 系统版本 |
|---|---|---|---|
| RS1 | tunl0: 10.0.0.200/32 eth0: 10.0.0.18/24 GW:10.0.0.101 | 网站服务器 | Rocky8.6 |
| RS2 | tunl0: 10.0.0.200/32 eth0: 10.0.0.8/24 GW:10.0.0.101 | 网站服务器 | Rocky8.6 |
| LVS | tunl0: 10.0.0.200/32 eth0: 10.0.0.28/24 GW:10.0.0.101 | LVS负载均衡调度器 | Rocky8.6 |
| Router | eth0: 10.0.0.101 eth1: 192.168.10.101 | 路由器 | Ubuntu2004 |
| clinet | eth0: 192.168.10.11 GW: 192.168.10.101 | 客户机测试 | Rocky8.6 |
## RS1:
[root@RS1 ~]# ip a a 10.0.0.200/32 dev tunl0
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #1 如果是跨地域,这四条是不需要更改的(实验在同一网络,所以需要更改)
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #2
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore #3
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announc #4
[root@RS1 ~]# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
[root@RS1 ~]# echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
================================================
## RS2:
[root@RS2 ~]# ip a a 10.0.0.200/32 dev tunl0
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #1 如果是跨地域,这四条是不需要更改的(实验在同一网络,所以需要更改)
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #2
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore #3
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce #4
[root@RS2 ~]# echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
[root@RS2 ~]# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
==================================================
## LVS:
[root@LVS ~]# ip a a 10.0.0.200/32 dev tunl0
[root@LVS ~]# ip link set up tunl0
[root@LVS ~]# lsmod | grep ipip
ipip 16384 0
tunnel4 16384 1 ipip
ip_tunnel 28672 1 ipip
[root@LVS ~]# ipvsadm -A -t 10.0.0.200:80 -s wrr
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.8:80 -i
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.18:80 -i
==================================================
## client测试:
[root@client ~]# ip r
default via 192.168.10.101 dev eth0 proto static metric 100
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
LVS之NAT、DR、TUNNEL实验的更多相关文章
- LVS DR模式实验
LVS DR模式实验 三台虚拟机,两个台节点机(Apache),一台DR实验调度机 一:关闭相关安全机制 systemctl stop firewalld iptables -F setenforce ...
- Linux学习-LVS跨网段DR模型和FWM多服务绑定
一.实验环境 系统:CentOS7.6 主机:5台 (虚拟机) 客户端1台:172.16.236.134/24 (NAT网卡),网关指向 172.16.236.185/24(路由服务器) 路由服务器1 ...
- LVS集群DR模式实例(4)
LVS集群DR模式实例 1. 实验拓扑图 2. 实验环境 3台CentOS6.4 64bit的服务器. 类型 IP DR eth0:10.20.73.20 VIP eth0:0 10.20.73.3 ...
- centos7 lvs+keepalived nat模式
1.架构图 3.地址规划 主机名 内网ip 外网ip lvs-master 192.168.137.111(仅主机)eth1 172.16.76.111(桥接)eth0 lvs-slave 192 ...
- LVS负载均衡DR模式
什么是集群? 一组相互独立的计算机,利用高速通信网络组成的一个计算机系统,对于客户机来说像是一个单一服务器,实际上是一组服务器.简而言之,一堆机器协同工作就是集群.集群的基本特点:高性能.高并发.高吞 ...
- LVS基于NAT模式搭建负载均衡群集
LVS的基本架构图 负载均衡群集中,包括三个层次的组件: 1.第一层,负载调度器(BL) 前段至少有一个负载调度器(Load Balancer 或称为Director)负责响应并分发来自客户端的访问请 ...
- LVS负载均衡DR工作流程
LVS负载均衡DR工作流程 (a) 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链. 此时报文的源IP为CIP,目标IP为VIP (b) PRE ...
- lvs负载均衡(DR模式)
lvs负载均衡(DR模式) 系统环境:lvs+keepalivedcentos7.5 ip:192.168.1.157 vip:192.168.1.150(主)centos7.5 ip:192.168 ...
- 使用tcpdump测试反向代理和lvs的nat区别
关于反向代理,一个请求过来,实际反向代理服务器要和两个对象做3次握手 客户端到反向代理服务器,是一个3次握手 反向代理服务器请求后端web服务器,是一个3次握手 lvs的nat和反向代理不同. lvs ...
- LVS跨网段DR模型
客户端IP地址:172.16.8.147 路由器服务器IP地址:172.16.8.167内网IP地址:192.168.1.3 一.将客户端的网关修改为路由服务器IP地址 vim ifcfg-ens33 ...
随机推荐
- 跟我学Python图像处理丨基于灰度三维图的图像顶帽运算和黑帽运算
摘要:本篇文章结合灰度三维图像讲解图像顶帽运算和图像黑猫运算,通过Python调用OpenCV函数实现. 本文分享自华为云社区<[Python图像处理] 十三.基于灰度三维图的图像顶帽运算和黑帽 ...
- transform: scale() 实现鼠标悬浮在元素之上出现和消失
前言 transform属性允许你旋转,缩放,倾斜或平移给定元素.其中scale(x, y)就是实现元素缩放的属性值. scale(x, y)的 x 乘以原本元素的 x:y 乘以原本的元素 y,就可以 ...
- Linux有趣命令
通外网 下载使用阿里云镜像源:wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.re ...
- 《Java编程思想》读书笔记(四)
前言:三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第十七章到第十八章的内容,这一次 ...
- KingbaseES V8R6兼容Oracle的exp-imp导出导入工具使用
说明: KingbaseES V8R6版本中的兼容Oracle的exp-imp导入导出工具,支持完全模式.用户模式和表模式的导出功能. 本次案例数据库版本: test=# select version ...
- KingbaseES V8R3 集群专用机网关失败分析案例
KingbaseES R3集群网关检测工作机制: 1.Cluster下watchdog进程在固定间隔时间,通过ping 网关地址监控链路的连通性,如果连通网关地址失败,则修改cluster sta ...
- Linux_more_less总结
先写结论 : less is more,使用less 优于使用more more 和 less的区别 优于more不能后退,而less 就在其基础上增加了后退功能 less 可以使用键盘上的上下方向键 ...
- git hooks在业务中的使用
起因 最近公司项目发生了一起线上事故,最后排查下来是配置文件的问题.项目里application.yml文件内会用@build.time@记录打包时的时间,但是这个写法是build-helper-ma ...
- Vim使用技巧(持续更新)
好记性不如烂笔头,在这里记录一些Vim使用技巧 vim配置 "拷贝同步到系统剪切板" set clipboard=unnamed "显示行号" set nu & ...
- 类的常成员const
成员数据 以Human为例: 类中: 传统的初始化方式: ...