zwei IPs und zwei Gateways auf einer Schnittstelle in Bridge-Konfiguration mit Netplan unter Ubuntu 20.04

zwei IPs und zwei Gateways auf einer Schnittstelle in Bridge-Konfiguration mit Netplan unter Ubuntu 20.04

Ich habe einen dedizierten Hetzner-Server mit einer einzigen Netzwerkkarte und zwei öffentlichen IP-Adressen (beide IPs haben ein eigenes Gateway). Momentan ist nur eine Adresse mit Neplan konfiguriert. Unten ist meine Konfiguration

network:
  version: 2
  renderer: networkd
  ethernets:
    enp195s0:
      addresses:
        - x.x.x.x/32        #Main IPv4 address
        - xx.xx.xx.xx::2/64 #IPv6
      routes:
        - on-link: true
          to: 0.0.0.0/0
          via: gx.gx.gx.gx      #Main IPv4 address Gateway IP
      nameservers:
        addresses:
          - 185.12.64.2
          - 185.12.64.1
          - 2a01:4ff:ff00::add:1
          - 2a01:4ff:ff00::add:2

Und jetzt möchte ich das Netzwerk so konfigurieren, dass es zwei öffentliche IPs als Brücke hat, weil ich es mit KVM-Gastmaschinen teilen möchte. Hier ist einer meiner Versuche:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp195s0:
      dhcp4: false
      dhcp6: false

  bridges:
    kvmbr0:
      interfaces:
        - enp195s0
      addresses:
        - x.x.x.x/32          #Main IPv4 address
        - y.y.y.y/32          #Additional IPv4 address
      routes:
        - to: 0.0.0.0/0
          via: gx.gx.gx.gx    #Main IPv4 address Gateway IP
          table: 1
          metric: 100
        - to: 0.0.0.0/0
          via: gy.gy.gy.gy    #Additional IPv4 address Gateway IP
          table: 2
          metric: 200
      mtu: 1500
      dhcp4: no
      dhcp6: no
      nameservers:
        addresses:
          - 185.12.64.2
          - 185.12.64.1
          - 2a01:4ff:ff00::add:1
          - 2a01:4ff:ff00::add:2
      parameters:
        stp: false 
        forward-delay: 4 

Das Problem ist, dass ich nach der Netplan-Anwendung immer die Internetverbindung verliere :/ Ich habe ein Skript, das nach ein paar Minuten die Standard-Netplan-Konfiguration wiederherstellt, wenn ich es nicht stoppe. Daher ist es für mich schwierig zu überprüfen, was auf dem Server passiert, aber ich nehme an, dass es etwas mit dem Routing zu tun hat. Ich bin neu bei Netplan-Konfigurationen. Können Sie mir bitte helfen, die richtige Lösung zu finden?

Antwort1

Ich habe eine Lösung gefunden. Sie steht weiter unten

network:
  version: 2
  renderer: networkd
  ethernets:
    enp195s0:
      dhcp4: false
      dhcp6: false

  bridges:
    kvmbr0:
      interfaces:
        - enp195s0
      addresses:
        - x.x.x.x/26           # <- netmask here
        - y.y.y.y/29           # <- netmask here
      routes:
        - to: 0.0.0.0/0
          via: gx.gx.gx.gx
          metric: 100
        - to: nx.nx.nx.nx/26   # <- route to main IP network
          via: gx.gx.gx.gx     # <- via main IP gateway
          metric: 100
          table: 1             # <- with routing table assignment 
        - to: 0.0.0.0/0
          via: gy.gy.gy.gy
          metric: 200          
        - to: ny.ny.ny.ny/29   # <- route to additional IP network
          via: gy.gy.gy.gy     # <- via additional IP gateway
          metric: 200
          table: 2             # <- with routing table assignment
      routing-policy:          # <- routing policies for IPs networks 
        - from: nx.nx.nx.nx/26 
          table: 1             # <- appropriate routing table
        - from: ny.ny.ny.ny/29
          table: 2             # <- appropriate routing table
      dhcp4: no
      dhcp6: no
      nameservers:
        addresses:
          - 185.12.64.2
          - 185.12.64.1
          - 2a01:4ff:ff00::add:1
          - 2a01:4ff:ff00::add:2
      parameters:
        stp: true 
        forward-delay: 4

Das Hauptproblem waren die Netzmasken. Sie sollten nicht 32 Bit lang sein, da sie nicht die IP-Adressen der Gateways enthielten. Das war der Grund, warum ich die Netzwerkverbindung verlor. Also habe ich dort die richtigen Netzmasken aus den IP-Adressnetzwerken eingegeben.

Weitere Änderungen waren erforderlich, um zusätzlichen IPs die Kommunikation mit dem Internet zu ermöglichen.

verwandte Informationen