当前位置: 首页 > news >正文

LVS-----TUN模式配置

一、实验环境

主机名称ip角色
lvs-tun192.168.100.100lvs调度器
web1192.168.100.1后端web服务器1
web2192.168.100.2后端web服务器2
client192.168.100.200客户端

二、搭建lvs调度器的TUN模式

1、lvs-tun调度器配置

#清除DR模式的策略
ipvsadm -C 
#查看策略
ipvsadm -L    
[root@lvs-tun ~]# ipvsadm -C
[root@lvs-tun ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
#加载隧道模块 
[root@lvs-tun ~]# modprobe ipip 
[root@lvs-tun ~]#  ip a 
#添加ip临时添加
[root@lvs-tun ~]# ip addr add 192.168.1.100/24 dev tunl0
#使网卡生效
[root@lvs-tun ~]# ip link set up tunl0  
#开启路由转发功能
[root@lvs-tun ~]# cat /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@lvs-tun ~]# sysctl -p

在隧道模式里面添加策略

#设置轮询调度
[root@lvs-tun ~]# ipvsadm -A -t 192.168.1.100:80 -s rr 
#-i表示隧道模式,轮询web服务器
[root@lvs-tun ~]# ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.22:80 -i
[root@lvs-tun ~]# ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.33:80 -i
#保存策略
[root@lvs-tun ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
#查看策略文件
[root@lvs-tun ~]# cat /etc/sysonfig/ipvsadm

2、web服务器配置

#加载隧道模块 
[root@web1 ~]# modprobe ipip 
[root@web1 ~]# ip a 
#添加ip临时添加
[root@web1 ~]# ip addr add 192.168.1.100/24 dev tunl0  
#网卡生效
[root@web1 ~]# ip link set up tunl0  

在web1和web2上面分别修改反向过滤规则,防止丢包不是绝对必须,但强烈建议

  • 在 LVS - TUN 模式下,通常需要将反向路径过滤设置为02,以防止丢包。因为真实服务器从隧道接口接收请求,但响应数据包是通过物理接口发送回客户端的,严格的反向路径过滤(1)会认为这是非法的数据包而丢弃。

  • 系统会对流入的数据包进行反向路径校验,入包的数据是100,如果出包的数据不是100 ;这个数据就会被丢弃,所以我们要消除反向过滤的影响 。

  • 由于隧道模式实现的是不同网段的主机进行通信,如果信息要从服务端返回到客户端时 ,假设客户端和服务端不在同一个网段,数据根本出不去,所以我们需要关闭反向参数检验 。

rp_file参数用于控制系统是否开启对数据包源地址的校验,有三个值,含义分别如下:

  • 0:表示不开启源地址校验
  • 1:开启严格的反向路径校验,对每个进来的数据包,校验其反向路径是否是最佳路径,如果反向路径不是最佳路径,则直接丢弃该数据包
  • 2:开启松散的反向路径校验,对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不通,则直接丢弃该数据包
cat /etc/sysctl.confnet.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.tunl0.rp_filter=0
sysctl -p
sysctl -w net.ipv4.conf.all.rp_filter=0
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0
sysctl -a | grep rp_filter

3、测试


http://www.xdnf.cn/news/1159471.html

相关文章:

  • 【LeetCode刷题指南】--反转链表,链表的中间结点,合并两个有序链表
  • 【原创】微信小程序添加TDesign组件
  • tabBar设置底部菜单选项、iconfont图标(图片)库、模拟京东app的底部导航栏
  • 零基础学习性能测试第三章:执行性能测试
  • Windows CMD(命令提示符)中最常用的命令汇总和实战示例
  • 30天打牢数模基础-SVM讲解
  • Python 单例模式几种实现方式
  • Dify 1.6 安装与踩坑记录(Docker 方式)
  • ZooKeeper学习专栏(二):深入 Watch 机制与会话管理
  • 【单片机外部中断实验修改动态数码管0-99】2022-5-22
  • 大语言模型:人像摄影的“达芬奇转世”?——从算法解析到光影重塑的智能摄影革命
  • Vuex 核心知识详解:Vue2Vue3 状态管理指南
  • 【设计模式C#】享元模式(用于解决多次创建对象而导致的性能问题)
  • TypeScript 中替代 Interface 的方案
  • 17.TaskExecutor与ResourceManager交互
  • 对粒子群算法的理解与实例详解
  • 系统思考:整体论
  • 5.2.4 指令执行过程
  • 基于FPGA的多级流水线加法器verilog实现,包含testbench测试文件
  • Muon小记
  • 【unitrix】 6.9 减一操作(sub_one.rs)
  • 数据结构与算法汇总
  • Twisted study notes[2]
  • Node.js worker_threads 性能提升
  • ARM 学习笔记(三)
  • C 语言经典编程题实战:从基础算法到趣味问题全解析
  • python学智能算法(二十六)|SVM-拉格朗日函数构造
  • Beamer-LaTeX学习(教程批注版)【6】
  • AtCoder Beginner Contest 415
  • Linux系统中全名、用户名、主机名的区别