这是我的网络架构
RED2 和 BLUE2 之间有类似“二极管”的东西。它是硬件,允许我仅向一个方向通信 - 从 BLUE2 到 RED2。我想将数据从 BLUE1 发送到 RED1。
所有PC上都安装了Linux(opensuse leap)。
这是我的第一个可行的解决方案
蓝色2:
sysctl -w net.ipv4.ip_forward=1
arp -s 4.4.4.2 A:B:C:D:E:F
iptables -t nat -A PREROUTING -d 1.1.1.1 -j DNAT --to-destination 4.4.4.2
(A:B:C:D:E:F 是 RED1 的 MAC 地址)
(静态 arp 条目是必要的,因为 arp 请求由于二极管而不起作用)
红色1:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -d 4.4.4.2 -j DNAT --to-destination 2.2.2.2
ip r a default via 4.4.4.1 (or ip r a default dev eth0)
这一切都没问题,而且正在运行。但我需要一些没有静态 arp 条目的解决方案。
我的第一个想法是使用广播。但是广播不允许路由 - 因此不可用。
第二个想法 - 多播。但是 iptables 不允许将单播地址转换为多播地址。我发现这,尝试按照示例在 BLUE2 上进行设置,但是不起作用。
有人知道吗?谢谢