在运行 OLSR 的路由器上,有四个端口/接口,连接的设备在这些端口/接口之间相互通信 OLSR。现在我不喜欢为每个接口使用一个 IP 地址,而是将它们全部桥接并在桥上只设置一个 IP 地址。
现在的问题是,这些设备不应该在 layer2 上看到彼此,否则 olsr 路由会改变错误的方式(因为网桥)。这些设备应仅由 OLSR 在第 3 层路由。好的,所以有一个使用 ebtables 的选项......
我已经阅读了这篇文章,但这并不是我想要的。所以我试图弄清楚如何允许每个连接的设备与路由器交谈 OLSR,同时拒绝所有连接的设备在 layer2 上看到对方。
# deny talking to each other
ebtables -P FORWARD DROP
ebtables -F FORWARD
效果很好,但是路由器本身看不到任何连接的设备,所以我想我需要允许接口与路由器本身对话。
# allow port eth1
ebtables -F FORWARD -i eth1 -j ACCEPT
ebtables -F FORWARD -o eth1 -j ACCEPT
但这允许太多,效果就像将策略设置回接受一样。
我应该如何设置 ebtables 规则以使这项工作以正确的方式工作?