Ich muss eine Route hinzufügen, die nach dem Neustart nicht gelöscht wird. Ich habe diese zwei Möglichkeiten gelesen, es zu tun:
Fügen Sie ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
hinzu in die Datei /etc/network/interfaces
oder
Erstellen Sie die Datei /etc/network/if-up.d/route mit:
#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
und ausführbar machen :
chmod +x /etc/network/if-up.d/route
Also bin ich verwirrt. Wie geht das am besten?
Akzeptierte Antwort:
Sie erwähnten /etc/network/interfaces
, es ist also ein Debian-System …
Erstellen Sie eine benannte Routing-Tabelle. Als Beispiel habe ich unten den Namen „mgmt“ verwendet.
echo '200 mgmt' >> /etc/iproute2/rt_tables
Oben unterstützt der Kernel viele Routing-Tabellen und bezieht sich auf diese durch eindeutige Ganzzahlen mit den Nummern 0-255. Für die Tabelle wird auch ein Name, mgmt, definiert.
Unten sehen Sie sich einen Standard /etc/iproute2/rt_tables
an folgt, was zeigt, dass einige Nummern reserviert sind. Die Wahl in dieser Antwort von 200 ist willkürlich; man könnte jede Nummer verwenden, die noch nicht verwendet wird, 1-252.
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
Unten definiert eine Schnittstellendatei von Debian 7/8 eth0
und eth1
. eth1
ist das 172-Netzwerk. eth0
könnte auch DHCP verwenden. 172.16.100.10
ist die IP-Adresse, die eth1
zugewiesen werden soll . 172.16.100.1
ist die IP-Adresse des Routers.
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The production network interface
auto eth0
allow-hotplug eth0
# iface eth0 inet dhcp
# Remove the stanzas below if using DHCP.
iface eth0 inet static
address 10.10.10.140
netmask 255.255.255.0
gateway 10.10.10.1
# The management network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 172.16.100.10
netmask 255.255.255.0
post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.10 table mgmt
post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
post-up ip rule add from 172.16.100.10/32 table mgmt
post-up ip rule add to 172.16.100.10/32 table mgmt
Starten Sie das Netzwerk neu oder starten Sie es neu.
Update – Erläuterungen zu EL
Ich habe in einem Kommentar bemerkt, dass Sie sich „auch nach RHEL gefragt haben“.
Erstellen Sie in Enterprise Linux („EL“ – RHEL/CentOS/et al.) eine benannte Routing-Tabelle wie oben erwähnt.
Die EL /etc/sysconfig/network
Datei:
NETWORKING=yes
HOSTNAME=host.sld.tld
GATEWAY=10.10.10.1
Die EL /etc/sysconfig/network-scripts/ifcfg-eth0
Datei unter Verwendung einer statischen Konfiguration (ohne NetworkManager und ohne Angabe von „HWADDR“ und „UUID“ für das Beispiel unten) folgt.
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=10.10.10.140
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255
DIE EL /etc/sysconfig/network-scripts/ifcfg-eth1
Datei (ohne NetworkManager und ohne Angabe von „HWADDR“ und „UUID“ für das Beispiel unten) folgt.
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=172.16.100.10
NETMASK=255.255.255.0
NETWORK=172.16.100.0
BROADCAST=172.16.100.255
Die EL /etc/sysconfig/network-scripts/route-eth1
Datei:
172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt
Die EL /etc/sysconfig/network-scripts/rule-eth1
Datei:
from 172.16.100.0/24 lookup mgmt
Update für RHEL8
Diese oben beschriebene Methode funktioniert mit RHEL 6 &RHEL 7 sowie den Derivaten, aber für RHEL 8 und Derivate muss man zuerst network-scripts
installieren um die oben beschriebene Methode zu verwenden.
dnf install network-scripts
Die Installation erzeugt eine Warnung, dass network-scripts
in einer der nächsten Hauptversionen von RHEL entfernt wird und NetworkManager ifup
bereitstellt /ifdown
auch Skripte.