linux内核的反向路由检查机制

2023-05-16

今天遇到一个问题,eth1, eth2 双网卡,都配有IP, 默认网关在eth1 上。

尝试给另一个网卡加上同样的默认网关。

插入之后,发现ens161 无法访问, ens256 可以访问。
删除此条路由,ens161 可以访问,ens256无法访问。

route -n

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.200.208.1 0.0.0.0 UG 0 0 0 ens161
10.200.208.0 0.0.0.0 255.255.240.0 U 102 0 0 ens161
10.200.208.0 0.0.0.0 255.255.240.0 U 103 0 0 ens256
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0

route add default gw 10.200.208.1 ens256
根本原因:

Linux默认启用了反向路由检查

当Linux IP协议栈收到一个IP包时,会找路由。
本机的包会往上层协议送,而非本机的包会根据路由转发。

为了防止非法的包被转发或送给上层协议,查找路由后Linux还会调用fib_validate_source()以
检查其来源的合法性,基本原理是根据包的源地址查找路由的出接口,然后比较包的原始入接口是
否和查到的出接口一致;如果一致则放过,如果不一致查询skb->dev的rp_filter值,为1时将丢弃这
个包,0时放过。

如果2个网卡在一个Lan里面,那么服务器可能从eth0或者eth1发现网关, 如果一个包从eth0进入了, 而网关在eth1上, 那么从eth1是出不去的, 就不通了. 反向路由检查要求从哪里来的才能回哪去.

关闭反向路由检查(根据自己的情况替换第二第三行的网卡名), rp_filter中为1,默认开启。改为0 就关闭了这个检查。

echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter

原文链接:
https://cxymm.net/article/changqing1234/81068780

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux内核的反向路由检查机制 的相关文章

  • git设置http全局代理

    git config global 变量名称 变量内容 git config global unset 取消变量 例如 xff1a git设置全局http代理和https代理 git config global http proxy 127
  • ubuntu 20.04 gedit中文乱码的解决方法

    Ubuntu 20 04的gedit打开中文时会出现乱码 不废话 xff0c 直接上代码 打开命令行后 xff0c 输入如下指令 xff1a gsettings span class token keyword set span org g
  • Emacs中插入当前光标处的单词

    在查找时 xff0c 如果我们希望直接查找当前光标处的单词 xff0c 我们可以这样做 将光标移动到单词的第一个字母 使用快捷键 xff1a M 43 j 在Windows上M是ALT按键 如果觉得有帮助 xff0c 请点赞收藏 xff0c
  • 解决gitlab-ee安装时碰到的错误 28:in `initialize‘: undefined method `[]‘ for nil:NilClass (NoMethodError)

    直接开始解决问题 安装postgresql sudo apt install postgresql 重新配置gitlab sudo gitlab ctl reconfigure 继续安装gitlab sudo apt install gil
  • 【重识云原生】第四章云网络4.8.4节——OpenStack与SDN的集成

    1 Neutron项目简介 1 1 项目简介 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp OpenStack自己官方的网络项目是Neutron Neutron有着自己的一套网络实现方案 基于linux n
  • 【重识云原生】第六章容器6.3.1节——K8S核心组件总述

    1 K8S核心组件分类 一个kubernetes集群主要是由控制节点 master 工作节点 node 构成 xff0c 每个节点上都会安装不同的组件 xff0c 依然先放上经典的K8S架构图 xff1a 1 1 Master Master
  • xmanager远程Ubuntu1604LTS

    xmanager远程Ubuntu1604LTS 方案综述与选择 私有云走入千家万户 xff0c 单位要搞虚拟机 xff0c 终端要远程方式登陆 windows的mstsc xff0c centos6 3的xdmcp与xmanager都很好用
  • MySQL数据库 - 单表查询(三)

    第1关 对查询结果进行排序 本关任务 以成绩的降序显示学生成绩表中所有信息 USE School span class token punctuation span 请在此处添加实现代码 Begin 查询 span class token
  • BGP LinkState

    BGP LinkState xff1a 描述链路状态的路由协议 xff0c 一共由3部分组成 xff0c Node 43 Link 43 Prefix 通过查看prefic的detail信息查看sid xff0c 每个prefix都有一个s
  • 华为鲲鹏云服务器编译安装mysql-5.7.27 报错error: could not split insn

    华为鲲鹏云底层跟原来的华为云服务器又点区别 1 编译安装mysql 5 7 27时 xff0c 走到一半出现error could not split insn 无法在进行下一步 首先查看一下自己的gcc的版本 rpm qa grep gc
  • 3种云桌面(VDI、IDV、VOI)技术解决方案简介

    概述 云桌面技术的出现以其具有灵活性 安全性大大地简化了运维人员对终端设备的运维工作 同时也让用户可以不再局限于设备 地点 时间 xff0c 随时随地都可以通过网络访问自己的桌面系统了 云桌面技术作为云计算虚拟化技术的一种方式 xff0c
  • [H3C] 5120V2设备配置WEB以及TELNET界面

    H3C 5120V2设备配置WEB以及TELNET界面 Int vlan 1 Ip add 192 168 15 132 25 添加IP地址 H3C local user admin 建立一个新用户 New local user added
  • BFD的原理及配置

    BFD 简述 BFD xff08 Bidirectional Forwarding Detection xff0c 双向转发检测 xff09 是一个通用的 标准化的 介质无关和协议无关的快速故障检测机制 xff0c 用于检测IP网络中链路的
  • ISIS协议基础知识

    前言 介绍 ISIS xff0c 中间系统到中间系统的网络协议 xff0c 最初是OSI组织为了他的CLNP xff08 类似于TCP IP中的IP网络 xff09 而设计的动态路由协议 xff0c 后IETF对其进行修改和填充 xff0c
  • 信息安全管理与评估 21年国赛真题解析答案

    祝各位选手在比赛中荣获佳绩 xff0c 网络系统管理与信息安全交流群可见其他文章 xff0c 欢迎各位的加入 本文仅供参考 xff0c 请勿购买专栏 xff0c 有意合作私聊 DCRS工作任务 DCRS 开启 telnet 登录功能 xff
  • 神州数码 AP上线指南(待优化)

    网络安全 amp 网络系统管理交流群 xff1a 320870333 AP默认地址192 168 1 10 wireless no auto ip assign enable ap authentication none discovery
  • 【IPv6】IPv6 NDP邻居状态详解

    NDP 邻居状态 任意两个通信的主机在通信之前 xff0c 先要建立邻居 xff08 省的去查找arp了 xff09 因为接下来的文字会很乱 xff0c 排版费劲 xff0c 所以用这个来 未完成 Incomplete 可达 Reachab
  • 【IPv6】基本概念及字段

    IPV4知识点 xff1a 字段值 IPv4字段共 字段值解释Version版本版本字段 xff0c 可以区分V4和V6版本 xff0c V4是0100 xff0c V6是0110 xff0c 需要注意的是V4和V6头部除了版本字段位置相同
  • 【IPv6】基本概念及字段

    IPV4知识点 xff1a 字段值 IPv4字段共 字段值解释Version版本版本字段 xff0c 可以区分V4和V6版本 xff0c V4是0100 xff0c V6是0110 xff0c 需要注意的是V4和V6头部除了版本字段位置相同
  • 智能云卸载残留问题

    在今天我将1803版本更新到了1809版本 xff0c 更新之后我就发现输入法多了一个 智能云输入法 看来是之前对于卸载智能云输入法并没有卸载的很全面 彻底删除两部曲 卸载智能云就不需要教了把 一 先将智能云输入法从语言选项中删除 步骤 x

随机推荐

  • Ubuntu 20.04下安装微信

    Ubuntu 20 04下安装wine微信 安装必要的工具及deepin wine依赖 sudo apt install wget g 43 43 git 安装deepin wine git clone https gitee com ws
  • Unable to determine the device handle for GPU 0000:04:00.0: GPU is lost. Reboot the system to recov

    Original url https askubuntu com questions 235760 unity does not appear after installing proprietary nvidia drivers gpu
  • 【Maven】Maven报错:The packaging for this project did not assign a file to the build artifact

    Maven Maven报错 xff1a The packaging for this project did not assign a file to the build artifact 问题描述问题发生问题解决 问题描述 对写好的项目打
  • ubuntu系统安装clamav

    ubuntu系统安装clamav 添加用户 groupadd clamav useradd g clamav s bin false c 34 Clam AntiVirus 34 clamav 安装 sudo apt get install
  • SQLyog无法连接Linux下的MySQL问题

    SQLyog直接连接报错 xff1a 解决步骤 xff1a 一 测试网络 windows cmd上ping linux ip地址查看是否能ping通 二 关闭MySQL防火墙 systemctl stop firewalld xff08 开
  • 正则表达式边界符中的 ^, $, \A, \Z, \z

    转载自 http blog csdn net ggicci article details 8015087 Regex 本文介绍正则表达式中边界符 和 以及 A 和 Z z 的比较和用法 本文的正则表达式在 Java 中测试 本文的一些概念
  • vnc的默认端口更改

    vnc的默认端口是5901 xff0c 这个说法是不对的 vnc并不是只有一个端口 以前另一个文章介绍了nvcserver的配置用户的过程 xff0c 里面提到了桌面号 xff0c 这个桌面号就可以端口有密切关系 先看看这个配置 VNCSE
  • CentOS查看开启端口

    安装nmap yum span class hljs keyword install span nmap span class hljs comment 输入y安装 span 使用nmap span class hljs title nma
  • 使用stm32互补输出PWM波并且控制死区时间,带刹车功能

    使用stm32互补输出PWM波并且控制死区时间 xff0c 带刹车功能 项目背景 xff1a 需要20k带死区时间的互补pwm波连接IGBT驱动器 使用高级定时器1 xff0c CH1 PA8 CH1N PB13 BKIN PB12 如果是
  • tensorflow2安装教程

    本教程还未写完请不要看 参考网站 官网 https tensorflow google cn tutorials keras classification hl 61 zh cn 分析视频 https www bilibili com vi
  • 创建支持es6,vscode可调试的nodejs es6工程

    通常vscode调试es6工程时 xff0c 比如有import语句 xff0c 会有如下错误 xff1a SyntaxError Unexpected token import 网上有很多例子都是不可行的 xff0c 或者是老版本的vsc
  • Docker 镜像使用帮助

    注意 本镜像只提供 Debian Ubuntu Fedora CentOS RHEL 的 docker 软件包 xff0c 非 dockerhub Docker 官方在 2015 年 7 月启用新的仓库 xff0c 软件包名由 lxc do
  • Linux下安装VNC图形化远程桌面工具

    Linux 下安装 xff1a 1 下载 vncserver vncview vnc Linux 版 下载地址 http download csdn net detail jxmykl 7789529 vnc Windows 版 下载地址
  • 对抗攻击Adversarial Attack

    参考链接 xff1a xff08 1 xff09 对抗攻击常见方法汇总 https blog csdn net qq 43367558 article details 121694626 xff08 2 xff09 对抗性样本攻击方法汇总
  • docker 防火墙 设置不生效问题解决

    centos7 想把容器的端口8500禁止掉 方法1 firewall cmd zone 61 public remove port 61 8500 tcp permanent xff08 没有用 xff09 报错Warning NOT E
  • 【组成原理期末复习】06总线系统

    一 基本概念 定义 数字计算机是由若干系统功能部件构成的 xff0c 这些系统功能部件在一起工作才能形成一个完整的计算机系统 计算机的若干功能部件之间不可能采用全互联形式 需要有公共的信息通道 xff0c 即总线 总线是构成计算机系统的互联
  • Build ONIE SDK

    Linux ubuntu 4 15 0 29 generic 31 16 04 1 Ubuntu SMP Wed Jul 18 08 54 04 UTC 2018 x86 64 x86 64 x86 64 GNU Linux sudo ap
  • SUMO/检测器设置(E3)学习总结

    一 E3检测器简介 Multi Entry Exit Detectors xff08 E3 xff09 可以用来检测通过检测区域的平均速度 车辆通过检测区域的平均停车次数 车辆通过区域的平均延误 一段时间内进入检测区域车辆数 一段时间内进入
  • source insight4 行结束符 CRLF转化为LF

    options gt preferences gt files gt default line endings 改成Unix LF显示行结束符 options gt preferences gt syntax formatting gt f
  • linux内核的反向路由检查机制

    今天遇到一个问题 xff0c eth1 eth2 双网卡 xff0c 都配有IP 默认网关在eth1 上 尝试给另一个网卡加上同样的默认网关 插入之后 xff0c 发现ens161 无法访问 ens256 可以访问 删除此条路由 xff0c