示例 3 - 反向路径过滤

Jan 25 16:46:04 example3 kernel: martian source 10.255.16.101 from 10.255.1.140, on dev eth0
Jan 25 16:46:04 example3 kernel: ll header: 00:10:e0:3b:1b:8a:00:1f:27:3f:34:00:08:00

在 example3 中,eth0 从 10.255.1.140 收到一个数据包,收件人是 10.255.16.101.
要了解它被拒绝的原因,我们必须检查 2 台主机的网络配置,如下图所示:

服务器example3有2个接口eth0(10.255.16.101)和bond0(10.255.1.101),它们分别连接到L3 Switch和L2 Switch。
L3交换机连接2个网段:10.255.16.0/24和10.255.1.0/24.
Sender与L2 Switch直接相连,L2 Switch与L3 Switch相连。

这里发送方试图到达 example3 上的 eth0,数据包将通过 L2 交换机和 L3 交换机到达目的地 10.255.16.101.
这通常是允许的。
但是,现代 Linux 通常启用反向路径过滤:

# sysctl -a | grep eth0.rp_filter
net.ipv4.conf.eth0.rp_filter = 1

在受限模式下,内核使用 RFC3704 测试传入的数据包,如果接口不是最佳反向路径,则数据包检查将失败。
在这种情况下,发送方应该能够通过 bond0 到达服务器 example3,因为它们在同一段中。
检查失败,数据包被拒绝。

最简单的解决方案是连接 bond0 (10.255.1.101)。
如果由于某些特殊原因这不可行,请禁用保留路径过滤或者在 eth0 上使用松散模式。

www. On IT Road .com

示例 2 - 无效广播

Jan 22 03:40:37 example2 kernel: IPv4: martian source 255.255.255.255 from 10.140.249.4, on dev eth1
Jan 22 03:40:37 example2 kernel: ll header: 00000000: ff ff ff ff ff ff 00 50 56 ad 59 09 08 00 .......PV.Y...

这里 eth1 收到来自发送方 10.140.249.4 的广播数据包,接收方 255.255.255.255 是有限广播,目标受众是“本地网络”中的所有主机(这里是 10.140.249.4 网段未知掩码),以及流量不应该由路由器转发。

但是,在这种情况下,eth1 的 IP 地址为 10.168.252.8/16,它与发送方 10.140.249.4 不是同一网络。
因此,预计不会从该发送方接收此类广播数据包,并且该数据包作为火星源被拒绝。
此类问题可能是由错误配置的路由器引起的。

示例 1 - 如何解释Martian源消息

让我们使用下面的示例 shjown:

Aug 22 11:08:21 server kernel: martian source 192.168.12.197 from 192.168.12.198, on dev bondib0
Aug 22 11:08:21 server kernel: ll header: 08:00:00:00:45:00:01:00:00:00:40:00:40:11:9f:11:c0:a8:0c:c6:c0:a8:0c:c5

表示服务器在bondib0接口上收到一个数据包,数据包的来源(发送方)是192.168.12.198,数据包的目的地(接收方)是192.168.12.197.
然而,如果没有另外的信息,我们不知道为什么数据包被报告为火星数据包。

如何解释 Linux martian 源消息

什么是Martian包?

IANA 将 Martian 数据包定义为到达接口不使用该网络的接口。
对于 Linux,它是到达未以任何方式为该子网配置的接口的任何数据包。

应调查任何火星软件包通知。
Martian包:

  • 经常用于黑客入侵。
  • 可能是网络上其他地方的服务器配置错误的症状。
  • 可能表示网络基础架构问题。

如果 /etc/sysctl.conf 文件中的配置项禁用此检测,则应启用它们并重新运行 sysctl 程序。
要检查的一些示例条目是:

net.ipv4.conf.all.log_martians=1
net.ipv4.conf.default.log_martians=1
net.ipv4.conf.bondib0.log_martians=1

在这篇文章中,我们将通过一些真实世界的例子来说明如何解释火星源信息。

日期:2020-09-17 00:13:41 来源:oir作者:oir