在运行OLSR的路由器上,有四个端口/接口,连接的设备可以在这些端口/接口上相互交谈OLSR。现在,我不喜欢为每个接口使用IP地址,而是将它们全部桥接起来,只在网桥上设置一个IP地址。
现在的问题是,这些设备不应该在layer2上看到对方,否则olsr路由改变的方式是错误的(因为桥)。这些设备只能在layer3上通过OLSR路由。好吧,所以有个选项可以使用退潮.
我已经读过this post了,但这并不是我想要的。因此,我试图弄清楚如何允许每个连接的设备与路由器进行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但是这允许太多了,其效果就像将策略设置回接受一样。
我应该如何设置退潮规则,使这一工作正确的方式?
发布于 2015-09-21 21:34:53
简单到将所有端口放入桥br0,然后:
ebtables -P FORWARD DROP
ip link set br0 promisc on( ubnt edgerouter的工作原理与预期一样,但以前也在linux机器上进行过测试,因此也应该在那里工作)
发布于 2015-09-17 00:01:32
当一个设备想要与另一个设备对话时,发送设备将查看第三层目标地址。然后:
根据您对在接口之间阻塞第2层的要求,在同一网络中的一个接口上的设备将永远无法与另一个接口上的设备联系,因为它无法通过第2层与其联系。
如果需要使用给定的公共地址范围,则可以将该范围划分为四个/31子网。这为每个链路提供了两个IP地址,并且每个链路位于不同的网络中。第三层边界(路由器)将阻塞其接口之间的第二层.路由会处理剩下的。
你真的需要理解这一点;它是非常基本的网络。不要认为这是错误的方式,但似乎你应该雇用一个有适当技能的人一个小时或一天建立你的网络。
https://stackoverflow.com/questions/32619904
复制相似问题