无需 MAC 地址即可到达目的地

无需 MAC 地址即可到达目的地

这是我的网络架构

在此处输入图片描述

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 上进行设置,但是不起作用。

有人知道吗?谢谢

相关内容