[20201103]Martian Packets.txt
--//生产系统大量出现如下信息:
# dmesg | tail -10
[186061055.708921] ll header: 00:10:e0:57:7d:85:0c:da:41:b6:4e:07:08:00
[186061055.819286] martian source 192.168.XXX.XX from 192.168.101.10, on dev eth3
[186061055.819289] ll header: 00:10:e0:57:7d:85:0c:da:41:b6:4e:07:08:00
[186062045.645632] net_ratelimit: 6 callbacks suppressed
[186062045.645635] martian source 192.168.XXX.XX from 192.168.101.120, on dev eth3
[186062045.645637] ll header: 00:10:e0:57:7d:85:0c:da:41:b6:4e:07:08:00
[186063283.722695] martian source 192.168.XXX.XX from 10.153.248.110, on dev eth3
[186063283.722697] ll header: 00:10:e0:57:7d:85:00:23:89:a3:c9:1f:08:00
[186066674.648833] martian source 192.168.XXX.XX from 10.153.248.110, on dev eth3
[186066674.648835] ll header: 00:10:e0:57:7d:85:00:23:89:a3:c9:1f:08:00
--//实际上在链接http://blog.itpub.net/267265/viewspace-2680122/,已经出现,我已经上报给网络相关部门,可惜这么久问题依旧。
--//团队的许多人做事情是给领导看的,而不是认真踏实做事。我记忆里XXX网段有外联的路由器,也许上端或者本地的路由器设置有问题。
--//出现这种情况可能有如下可能:
https://www.thegeekdiary.com/how-to-interpret-linux-martian-source-messages/
经常用于黑客入侵。
可能是网络其他地方配置错误的服务器的症状。
可能表明网络基础设施问题。
--//我估计这些IP都是外网的IP,我们内网根本没有10.153.248.110的IP,估计通过什么网关进入我们网络,而没有回去的路由。
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.254 0.0.0.0 UG 0 0 0 bondeth0
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ib0
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ib1
169.254.0.0 0.0.0.0 255.255.128.0 U 0 0 0 ib0
169.254.128.0 0.0.0.0 255.255.128.0 U 0 0 0 ib1
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 bondeth0
192.168.XXX.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
--//按照网上介绍设置,修改/etc/sysctl.conf 文件,修改加入如下:
net.ipv4.conf.eth3.rp_filter = 0
net.ipv4.conf.default.log_martians = 0
net.ipv4.conf.all.log_martians = 0
# sysctl -p
--//观察看看.明天是否没有这些信息。
# zdate
2020/11/04 08:32:30
# tdmesg '' 10
2020-11-03 13:47:41: [186062045.645635] martian source 192.168.XXX.XX from 192.168.101.120, on dev eth3
2020-11-03 13:47:41: [186062045.645637] ll header: 00:10:e0:57:7d:85:0c:da:41:b6:4e:07:08:00
2020-11-03 14:08:19: [186063283.722695] martian source 192.168.XXX.XX from 10.153.248.110, on dev eth3
2020-11-03 14:08:19: [186063283.722697] ll header: 00:10:e0:57:7d:85:00:23:89:a3:c9:1f:08:00
2020-11-03 15:04:50: [186066674.648833] martian source 192.168.XXX.XX from 10.153.248.110, on dev eth3
2020-11-03 15:04:50: [186066674.648835] ll header: 00:10:e0:57:7d:85:00:23:89:a3:c9:1f:08:00
2020-11-03 15:47:40: [186069245.217946] martian source 192.168.XXX.XX from 192.168.101.120, on dev eth3
2020-11-03 15:47:40: [186069245.217948] ll header: 00:10:e0:57:7d:85:0c:da:41:b6:4e:07:08:00
2020-11-03 16:02:48: [186070153.032272] martian source 192.168.XXX.XX from 10.153.248.110, on dev eth3
2020-11-03 16:02:48: [186070153.032275] ll header: 00:10:e0:57:7d:85:00:23:89:a3:c9:1f:08:00
--//很明显现在不再出现,但是这样实际上仅仅治标而不是治本,这些信息还是发送到本机的。
--//实际上还可以关闭该接口,这样比较完美解决这个问题,但是这些信息包依旧会出现在这个网段。
--//附上tdmesg脚本:
# cat `which tdmesg`
#! /bin/bash
FORMAT="%Y-%m-%d %T:"
now=$(date +%s)
cputime=$(grep -m1 "sched_clk" /proc/sched_debug | cut -f2 -d: )
uptime=$(grep -m1 "ktime" /proc/sched_debug | cut -f2 -d: )
# echo $now $cputime $uptime
if [ "$1" == "uptime" ] ; then
cputime=$uptime
else
cputime=$cputime
fi
dispnum=${2:-50}
#echo $dispnum
dmesg| tail -${dispnum} | while read -r line; do
offset=$( echo $line | cut -d"]" -f1 | tr -d "[")
stamp=$( echo $now - $cputime / 1000 + $offset | bc -l )
#echo "$(date -d "1970-01-01 00:00:00 UTC $stamp seconds" +"${FORMAT}") $line"
echo "$(date -d "@${stamp}" +"${FORMAT}") $line"
done
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2731989/ ,如需转载,请注明出处,否则将追究法律责任。