当前位置: 首页 > 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.lryc.cn/news/594186.html

相关文章:

  • 20250720-6-Kubernetes 调度-nodeName字段,DaemonS_笔记
  • Pinia 核心知识详解:Vue3 新一代状态管理指南
  • spring-cloud使用
  • 【数据结构】揭秘二叉树与堆--用C语言实现堆
  • 数据结构-线性表顺序表示
  • PrimeTime:高级片上变化(AOCV)
  • 小红书 MCP 服务器
  • Vue 3中reactive、ref、watchEffect和watch的底层原理及核心区别解析
  • SQL189 牛客直播各科目同时在线人数
  • SQL 调优第一步:EXPLAIN 关键字全解析
  • [Java恶补day44] 整理模板·考点七【二叉树】
  • Docker Desktop 入门教程(Windows macOS)
  • HTTP 进化史:从 1.0 到 3.0
  • The FastMCP Client
  • 你的created_time字段,用DATETIME还是TIMESTAMP?
  • Python自动化测试项目实战
  • Python 模块与包导入 基础讲解
  • Haproxy算法精简化理解及企业级高功能实战
  • 如何在看板中体现任务依赖关系
  • Windows CMD(命令提示符)中最常用的命令汇总和实战示例
  • 让黑窗口变彩色:C++控制台颜色修改指南
  • 30天打牢数模基础-SVM讲解
  • Linux操作系统从入门到实战(十一)回车换行问题与用户缓冲区问题
  • 内网后渗透攻击过程(实验环境)--3、横向攻击
  • dify创建OCR工作流
  • java抗疫物质管理系统设计和实现
  • 多人在线场景下Three.js同步机制设计:延迟补偿、状态插值的工程实践
  • 07_图像容器Mat_详解
  • 元学习算法的数学本质:从MAML到Reptile的理论统一与深度分析
  • maven构建Could not transfer artifact失败原因