Machen Sie die Befehle „IP Route Add“ und „IP Rule Add“ beim Start persistent

Machen Sie die Befehle „IP Route Add“ und „IP Rule Add“ beim Start persistent

Ich muss die folgenden beiden Zeilen persistent machen, damit sie beim Neustart des Servers verfügbar sind, nachdem ich nun nachgewiesen habe, dass die Route und die Regeln wie erwartet funktionieren AlmaLinux 8(AlmaLinux ist im Grunde dasselbe wie CentOS).

ip route add default via x.x.x.x dev eno5 src x.x.x.x table 1
ip rule add from x.x.x.x table 1

Alles, was ich gesehen habe, zeigt, dass ich in der Lage sein sollte, eine Datei zu erstellen /etc/sysconfig/network-scripts/route-eno5und die Zeile hinzuzufügen, default via x.x.x.x dev eno5 src x.x.x.x table 1aber wenn ich dies speichere und neu starte, werden diese Regeln nicht angewendet./etc/sysconfig/network-scripts/route-eno5from x.x.x.x table 1

Wird dies unter AlmaLinux 8 nicht unterstützt und anders durchgeführt oder mache ich etwas falsch?

Antwort1

RHEL 8 und höher – und alle abgeleiteten Distributionen wie CentOS und AlmaLinux – verwenden das Legacy /etc/sysconfig/network-scripts-Verzeichnis nicht mehr. Die richtige Lösung besteht darin, die NetworkManager-Konfiguration zu ändern.

NetworkManager kann sowohl statische Routen als auch Richtlinienroutingregeln hinzufügen. Es gibt einige relevante DokumentationenHier.

Bei einer Standardinstallation von CentOS 8 (Stream) sieht meine NetworkManager-Konfiguration folgendermaßen aus:

[root@localhost ~]# nmcli c show
NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0

Wenn ich eine Richtlinienroute zu hinzufügen möchte eth0, würde ich etwa Folgendes tun:

nmcli c mod 'System eth0' \
  ipv4.addresses 10.0.0.10/24 \
  ipv4.routes '0.0.0.0/0 10.0.0.1 table=1' \
  ipv4.route-rules 'priority 100 from 10.0.0.0/24 table 1'

In diesem Beispiel füge ich eine statische IP-Adresse hinzu, die sich von der unterscheidet, die dynamisch über DHCP zugewiesen wird. Je nachdem, wie Ihre lokale Konfiguration aussieht, ist dies in Ihrer Situation möglicherweise nicht erforderlich.

Nach dem Neustart der Schnittstelle:

nmcli c down 'System eth0'; nmcli c up 'System eth0'

Ich habe jetzt:

[root@localhost ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:c1:f0:62 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.10/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 192.168.122.164/24 brd 192.168.122.255 scope global dynamic noprefixroute eth0
       valid_lft 3505sec preferred_lft 3505sec
    inet6 fe80::5054:ff:fec1:f062/64 scope link
       valid_lft forever preferred_lft forever

[root@localhost ~]# ip rule show
0:      from all lookup local
100:    from 10.0.0.0/24 lookup 1
32766:  from all lookup main
32767:  from all lookup default

[root@localhost ~]# ip route show table 1
default via 10.0.0.1 dev eth0 proto static metric 100
10.0.0.1 dev eth0 proto static scope link metric 100

Antwort2

Sie können „NetworkManager Text User Interface“ (nmtui-Tool) verwenden.

# yum install NetworkManager-tui

# nmtui

Gehe zuBearbeiten einer Verbindung, Verbindung auswählen... Routen hinzufügen inRoutenplanungAbschnitt.

verwandte Informationen