不稳定的NFLOG导致ARP请求丢弃

时间:2018-09-27 05:51:26

标签: netfilter ebtables

不确定我在做什么错。我使用此ebtable规则设置将两台机器背对背连接:

ebtables -A OUTPUT -p ARP --arp-op Request --nflog-group 100 -j DROP

我有一个进程正在监听netlink组100。两台计算机上都有以下设置/etc/network/interface让我们称它为 peer1

auto e101-001-0 iface e101-001-0 inet manual auto bond100 iface bond100 inet manual bond-slaves e101-001-0 bond-mode 4 bond-miimon 100 iface bond100.100 inet manual vlan-raw-device bond100 auto br100 iface br100 inet static bridge_ports bond100.100 address 10.1.1.1 netmask 255.255.255.0

peer2 具有相同的设置,但IP地址为10.1.1.2。当我尝试从 peer1 peer2 发送ping时,无法到达目的地。使用arp -n我看到它没有解决。我使用了tcpdump,看到ARP请求是在 peer1 网桥上发出的,但是peer2在它的网桥上没有收到它。我知道可以通过三种方式进行ping操作:

  1. 删除 peer1 上的ebable规则。
  2. 请勿使用桥梁。如果我只是在物理接口之间进行ping操作,则效果很好。
  3. 将此行添加到上面的可食用规则中:--nflog-range 32。我可以降低到22岁,但仍然可以使用。大约在17点左右开始失败。

任何低于32的值似乎都会使其停止工作。我的问题是:

  1. 如果未明确设置nflog范围,是否有默认大小?
  2. 是否存在影响nflog范围大小的内核配置?

我知道所有这些都是内核的一部分,所以如果它有助于我使用默认的Debian Stretch内核(Debian 4.9.110-3 + deb9u4)(无特殊内核配置)。 peer2 在修改后的内核上运行,并且可以正常运行。如果我有两个系统的规格与 peer2 相同,那么一切正常,这使我相信它可能是一个内核配置问题。

感谢阅读。

0 个答案:

没有答案