我很难使用iptable来更改广播数据包的目标地址。我读过一些iptables/Linux不会转发广播数据包的地方,所以我正在寻找替代方案。
我的网络被设置为/30,所以广播流量将在x.3发送给我。我尝试在本地机器上打开子网,使x.3不再是我的广播地址,但是包的目标MAC地址是ff:xx:xx,所以我相信它仍然被解释为广播包。
有办法改变数据包的目标MAC地址吗?
除了iptable之外,还有其他工具可以执行此操作吗?
如果我找不到解决这个问题的方法,我想我会在本地接受这个包,并编写一个程序将数据包数据发送给所需的接收者。有什么理由不应该起作用吗?
谢谢!
发布于 2016-02-01 17:19:26
如果我想将所有的流量从一个接口传递到另一个接口,那么使用一座桥就可以了,但是,我需要在本地保持一些流量。
据我所知,使用iptables转发广播数据包是不可能的。最后,我只编写了一个程序,在不同的接口上重新传输接收到的数据包。
发布于 2015-12-17 22:39:13
您希望连接两个相同的网络。您需要执行SNAT和DNAT,以便网络A将网络B看作具有不同的地址。但是你为什么要转发广播数据包呢?如果要使SMB和自动发现协议这样的协议工作,那么当它们从广播到的网络之外得到回复时,它们可能不会工作。
如果你想有唯一的地址,没有NAT,那么你想要的就是一座桥。15年前,我使用OpenBSD完成了这项工作。我想在同一子网中的两台计算机之间插入防火墙。这很容易,而且运作得很好。Linux当时还不能做到这一点(连接是的,但不是防火墙),今天我认为这是可能的。
https://serverfault.com/questions/743828
复制相似问题