Linux

Linux中如何使區域網路中的主機轉發同一區域網路中其他主機之間的流量

  • December 24, 2017

我將測試拓撲設置如下:

Switch1-----Switch2-----Switch3
  |           |           |
  H1          H2          H3

我希望從 H1 到 H3 的流量在轉發到 H3 之前先訪問 H2。我已經在我的交換機(OpenVSwitch)上設置了流規則來做到這一點。但是,當流量進入 H2 時,它就被丟棄了。

我想知道我應該向 H2(Ubuntu 14.04)添加哪些配置,以使 H2 能夠轉發既不是發往它也不是源自它的流量。

謝謝你的回答,我終於可以通過重寫交換機中數據包的目標Mac地址來做到這一點。問題是,主機 2 丟棄了不是發往它的數據包(不同的 Mac 目標地址)。因此,通過在交換機 2 中將目標 Mac 地址重寫為主機 2 的 Mac 地址,並通過啟動主機 2 中的 IP 轉發,流量被成功重定向。所以第一步,是告訴 S2 用主機 2 的目標 Mac 向主機 2 發送流量。步驟 2,是告訴 S2 重寫從主機 2 返回的流量的 Mac 地址到主機 3 Mac 地址(恢復原來的mac地址)。

您必須允許轉發

echo 1 > /proc/sys/net/ipv4/ip_forward

如果你想要這個永久然後編輯文件 /etc/sysctl.conf

net.ipv4.ip_forward=1

引用自:https://serverfault.com/questions/888579