使用fwmark规则查路由表不通但直接配置静态ip rule可以的解决办法

news/2024/11/24 13:55:28/

最近在做组网时,有一个根据fwmark查不同路由表的需求,但是配好之后怎么也不通,找了好久才从这篇文章得知了问题所在

问题复现

针对路由表

$ ip route show table foreign
default dev wg0 scope link

配置如下规则

ip -4 rule add fwmark 23333 table foreign
iptables -t mangle -A OUTPUT -m geoip ! --dst-cc CN -j MARK --set-mark 23333

此时ping 8.8.8.8,理论上应当走foreign表ping通,但事实是,当没有上面的规则时,路由是通的,mtr显示走了main表的默认路由;当增加了规则后,反而ping不通了,也不显示超时,mtr和抓包表明数据包根本没有离开主机。

原因推断

根据数据包根本没有离开主机这个线索,判断是本机某个规则阻止了数据包的流动。最开始怀疑是源IP设置错误的问题,使用iptables配置SNATwg0接口的IP,无果。又找了几天,才发现文章开头说的这篇文章,再结合一些坑了我的 Linux 内核网络参数,发现原来CentOS从6开始,就默认应用了严格的反向路由过滤策略,会过滤反向路由不是最佳路径的数据包(当然也过滤反向不通的数据包),即使这个数据包的反向路由也是通的。

问题解决

使用如下命令应用宽松的反向路由策略,允许反向路由不是最佳路径的数据包通过。反向不通的数据包仍然会被过滤。

sysctl -w net.ipv4.conf.all.rp_filter=2

如果需要重启自动应用,需要将上面的配置添加到/etc/sysctl.conf


http://www.ppmy.cn/news/50809.html

相关文章

什么是AGI?

目录 前言一、什么是AI?二、什么是AGI?三、总结 前言 AGI和AI一字之差,它是什么? 一、什么是AI? AI(Artificial Intelligence)是指人工智能,是一种利用计算机和机器模拟、模仿或扩…

pinia的使用

介绍 一个拥有组合式 API 的 Vue 状态管理库主要是面向 Vue 3 的用户,除了安装和 SSR 两章之外,其余章节中提到的 API 均支持 Vue 2 和 VueDevtools 支持,追踪 actions、mutations 的时间线,在组件中展示它们所用到的 Store&…

rsync服务利用(端口:873)

目录 服务介绍 利用方法 任意文件下载 反弹shell 上传 id_rsa(用户名为sys_internal) 服务介绍 rsync

JAVA 类型的类型转换

JAVA 类型的类型转换 一、基本类型的类型转换 箭头开始的地方是小类型,箭头指向的地方是大类型 我们此处所指的"大"和"小",指的是对应类型的取值范围,不是字节数哦 1.1 小到大(隐式转换) byte m 120; int n m;//小转大,右面的m是小类型,给左面的n大…

Unity音量滑块沿弧形移动

一、音量滑块的移动 1、滑块在滑动的时候,其运动轨迹沿着大圆的弧边展开 2、滑块不能无限滑动,而是两端各有一个挡块,移动到挡块位置,则不能往下移动,但可以折回 3、鼠标悬停滑块时,给出音量值和操作提示 …

FWT学习笔记(快速沃尔什变换)

前言 首先,我们来看看多项式乘法。 f ( x ) a 0 a 1 x a 2 x 2 ⋯ a n x n f(x)a_0a_1xa_2x^2\dotsa_nx^n f(x)a0​a1​xa2​x2⋯an​xn g ( x ) b 0 b 1 x b 2 x 2 ⋯ b n x n g(x)b_0b_1xb_2x^2\dotsb_nx^n g(x)b0​b1​xb2​x2⋯bn​xn 而 h ( x ) …

MySql中,join 语句怎么优化?

既然每次从驱动表取数据比较耗时,那我们每次从驱动表取一批数据放到内存中,然后对这一批数据进行匹配操作。这批数据匹配完毕,再从驱动表中取一批数据放到内存中,直到驱动表的数据全都匹配完毕 批量取数据能减少很多IO操作&#…

基于matlab仿真相控天线阵列在波束成形MIMO-OFDM系统中的使用

一、前言 本例显示了相控阵在采用波束成形的MIMO-OFDM通信系统中的使用。它使用通信工具箱和相控阵系统工具箱中的组件,对组成发射器和前端接收器组件的辐射元件进行建模,用于MIMO-OFDM通信系统。使用用户指定的参数,您可以根据不同空间位置和…