Netplan、2 つのサブネットに 2 つのゲートウェイ

Netplan、2 つのサブネットに 2 つのゲートウェイ

私は次のように動作させようとしています:

2 つのサブネット (つまり、192.168.15.0/24 と 192.168.19.0/24) と 2 つのゲートウェイ (192.168.105.1/24、192.168.109.1/24)、およびルーターとして netplan を使用する Ubuntu 18.04 サーバー (サブネットでは .1/24、ゲートウェイ サブネットでは .2/24) があります。目標は、1 つのサブネットに 1 つのゲートウェイを使用し、2 番目のサブネットに別のゲートウェイを使用することです。netplan ドキュメントにあるようにソースベースのルーティングを使用している場合でも、最終的には 2 つのゲートウェイ (ランダムな順序) になり、インターネットにアクセスできるサブネットは 1 つだけです。

どうしたら動作させることができるでしょうか?

ありがとう

編集: - 設定を追加しました

この設定では、192.168.105.xx からインターネットまでは機能しますが、192.168.109.xx からは何も機能しません。

ルートには0.0.0.0/0のゲートウェイが2つあります

ルール

# Generated by iptables-save v1.6.1 on Sat Aug 22 10:38:15 2020
*nat
:PREROUTING ACCEPT [386:180180]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [1:76]
:POSTROUTING ACCEPT [1:76]
-A POSTROUTING -s 192.168.15.0/24 -o br105 -j MASQUERADE
-A POSTROUTING -s 192.168.19.0/24 -o br109 -j MASQUERADE
COMMIT
# Completed on Sat Aug 22 10:38:15 2020
# Generated by iptables-save v1.6.1 on Sat Aug 22 10:38:15 2020
*filter
:INPUT ACCEPT [4:1760]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [28:2536]
-A INPUT -i br105 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i br109 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Aug 22 10:38:15 2020

/etc/netplan/01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp7s0:
      dhcp4: no

    enp7s1:
      dhcp4: no

    enp1s0f0:
      dhcp4: no

    enp1s0f1:
      dhcp4: no


  bridges:
    br15:
      dhcp4: no
      interfaces: [ enp7s0 ]
      addresses: [ 192.168.15.1/24 ]

    br19:
      dhcp4: no
      interfaces: [ enp7s1 ]
      addresses: [ 192.168.19.1/24 ]

    br105:
      dhcp4: no
      interfaces: [ enp1s0f0 ]
      addresses: [ 192.168.105.2/24 ]
      nameservers:
        addresses: [ 8.8.8.8 ]
      gateway4: 192.168.105.1

    br109:
      dhcp4: no
      interfaces: [ enp1s0f1 ]
      addresses: [ 192.168.109.2/24 ]
      routes:
        - to: 0.0.0.0/0
          from: 192.168.109.2
          via: 192.168.109.1
          on-link: true

答え1

各サブネットにはゲートウェイがありますが、1つしか持てません。デフォルトゲートウェイの場合、この問題を回避する方法は実は非常に簡単です。つまり、「静的ルート」を作成するだけです。

したがって、どのサブネットをデフォルトにするか選択し、それをデフォルト ゲートウェイ (DG) として設定する必要があります。その後は、2 番目の IP アドレスを 2 番目のアダプタ/VLAN に追加し、静的ルートを追加するだけです。

したがって、この例では、NIC 1 の IP が 192.168.15.whatever、NM が 255.255.255.0、DG が 192.168.15.1 (または任意の DG。ちなみにサブネット内にある必要があり、192.168.105.1 はサブネット内にありません) であるとします。次に、NIC 2 に 192.168.19.whatever を設定します。同じ NM ですが、こちらは DG を取得しません。次に、192.168.19.0/24 内のすべてのものが、その IP 範囲でデフォルトではなくゲートウェイとして機能している NIC 2 に割り当てた IP を通過する必要があるため、静的ルートを作成します。ああ、もちろん 192.168.109.1 はその範囲内にないので、これも間違っています。

これで十分に明確になったと思いますが、そうでなければ戻ってきてください。

関連情報