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 ...
随机推荐
- Excel 运算符(二):比较运算符
比较运算符用于对两个数据进行比较运算,其结果为 TRUE(真)或 FALSE(假). 运算符 含义 实例 结果 = 等于 =2=3 FALSE < 小于 =5<2 FALSE > 大 ...
- java后台生成文件给前端下载(response输出流)
1.设置 ContentType response.setContentType("application/x-download"); 2.设置文件名,并指定编码格式 fileNa ...
- 向日葵远程RCE漏洞分析及漏洞利用脚本编写
0x00 漏洞概述 向日葵是一款免费的,集远程控制电脑.手机.远程桌面连接.远程开机.远程管理.支持内网穿透等功能的一体化远程控制管理软件.如果想要手机远控电脑,或者电脑远控手机可以利用向日葵:如果是 ...
- Spark基础入门(01)—RDD
1,基本概念 RDD(Resilient Distributed Dataset) :弹性分布式数据集 它是Spark中最基本的数据抽象,是编写Spark程序的基础.简单的来讲,一个Spark程序可以 ...
- Spring 源码学习笔记10——Spring AOP
Spring 源码学习笔记10--Spring AOP 参考书籍<Spring技术内幕>Spring AOP的实现章节 书有点老,但是里面一些概念还是总结比较到位 源码基于Spring-a ...
- Sentinel控制台1.8.3修改源码,修改配置后推送到Nacos
目录 1. 接着上一篇 2. 思路 3. 下载Sentinel源码 4. 看Gateway里面读取的配置信息 5. 修改Sentinel控制台源码 6. 熔断规则测试 7. 限流规则测试 8. 打包使 ...
- 高颜值,类似Fliqlo的翻页时钟-BdTab新标签页插件组件
起因: 很多用户在使用BdTab插件时,反馈说希望添加一个时钟的功能, 而BdTab又是组件模块化的插件,于是在空余时间就用html+js+css写了一款高颜值的分页时钟 源码如下: 需要其他网页组件 ...
- Keepalived之简单有效的配置
1.简介 官网地址:https://www.keepalived.org/ 源码包下载地址:https://www.keepalived.org/download.html Keepalived是一种 ...
- 如何用 refcursor 返回结果集
可以通过返回 Refcursor 类型的函数,或者out 类型的函数或 procedure 返回结果集. 一.返回refcursor 类型的函数 create or replace function ...
- Docker安装Redis并使用Another Redis Desktop Manager连接
Redis简单介绍 Redis全称是Remote DIctionary Service,即远程字典服务.Redis 是一个使用C语言编写的.开源的(遵守 BSD 协议).高性能的.支持网络.可基于内存 ...