Wenn Sie versuchen, die richtige Methode zum Erstellen einer statischen Route in CentOS zu verstehen, helfen Sie bitte

8

Ich habe versucht zu verstehen, wie eine statische Route auf einem CentOS 6.x-Computer richtig hinzugefügt werden kann. In einigen Foren wird angegeben, dass eine Datei mit dem Namen route-dev_name(z. B. route-eth0) mit der entsprechenden Route erstellt und /etc/sysconfig/network-scriptsabgelegt werden soll. In einigen Foren wird angegeben, dass die Datei benannt werden soll static-routes. In beiden Fällen kann keine statische Route festgelegt werden. In einigen CentOS-Versionen funktioniert es anscheinend nur beim Benennen der Datei route-dev_nameund in einigen nur beim Benennen der Datei static-routes. Kann mir bitte jemand helfen? Dies ist der Inhalt meiner Routendatei:

192.168.20.0/24 via 192.168.20.253 dev eth0

Danke im Voraus

Itai Ganot
quelle
Ich verwende verschiedene CentOS-Versionen auf verschiedenen Servern, aber hauptsächlich CentOS 6.3-6.5
Itai Ganot

Antworten:

7

Geräteabhängige Routen im RH-Stil, die mithilfe von /etc/sysconfig/network-scripts/route-deviceDateien definiert wurden, haben viele Probleme verursacht.

Echte Systemadministratoren verwenden also nur /etc/sysconfig/static-routesDateien ohne Geräteabhängigkeit:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1

Probleme:

  • Wenn physische Geräte verbunden sind, müssen Sie auch daran denken, zufällige Routing- Gerätedateien zu erstellen
  • Wenn Sie Adapter in einer virtuellen Maschine neu organisieren.

Natürlich sollte man immer Bridge- Geräte verwenden, um Probleme mit Routing- Gerätedateien zu vermeiden .

/etc/sysconfig/static-routesBeachten Sie auch die Syntax in der Datei, Sniplet von /etc/init.d/network:

    # Add non interface-specific static-routes.
    if [ -f /etc/sysconfig/static-routes ]; then
       if [ -x /sbin/route ]; then
           grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
               /sbin/route add -$args
           done
       else
           net_log $"Legacy static-route support not available: /sbin/route not found"
       fi
    fi
arl
quelle
8

Erstellen Sie eine Datei in / etc / syconfig / network-scripts / route-eth0

add füge folgendes hinzu

192.168.20.0/24 via 192.168.20.253 dev eth0

Ich habe diesen Ansatz immer verwendet. Ich habe festgestellt, dass dies der beste Ansatz ist.

Zu Ihrer Information: Überprüfen Sie - https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html

Vijay Rajah
quelle
1
Okay, das ist der Ansatz, den ich bis jetzt selbst verwendet habe, aber kürzlich auf CentOS 6.5-Computern stelle ich fest, dass die route-devXDatei ignoriert wird und die Server nicht die Route hochfahren, wenn der Server neu gestartet oder der Netzwerkdienst neu gestartet wird was könnte es verursachen?
Itai Ganot
Nicht sicher. Wird die Schnittstelle beim Booten / Neustarten angezeigt? Ich habe keinen CENTOS / RHEL 6.5-Testbox-Geldautomaten. Ich bin nicht sicher, ob sich die ifup-Routen bei RHEL 6.5 geändert haben.
Vijay Rajah
Ja, die Schnittstellen funktionieren ordnungsgemäß ... nur die Route wird nicht angezeigt, und ich spreche von einer frisch installierten Maschine oder einem Alter von 2-3 Monaten. Wie auch immer, ich sehe, dass ich den richtigen Ansatz verwende, also akzeptiere ich einfach Ihre Frage, danke.
Itai Ganot
4

Es gibt eine einfachere Möglichkeit, Routen hinzuzufügen ...

Diese Datei - /etc/init.d/network- wird beim Booten des PCs gestartet und verwendet eine Datei /etc/sysconfig/static-routes, um statische Routen hinzuzufügen

Sie müssen es erstellen, weil es nicht existiert.

Wenn Sie die Datei sorgfältig lesen /etc/init.d/network, liest sie in dieser Datei jede Zeile, um Routen hinzuzufügen. Diese Zeile muss mit "any" beginnen, und "route add -" ist bereits bekannt.

In der Datei, die Sie >> / etc / sysconfig / static-route erstellen möchten, müssen Sie Folgendes schreiben:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
  • Dabei ist 10.0.0.0/24 das Netzwerk, das Sie erreichen möchten (255.255.255.0 ist die Maske).
  • Dabei ist GW 192.168.0.1 das zu erreichende Gateway (sicherlich der Router).
  • Dabei ist eth0 die Schnittstelle, an der verwendet werden soll.

Dies ist der beste Weg, um statische Routen hinzuzufügen, 1 Datei für alles (keine X-Dateien für X-Schnittstellen)

Tom
quelle
1

Ich verwende route-ethXauf meinem CentOS 6.4 und 6.5 immer den Dateiansatz:

Erstellen / bearbeiten Sie eine Datei /etc/sysconfig/network-scripts/route-ethX(wobei X Ihre Schnittstellennummer ist) und legen Sie Ihre Route in dieser Datei fest:

192.168.20.0/24 via 192.168.20.253 dev eth0

Sie können diese Datei auch im folgenden Format bearbeiten (ich persönlich bevorzuge die erste Syntax):

GATEWAY0=192.168.20.253
NETMASK0=255.255.255.0
ADDRESS0=192.168.20.0

Starten Sie dann das Netzwerk neu, um die Änderungen zu übernehmen:

service network restart

Weiterführende Literatur: https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html

krisFR
quelle
0

In / etc / sysconfig / network-scripts gibt es ein Skript ifup-routen . Es sucht nach Dateien mit dem Namen route-dev_name, z. B. route-eth0.

Sciurus
quelle
0

In meinem Fall existierte die Datei " / etc / sysconfig / network-scripts / route-device " nicht.

Ich füge das erforderliche Netzwerk oder die erforderliche IP in die Datei " / etc / sysconfig / static-route " ein und starte den Computer neu, damit er dauerhaft funktioniert.

es wurde in einem gemacht: cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)

Freundliche Grüße,

Manuel Lazo

Manuel Lazo
quelle