Essayer de comprendre la bonne façon de créer un itinéraire statique dans CentOS, veuillez aider

8

J'ai essayé de comprendre quelle est la bonne façon d'ajouter une route statique sur une machine CentOS 6.x. Dans certains forums, ils disent de créer un fichier nommé route-dev_name(par exemple route-eth0) avec la route appropriée et de le placer /etc/sysconfig/network-scripts, dans certains forums, ils disent que le fichier doit être nommé static-routes, dans les deux cas, je ne peux pas définir une route statique. Il semble que dans certaines versions de CentOS, cela ne fonctionne que lors de la dénomination du fichier route-dev_nameet dans certaines versions, il ne fonctionne que lors de la dénomination du fichier static-routes. Quelqu'un peut-il m'aider? Voici le contenu de mon fichier d'itinéraire:

192.168.20.0/24 via 192.168.20.253 dev eth0

Merci d'avance

Itai Ganot
la source
J'utilise différentes versions de CentOS sur différents serveurs, mais principalement CentOS 6.3-6.5
Itai Ganot

Réponses:

7

Les routes dépendantes du périphérique de style RH définies à l'aide de /etc/sysconfig/network-scripts/route-devicefichiers ont causé beaucoup de problèmes.

Ainsi, les vrais administrateurs système n'utilisent que des /etc/sysconfig/static-routesfichiers sans dépendance de périphérique:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1

Problèmes:

  • Lorsque des périphériques physiques sont liés, vous devez vous rappeler de choisir également le fichier de périphérique de routage
  • Lorsque vous réorganisez des adaptateurs dans une machine virtuelle.

Naturellement, il faut toujours utiliser des périphériques de pont , afin d'éviter les problèmes de fichiers de périphérique de route .

Notez également la syntaxe dans le /etc/sysconfig/static-routesfichier, sniplet de /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
la source
8

Créez un fichier dans / etc / syconfig / network-scripts / route-eth0

ajouter ajouter ce qui suit

192.168.20.0/24 via 192.168.20.253 dev eth0

J'ai toujours utilisé cette approche. J'ai trouvé que c'était la meilleure approche.

FYI: Check - https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html

vijay rajah
la source
1
D'accord, c'est l'approche que j'ai utilisée jusqu'à présent, mais récemment sur les machines CentOS 6.5, je trouve que le route-devXfichier est ignoré et que les serveurs ne remontent pas la route lorsque le serveur est redémarré ou que le service réseau est redémarré, une idée qu'est-ce qui pourrait en être la cause?
Itai Ganot
Pas sûr .. L'interface apparaît-elle au démarrage / redémarrage? .. Je n'ai pas de boîte de test ATM CENTOS / RHEL 6.5 .. Je ne sais pas s'il y a un changement dans les routes ifup sur RHEL 6.5.
vijay rajah
Oui, les interfaces fonctionnent correctement ... seul l'itinéraire ne vient pas et je parle d'une machine fraîchement installée ou d'environ 2-3 mois. Quoi qu'il en soit, je vois que j'utilise la bonne approche, donc je vais juste accepter votre question, merci.
Itai Ganot
4

Il existe un moyen plus simple d'ajouter des itinéraires ...

Ce fichier - /etc/init.d/network- est lancé au démarrage du PC et utilise un fichier /etc/sysconfig/static-routespour ajouter des routes statiques

Vous devez le créer car il n'existe pas.

Si vous lisez attentivement le fichier /etc/init.d/network, il lit dans ce fichier chaque ligne pour ajouter des routes, cette ligne doit commencer par "any" et "route add -" est déjà connu.

Donc dans le fichier que vous allez créer >> / etc / sysconfig / static-routes, vous devez écrire:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
  • où 10.0.0.0/24 est le réseau que vous souhaitez atteindre (255.255.255.0 est le masque)
  • où gw 192.168.0.1 est la passerelle à atteindre (certainement le routeur)
  • où eth0 est l'interface à utiliser.

C'est le meilleur moyen d'ajouter des routes statiques, 1 fichier pour tout (pas des fichiers X pour les interfaces X)

À M
la source
1

J'utilise toujours l' route-ethXapproche fichier sur mes CentOS 6.4 et 6.5:

Créez / éditez le fichier /etc/sysconfig/network-scripts/route-ethX(où X est votre numéro d'interface) et définissez votre itinéraire dans ce fichier:

192.168.20.0/24 via 192.168.20.253 dev eth0

Vous pouvez également modifier ce fichier en utilisant le format suivant (personnellement, je préfère la première syntaxe):

GATEWAY0=192.168.20.253
NETMASK0=255.255.255.0
ADDRESS0=192.168.20.0

Redémarrez ensuite le réseau pour appliquer les modifications:

service network restart

Lectures complémentaires: https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html

krisFR
la source
0

Dans / etc / sysconfig / network-scripts, il y a un script ifup-routes . Il recherche les fichiers avec le nom route-dev_name, par exemple route-eth0.

sciurus
la source
0

Dans mon cas, le fichier " / etc / sysconfig / network-scripts / route-device " n'existait pas.

Je procède à l'ajout du réseau ou de l'ip requis sur le fichier " / etc / sysconfig / static-routes " et pour le rendre définitivement, j'ai redémarré la machine et il s'est avéré fonctionner comme prévu.

cela a été fait dans un: cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)

Meilleures salutations,

Manuel Lazo

Manuel Lazo
la source