
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.