Anomalie #376
Ajout de routes statiques
Description
Lorsque l'on veut ajouter une route statique,
on est obligé de renseigner les 4 valeurs route_adresse, route_netmask, route_gw, route_int.
Par conséquence, si on veut ajouter une route "pour atteindre telle machine passer par l'interface eth0",
(sans spécifier de route_gw), c'est impossible !
En spécifiant 0.0.0.0 comme route_gw, çà ne fonctionne pas, aucune route n'est ajoutée !
Dans le fichier /etc/sysconfig/static-routes on a "any host 10.0.16.8 gw 0.0.0.0 dev eth0"
Merci de corriger le problème.
Pour ajouter une route, on a besoin de route_adresse + route_netmask + (route_gw OU route_int).
La syntaxe correcte dans mon cas serait : "route add -host 10.0.16.9 dev eth0"
Révisions associées
fixes #376 : modification du fichier static-routes
fixes #376 : modification du fichier static-routes
[0.90]position of link Debug mode - see #376
Historique
#1 Mis à jour par Samuel LEFOL il y a environ 14 ans
- Fichier static-routes ajouté
Voici une proposition qui corrige le problème :
Lorsque l'utilisateur entre '0.0.0.0' comme route_gw,
'gw' n'est pas inscrit dans le fichier static-routes.
(voir fichier joint)
#2 Mis à jour par samuel morin il y a environ 14 ans
je crois qu'il doit y avoir une mauvaise compréhension du fonctionnement de l'ajout des routes...
Vouloir mettre 0.0.0.0 comme adresse du routeur permettant de joindre un réseau (ou une station) me semble être une aberration.
J'aimerais savoir ce que tu souhaites faire parce que, j'ai du mal à comprendre...
L'exemple que tu donnes à la fin "route add -host 10.0.16.9 dev eth0" signifie : pour atteindre la machine 10.0.16.9, utilise le routeur déclaré sur l'interface eth0 (soit le routeur par défaut)...
Pour info, le mécanisme (et le code) utilisé sur les modules pour ajouter les routes avec le fichier static-routes est tiré des distributions Redhat/Mandrake-Mandriva. Les interfaces ne servent en fait à pas grand chose (j'avais d'ailleurs beaucoup hésité à mettre ce paramètre).
Les paramètres qui comptent réellement sont : le réseau (ou la machine) qu'on souhaite atteindre et l'adresse du routeur permettant de joindre cette adresse.
#3 Mis à jour par Samuel LEFOL il y a environ 14 ans
Non, je ne pense pas avoir mal compris le fonctionnement de l'ajout des routes.
En effet, j'utilise depuis plusieurs années (bien avant l'existence d'Eole) linux et j'ai toujours utilisé cette fonctionnalité.
Voilà mon besoin (que j'utilise sans difficulté sur tous les Amons 1.5) :
pour atteindre la machine 10.0.16.9, envoyer les paquets sur l'interface eth0.
Pourquoi ? et bien la réponse est simple : par défaut Amon envoie le paquet par le tunnel car cette adresse fait partie de la plage RFC1918 (adresses privées).
Hors cette adresse IP est sur l'Internet (ou réseau du FAI pour être plus précis) et donc joignable par l'interface eth0.
La syntaxe "route add -host 10.0.16.9 dev eth0" est une syntaxe correcte. (Voir man route pour plus de détails.)
Celle-ci a l'avantage ne pas devoir connaitre l'adresse de la passerelle (c'est le cas par exemple si tu es en DHCP ou en PPPoE). Par contre, tu connais toujours ton interface de sortie.
En espérant avoir répondu à ta question et que ma proposition soit acceptée par l'équipe Eole.
#4 Mis à jour par samuel morin il y a environ 14 ans
- Assigné à mis à samuel morin
- Version cible mis à 48
#5 Mis à jour par samuel morin il y a environ 14 ans
J'ai jamais dis que la syntaxe "route add -host 10.0.16.9 dev eth0" n'était pas correcte... Ce que je réfutais était le fait de vouloir mettre 0.0.0.0 comme adresse de routeur...
Tes éclaircissements m'ont permis de mieux comprendre ce que tu voulais faire :) Nous allons prendre en compte et intégrer ta demande.
Par contre, as-tu fait des tests lorsque tu avais ajouté la route ? Accèdes-tu bien à la machine en question ?
#6 Mis à jour par Samuel LEFOL il y a environ 14 ans
Oui effectivement, mettre 0.0.0.0 comme adresse de routeur est inutile mais comme une valeur est obligatoire, c'est la seule que j'ai trouvé. D'autant plus que quand on exécute "route add -host 10.0.16.9 dev eth0" et que l'on affiche la table de routage, c'est celle valeur (0.0.0.0) qui apparait comme passerelle.
C'est donc la seule solution que j'ai trouvé en attendant la correction par l'équipe Eole.
Ce qu'il faudrait je pense est de demander :
route_adresse + route_netmask + (route_gw OU route_int).
ps : oui ça fonctionne avec le fichier static-routes ci-joint.
La machine est bien accessible.
#7 Mis à jour par samuel morin il y a environ 14 ans
- Version cible changé de 48 à Mises à jour 2.2.2 - 02 RC
#8 Mis à jour par samuel morin il y a environ 14 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
#9 Mis à jour par samuel morin il y a environ 14 ans
Appliqué par commit 6e95f0d13600a336b7eaa78fca375e2d2166bb9d.
#10 Mis à jour par samuel morin il y a environ 14 ans
Appliqué par commit 6c5362c37a50d27a7d2a5e2701ef2ce69e1fe9b4.
#11 Mis à jour par Joël Cuissinat il y a presque 14 ans
- Projet changé de Distribution EOLE à conf-amon
#12 Mis à jour par Joël Cuissinat il y a presque 14 ans
- Statut changé de Résolu à Fermé
Modifications présentes dans le paquet candidat : conf-amon 2.2-eole214~1.gbp27a00b
#13 Mis à jour par Samuel LEFOL il y a plus de 13 ans
Je viens de tester avec les valeurs suivantes :
route_adresse=10.0.16.8, route_netmask=255.255.255.255, route_int=eth0 et route_gw vide.
Aucune erreur à la validation du dictionnaire
MAIS malheureusement j'ai une erreur au reconfigure :
-------------
Instanciation des fichiers templates
RECONFIGURE : Erreur => Erreur lors de l'instanciation des templates (les variables esclaves doivent avoir le meme nombre d'elements que la variable maitre (route_adresse))
Une erreur système est survenue au lancement du reconfigure
Traceback (most recent call last):
File "/usr/bin/reconfigure", line 149, in <module>
sys.exit(1)
SystemExit: 1
-----------