问题标签 [ebtables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
576 浏览

linux - Nftables-如何标记qinq(双vlan)?

嘿,我在 Ubuntu 16.04 中使用 Nftables,我正在尝试根据内部 Vlan id 标记数据包(创建此规则)。到目前为止,我已经成功地以这种方式使用 Nftables 仅通过第一个 Vlan id 进行标记:

如何根据第二个 Vlan id 设置相同的规则?

0 投票
1 回答
652 浏览

linux-kernel - iptables / ebtables 钩子函数用于过滤接口或第 2 层

我已经使用 netfilter 钩子函数来过滤/嗅探传出的 IP 数据包。我希望过滤 IP 层和链路层之间的传出(来自主机)数据包,以查看第 2 层信息,例如 - 接口、MAC 地址。NF_INET_POSTROUTING 不提供 mac 地址信息,因为我猜在地址解析之前在 ip_output() 中调用了它。

我查找了 ebtables 挂钩函数,它们似乎与 Bridge INPUT/FORWARD/OUTPUT 有关。如果我理解,来自本地 tcp/ip 的传出数据包不会通过网桥转发挂钩。有没有办法我可以挂接到 Linux IP 和链路层之间的数据包以过滤(删除或修改)......?

0 投票
2 回答
14968 浏览

ubuntu - 如何在 Windows 10 Spring Creators Update 上解决 Ubuntu 中的运行级别错误?

apt-get dist-upgradeWindows 10 Spring Creators Update (RS4) 上运行 Ubuntu 18.04 时,我收到此错误:

我并不真正关心 ebtables(它似乎是一个默认/内置包),但我不想筛选每个更新的输出来确定除此之外是否还有新错误。

0 投票
0 回答
118 浏览

linux - 将标记的数据包预路由到 docker 容器内的环回接口

在我描述我的问题或更详细地描述我的问题之前,我想先描述一下我的基本方法:

基本上我想要做的是在 docker 容器内的 linux 桥上创建一个内联(操作系统是 alpine)。为此,我通过 docker 创建了一个包含示例客户端和服务器的测试环境,并在 GNS3 中实现了这些容器以创建所需的网络拓扑:服务器 <--> 桥 <--> 客户端。

这就是问题所在:桥接工作正常(客户端和服务器都可以互相ping通),但是通过将标记的数据包从以太网层提升到IP层,将标记的数据包预路由到环回接口(这样我就可以使用iptables 规则)在 docker 容器内没有按预期工作(接口 lo 上没有 incomimg 数据包)。

所以我的问题是,这是来自 docker 还是来自我的配置的一般问题?

0 投票
0 回答
202 浏览

netfilter - ebtable NFLOG 导致 ARP 请求丢失

不知道我做错了什么。我有两台机器使用这个 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. 当我尝试从peer1peer2发送 ping 时,我无法到达目的地。使用arp -n我看到它没有解决。我使用 tcpdump 并看到 ARP 请求是在peer1网桥上发出的,但 peer2 在它的网桥上没有收到它。我知道有三种方法可以通过 ping:

  1. 擦除 peer1 上的 ebtable规则
  2. 不要使用桥梁。如果我只是在物理接口之间 ping,这很好用。
  3. 将此行添加到上面的 etable 规则中:--nflog-range 32. 我可以低至 22,它仍然可以工作。它在 17 点左右开始失败。

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

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

我知道这一切都是内核的一部分,所以如果有帮助,我将使用默认的 Debian Stretch 内核(Debian 4.9.110-3+deb9u4)(没有特殊的内核配置)。peer2在修改过的内核上运行并且已知可以正常工作。如果我有两个与peer2具有相同规格的系统,则一切正常,这使我相信这可能是内核配置问题。

谢谢阅读。