响应来自单个接口上的多个网关的入站连接

响应来自单个接口上的多个网关的入站连接

我有一个具有多个网关的网络(gw1:10.0.0.1gw2:)11.0.0.1

我的服务器(Ubuntu 20.04)有一个带有多个地址(eth0:gw1:10.0.0.55eth0:gw2: 11.0.0.55)的 NIC。

每个网关都提供互联网访问,并配置了 NAT 规则来转发端口80443到我的服务器。

在我的服务器中,我已经将 nginx 配置为响应两个地址和内部网络,它的工作原理与我预期的一样。


问题是:它不响应来自两个公共 IP(连接超​​时)的呼叫,而只响应来自默认网关的呼叫。

Netplan 文档我尝试了几十种配置,但无法从两个公共 IP 获得响应,总是只能从默认 IP 获得响应(它们都有效,我尝试交换它们并一次只使用它们一个来确认)。

我不是网络工程师,所以我不知道这是否可以做到。可能吗?


我的实际 netplan 配置:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: false
      optional: true
      addresses:
        - 10.0.0.55/24:
            label: "eth0:gw1"
        - 11.0.0.55/24:
            label: "eth0:gw2"
      nameservers:
        addresses:
          - 1.1.1.1
          - 1.0.0.1
          - 8.8.8.8
          - 8.8.4.4
      routes:
        - to: default
          via: 10.0.0.1
        - to: default
          via: 10.0.0.1
          metric: 200
          table: 101
        - to: default
          via: 11.0.0.1
          metric: 200
          table: 102
      routing-policy:
        - to: 10.0.0.0/24
          from: 10.0.0.0/24
          table: 101
        - to: 11.0.0.0/24
          from: 11.0.0.0/24
          table: 102

我不知道我的配置中是否需要更多或更少的选项(例如:routing-policy?)

答案1

您的政策规则似乎不正确。您有:

      routing-policy:
        - to: 10.0.0.0/24
          from: 10.0.0.0/24
          table: 101
        - to: 11.0.0.0/24
          from: 11.0.0.0/24
          table: 102

但对于来自外部您的本地网络,源地址将不是来自10.0.0.0/24;它将是互联网上某个远程客户端的地址。在典型配置中,您的网关不会伪装入站交通;他们只是伪装出站流量,以便回复看起来源自网关而不是来自内部服务器。

这意味着您的to: ...规则永远不会匹配。您只应使用from: ...(即来自 的服务器的回复的源地址x.0.0.55/24)进行匹配。

我认为你需要:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: false
      optional: true
      addresses:
        - 10.0.0.55/24:
            label: "eth0:gw1"
        - 11.0.0.55/24:
            label: "eth0:gw2"
      nameservers:
        addresses:
          - 1.1.1.1
          - 1.0.0.1
          - 8.8.8.8
          - 8.8.4.4
      routes:
        - to: default
          via: 10.0.0.1
        - to: default
          via: 10.0.0.1
          metric: 200
          table: 101
        - to: default
          via: 11.0.0.1
          metric: 200
          table: 102
      routing-policy:
        - from: 10.0.0.0/24
          table: 101
        - from: 11.0.0.0/24
          table: 102

相关内容