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

源/目的检查开启导致虚拟IP背后的LVS无法正常访问

情况描述

近期发现48网段主机无法访问8.83这个VIP(虚拟IP),环境是 8.83 绑定了两个LVS实例,然后LVS实例转发到后端的nginx 静态资源;整个流程是,客户端发起对VIP的请求,LVS将请求转发到后端实例,后端实例直接返回给客户端。

处理步骤

1、同网段端口不通,考虑是否有主机层面防火墙,检查是没有的

2、nmap扫描VIP的端口,发现22、111正常,80/443拦截,考虑是否安全组限制,检查发现并没有限制

Starting Nmap 6.40 ( http://nmap.org ) at 2024-04-26 10:09 CST
Nmap scan report for 1.1.8.83
Host is up (0.00018s latency).
Not shown: 996 closed ports
PORT    STATE    SERVICE
22/tcp  open     ssh
80/tcp  filtered http
111/tcp open     rpcbind
443/tcp filtered https
MAC Address: XX:XX:XX:XX:XX:XX (Unknown)

3、考虑后端端口是否正常,尝试客户端直接访问后端端口,发现正常可访问

此时,直接访问VIP端口,也能访问了,这个就暂时无法理解(过了一阵子又发生了这个情况)

4、抓包(对比没有访问过后端实例的请求与被拦截的请求),因为已经可以访问了,看不出来

5、突然想起来,云网卡上有个源目的检测,发现后端服务器云网卡有开启这个开关,关闭后不再拦截

总结

这个情况属实是没想到,默认开启的开关一时半会也没关联到这方面,凑巧解决的,应该是过了LVS,后端云网卡认为源端应该是LVS而不是客户机,然后发送报文被拦截了,也可能是其他原因

看来问题不光出现在视野范围内啊;

补充说明

以下内容是摘抄云网卡上对源目的检测的说明:

为安全起见,默认情况下“源/目的检查”的状态为“ON”,系统会检查弹性云服务器发送的报文中源IP地址是否正确,如果不正确,则不允许发送该报文。通过该功能,有助于防止伪装报文攻击,提升安全性。

以下两种场景,您需要通过设置“源/目的检查”状态为“OFF”,禁用该功能,以保证报文正常转发:

1. 在SNAT场景下,配置SNAT的弹性云服务器起转发作用,这种保护机制会导致报文的发送者无法接收到返回的报文。

2. 在虚拟IP场景下,绑定虚拟IP的弹性云服务器,绑定的网卡需要发送源IP为虚拟IP的报文。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • GEE数据:Sentinel-2数据更新新增两个云和雪波段(MSK_CLDPRB和MSK_SNWPRB)
  • 从0开始的HarmonyOS NEXT —— 认识基础架构到hello world页面添加(第一章)
  • 「数组」C++STL库vector(动态数组|向量)全部函数介绍
  • 二进制部署k8s集群之master节点和etcd数据库集群(上)
  • Redis#架构师面试题
  • node+mysql+layui+ejs实现左侧导航栏菜单动态显示
  • STM32 | 看门狗IWDG喂狗实战
  • ChatGPT秘籍:如何用AI阅读文献,提升你的学术效率
  • 计算机基础(day1)
  • dpdk发送udp报文
  • Linux常用工具
  • VirtualBox创建共享磁盘
  • 阻塞和非阻塞,同步和异步
  • 下面关于Date类的描述错误的一项是?
  • Hive3:基本介绍
  • Google 是如何开发 Web 框架的
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Druid 在有赞的实践
  • Hibernate最全面试题
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript标准库系列——Math对象和Date对象(二)
  • MySQL用户中的%到底包不包括localhost?
  • spring cloud gateway 源码解析(4)跨域问题处理
  • 从tcpdump抓包看TCP/IP协议
  • 给新手的新浪微博 SDK 集成教程【一】
  • 官方解决所有 npm 全局安装权限问题
  • 算法之不定期更新(一)(2018-04-12)
  • 一个完整Java Web项目背后的密码
  • 优秀架构师必须掌握的架构思维
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 我们雇佣了一只大猴子...
  • ​学习一下,什么是预包装食品?​
  • ######## golang各章节终篇索引 ########
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $.ajax()
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (1)无线电失控保护(二)
  • (2)STL算法之元素计数
  • (3) cmake编译多个cpp文件
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (Java)【深基9.例1】选举学生会
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (算法)Game
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • .net core + vue 搭建前后端分离的框架
  • .net core Swagger 过滤部分Api
  • .NET 事件模型教程(二)
  • .net对接阿里云CSB服务
  • .Net面试题4