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


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

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


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)


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


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.


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.