Fedora – Interne Bridge vmbr0 mit NAT: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
== Ziel == | == Ziel == | ||
| − | * Bridge vmbr0 mit 192.168.16. | + | * Bridge vmbr0 mit 192.168.16.254/24 |
| − | |||
* Permanenter Carrier über dummy0 | * Permanenter Carrier über dummy0 | ||
| − | * NAT | + | * NAT für 192.168.16.0/24 |
| + | * Vollständig NetworkManager-konform | ||
| + | * Keine doppelte Dummy-Connection | ||
| + | * Kein manuelles ip link add | ||
| + | |||
| + | == Alte Konfiguration vollständig entfernen == | ||
| + | *nmcli connection delete vmbr0 2>/dev/null | ||
| + | *nmcli connection delete dummy0 2>/dev/null | ||
| + | *nmcli connection delete bridge-slave-dummy0 2>/dev/null | ||
| + | *ip link delete vmbr0 2>/dev/null | ||
| + | *ip link delete dummy0 2>/dev/null | ||
| + | |||
| + | == Dummy-Kernelmodul dauerhaft laden == | ||
| + | *echo dummy > /etc/modules-load.d/dummy.conf | ||
| + | *echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf | ||
| + | *modprobe dummy numdummies=1 | ||
| + | |||
| + | == Prüfen ob dummy0 existiert == | ||
| + | *ip link show dummy0 | ||
| + | |||
| + | ;dummy0 muss sichtbar sein | ||
== Bridge erstellen == | == Bridge erstellen == | ||
*nmcli connection add type bridge ifname vmbr0 con-name vmbr0 | *nmcli connection add type bridge ifname vmbr0 con-name vmbr0 | ||
| − | *nmcli connection modify vmbr0 ipv4.addresses 192.168.16. | + | *nmcli connection modify vmbr0 ipv4.addresses 192.168.16.254/24 |
*nmcli connection modify vmbr0 ipv4.method manual | *nmcli connection modify vmbr0 ipv4.method manual | ||
*nmcli connection modify vmbr0 ipv6.method ignore | *nmcli connection modify vmbr0 ipv6.method ignore | ||
| + | |||
| + | == Dummy als Bridge-Port hinzufügen == | ||
| + | *nmcli connection add type bridge-slave ifname dummy0 master vmbr0 con-name bridge-slave-dummy0 | ||
| + | |||
| + | == Bridge starten == | ||
*nmcli connection up vmbr0 | *nmcli connection up vmbr0 | ||
| − | == | + | == Kontrolle == |
| − | * | + | *ip link show vmbr0 |
| − | + | ||
| − | + | ;Erwartet: | |
| − | + | *state UP | |
| − | * | + | *kein NO-CARRIER |
| − | * | ||
== IP-Forwarding dauerhaft aktivieren == | == IP-Forwarding dauerhaft aktivieren == | ||
| Zeile 26: | Zeile 49: | ||
*sysctl --system | *sysctl --system | ||
| − | == | + | == Aktive Uplink-Connection ermitteln == |
| − | + | *nmcli connection show --active | |
| − | * | + | |
| + | ;Name der aktiven Connection mit Default-Route merken | ||
| + | |||
| + | == Zonen setzen == | ||
| + | *nmcli connection modify vmbr0 connection.zone internal | ||
| + | *nmcli connection modify "<AKTIVE-CONNECTION>" connection.zone public | ||
| + | *nmcli connection up vmbr0 | ||
| + | *nmcli connection up "<AKTIVE-CONNECTION>" | ||
| − | + | == NAT aktivieren == | |
*firewall-cmd --permanent --zone=public --add-masquerade | *firewall-cmd --permanent --zone=public --add-masquerade | ||
| − | |||
| − | |||
*firewall-cmd --permanent --zone=internal --add-forward | *firewall-cmd --permanent --zone=internal --add-forward | ||
| − | |||
| − | |||
*firewall-cmd --reload | *firewall-cmd --reload | ||
== Ergebnis == | == Ergebnis == | ||
| − | *vmbr0 | + | *vmbr0 permanent state UP |
*192.168.16.0/24 wird genattet | *192.168.16.0/24 wird genattet | ||
| − | * | + | *NAT funktioniert mit jeder Connection in Zone public |
| − | |||
Aktuelle Version vom 2. März 2026, 11:39 Uhr
Fedora – Interne Bridge vmbr0 mit generischem NAT
Ziel
- Bridge vmbr0 mit 192.168.16.254/24
- Permanenter Carrier über dummy0
- NAT für 192.168.16.0/24
- Vollständig NetworkManager-konform
- Keine doppelte Dummy-Connection
- Kein manuelles ip link add
Alte Konfiguration vollständig entfernen
- nmcli connection delete vmbr0 2>/dev/null
- nmcli connection delete dummy0 2>/dev/null
- nmcli connection delete bridge-slave-dummy0 2>/dev/null
- ip link delete vmbr0 2>/dev/null
- ip link delete dummy0 2>/dev/null
Dummy-Kernelmodul dauerhaft laden
- echo dummy > /etc/modules-load.d/dummy.conf
- echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf
- modprobe dummy numdummies=1
Prüfen ob dummy0 existiert
- ip link show dummy0
- dummy0 muss sichtbar sein
Bridge erstellen
- nmcli connection add type bridge ifname vmbr0 con-name vmbr0
- nmcli connection modify vmbr0 ipv4.addresses 192.168.16.254/24
- nmcli connection modify vmbr0 ipv4.method manual
- nmcli connection modify vmbr0 ipv6.method ignore
Dummy als Bridge-Port hinzufügen
- nmcli connection add type bridge-slave ifname dummy0 master vmbr0 con-name bridge-slave-dummy0
Bridge starten
- nmcli connection up vmbr0
Kontrolle
- ip link show vmbr0
- Erwartet
- state UP
- kein NO-CARRIER
IP-Forwarding dauerhaft aktivieren
- echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
- sysctl --system
Aktive Uplink-Connection ermitteln
- nmcli connection show --active
- Name der aktiven Connection mit Default-Route merken
Zonen setzen
- nmcli connection modify vmbr0 connection.zone internal
- nmcli connection modify "<AKTIVE-CONNECTION>" connection.zone public
- nmcli connection up vmbr0
- nmcli connection up "<AKTIVE-CONNECTION>"
NAT aktivieren
- firewall-cmd --permanent --zone=public --add-masquerade
- firewall-cmd --permanent --zone=internal --add-forward
- firewall-cmd --reload
Ergebnis
- vmbr0 permanent state UP
- 192.168.16.0/24 wird genattet
- NAT funktioniert mit jeder Connection in Zone public