涵哥 发表于 2016-3-9 16:08:10

涵哥详解kernel:br0:received packet on vlan1 with own address as source ad...

本帖最后由 涵哥 于 2016-3-9 16:52 编辑

最近有看到小伙伴在纠结log记录中的出现的一段log:kernel:br0:received packet on vlan1 with own address as source address。

今天涵哥在这里就要为这些小伙伴来解惑了。让你们知道这段log的来龙去脉。

首先先来名词解释一下:

VLAN1是路由器的所有LAN 口

br0是将WiFi和LAN口(VLAN1)桥接起来的一个端口

那为什么br0为什么会收到以自己MAC地址为源地址的数据包呢???目的地址又是哪个呢???

先回答容易的,目的地址其实也是路由器自己的MAC地址呢,原因看下面的解释。

然后再回答比较复杂的,为啥会收到这些数据包,首先要从路由器自己的forwarding table说起。这个forwarding table记录了所有端口和MAC的对应信息。

一般来说桥接的br0会自动学习新的端口和MAC地址的对应关系,记录在forwarding table里面。

若是我们自己更改路由器的MAC地址或是新增br0的端口,那路由器自己会自动增加规则到forwarding table里面

当然,也会从每个收到的数据包里面去看是否有要新增的规则,到这边为止就是br0的自动学习机制了。

那在更新forwarding table过程中,会有源MAC地址去到对应的规则,因为是更新,所以一般不会找到,所以就会新增一个规则。

但是如果找到了,表示数据包的目的地址和源地址一样了。那么数据包就要发给路由器了。这个可能是,路由器从br0的某个端口移到另一个端口了。其实这也算是合理范畴了

但是如果是路由器本身的MAC地址,那路由器就会在这个时候产生这个log来告知程序员了。



说了这么多,可能还是有人不知道涵哥在说什么,那涵哥只能放大招了。

涵哥明确的告诉你,这段log是安全的,无公害的。可以无视的。就是这样


**转载请注明出处,否则涵哥将依法进行追究**

Dr.Antenna 发表于 2016-3-9 16:17:17

什么是forwarding table呢?不懂

涵哥 发表于 2016-3-9 16:27:21

Dr.Antenna 发表于 2016-3-9 16:17
什么是forwarding table呢?不懂

如果不懂的话,可以理解为是一个记录一些信息的小本子,就可以了。:lol

yzswk 发表于 2016-3-10 09:10:14

学习了!!

514422325 发表于 2016-3-10 09:21:21

涵老师给大家上课了

涵哥 发表于 2016-3-10 11:51:54

514422325 发表于 2016-3-10 09:21
涵老师给大家上课了

谢谢冰神抬举:lol
页: [1]
查看完整版本: 涵哥详解kernel:br0:received packet on vlan1 with own address as source ad...