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 ...
随机推荐
- 基于 Sequelize.js + Express.js 开发一套 Web 后端服务器
什么是 Sequelize 我们知道 Web 应用开发中的 Web 后端开发一般都是 Java.Python.ASP.NET 等语言.十年前,Node.js 的出现使得原本仅限于运行在浏览器中的 Ja ...
- Get请求使用请求体传递参数会报400异常的问题
问题描述: 前端使用Get请求并且使用请求体传递参数,后端使用@RequestBody注解封装参数,这时会出现400的异常信息. 解决方法: 1.Get请求不要使用请求体,使用请求体的话用POST请求 ...
- window环境导入odbc数据源
<ODBC指南>中只介绍了window环境如何配置odbc数据源,但是没有介绍如何导入数据源驱动,这里做个补充. 在没有导入数据源驱动之前,按照文档操作是查不到kingbaseES的odb ...
- Oracle_FDW 使用介绍
本文以例子的形式介绍 KingbaseES(Postgresql)数据库如何通过 oracle_fdw 扩展访问Oracle数据库.以下例子在PG12.3 与 KingbaseES V8R6进行过实际 ...
- 使用 Spring Boot Admin 监控应用状态
程序员优雅哥 SpringBoot 2.7 实战基础 - 11 - 使用 Spring Boot Admin 监控应用状态 1 Spring Boot Actuator Spring Boot Act ...
- 查看当前看k8s集群支持的版本命令
# kubectl api-versions admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1beta1 apiexten ...
- 使用supervisor管理tomcat,nginx等进程详解
1,介绍 官网:http://supervisord.org Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时 ...
- 详解JS中 call 方法的实现
摘要:本文将全面的,详细解析call方法的实现原理 本文分享自华为云社区<关于 JavaScript 中 call 方法的实现,附带详细解析!>,作者:CoderBin. 本文将全面的,详 ...
- 线性回归大结局(岭(Ridge)、 Lasso回归原理、公式推导),你想要的这里都有
本文已参与「新人创作礼」活动,一起开启掘金创作之路. 线性模型简介 所谓线性模型就是通过数据的线性组合来拟合一个数据,比如对于一个数据 \(X\) \[X = (x_1, x_2, x_3, ..., ...
- 基于SqlSugar的开发框架循序渐进介绍(14)-- 基于Vue3+TypeScript的全局对象的注入和使用
刚完成一些前端项目的开发,腾出精力来总结一些前端开发的技术点,以及继续完善基于SqlSugar的开发框架循序渐进介绍的系列文章,本篇随笔主要介绍一下基于Vue3+TypeScript的全局对象的注入和 ...