J'ai utilisé Ubuntu depuis Ubuntu 8.10; aujourd'hui, je travaille avec Ubuntu 12.04 Server.
J'ai de la difficulté à garder les routes statiques au démarrage. Je mettrais habituellement les commandes de route
/sbin/route add -net <IP>/<MASK> <GW> dev <ethX>
dans /etc/rc.local
ou je créerais un fichier (nommé routes
) à l'intérieur du répertoire /etc/network/if-up/
, mais je remarque que sous Ubuntu 12.04, cela ne fonctionne pas.
Si je tape les commandes dans le shell, elles fonctionnent, mais les mêmes commandes ne fonctionnent pas quand elles sont dans le fichier spécifié.
J'ai déjà essayé de changer le nom de fichier en un autre nom en pensant que mon nom de fichier ( routes
) pouvait être erroné dans Ubuntu 12.04, mais cela ne fonctionnait pas non plus.
Je remarque aussi que la commande /sbin/ifconfig
fonctionne, moins le /sbin/route
.
Qu'est-ce qui a changé dans la configuration du réseau?
Comment définir des routes statiques sur Ubuntu 12.04?
la source
your_command > stderr.txt 2>&1
) et d’inspecter sa sortie ...ip add
etip route
. Une commande pour gouverner le net. :)man 5 interfaces
Réponses:
Vous pouvez mettre des routes statiques dans
/etc/network/interfaces
:la source
up ip route add 192.168.0.0/24 via 192.168.1.1
J'ai trouvé très souvent que l'emplacement correct pour définir une route statique est dans / etc / network / interfaces. Si vous envisagez de redémarrer globalement le réseau avec /etc/init.d/networking restart par exemple. Mais si vous allez utiliser ifdown et ifup pour arrêter individuellement une interface, ifup se termine par l'erreur suivante:
À cause de cela tente de définir un itinéraire mais celui-ci est déjà défini. L’interface sera quand même active, mais ifup ne mettra pas à jour / run / network / ifstate, donc la prochaine fois, vous ne pourrez pas le faire si vous n’utilisez pas l’option --force.
Pour que ifup continue de configurer même si les itinéraires sont déjà définis, vous pouvez utiliser ce format pour définir les itinéraires dans / etc / network / interfaces.
De cette façon, vous aurez l'avertissement dans la sortie mais la configuration de l'interface sera complétée
la source
ifconfig
manuellement, au lieu d’exécuterifdown
, ils veulent ensuite pouvoir récupérer en utilisant les outils appropriés. Il est donc utile que ces outils résistent à un état inattendu lorsqu'ils tentent de corriger l'état. La|| true
suggestion est bonne. L'ajout d'une ligne descendante est également utile.up ip route replace 172.16.0.0/24 via 192.168.10.1
"replace" ajouterait la route si elle n'existe pas encore, mais si une route avec le même sélecteur existe, elle serait remplacée par celle actuelle, même si elles ont la même destination.Vous pouvez essayer ceci (ajoutez-le à
/etc/network/interfaces
), c’est une manière presque complète de définir des itinéraires:la source
Il existe un paquet ifupdown-extra disponible dans Ubuntu.
Il fournit des scripts automatiques (installés dans
/etc/network/*/
), dont l'un est utilisé pour ajouter des itinéraires statiques.Le fichier de configuration pour cela est
/etc/network/routes
Le haut de ce fichier de configuration a une bonne description:
Un exemple de route que j'utilise est:
la source
ce qui a fonctionné pour nous était
J'avais l'habitude de courir sur un Mac:
mais sur un ubuntu, le "gw" entre les IP et la dernière partie "masque de réseau" était manquant (également -n pas nécessaire sur ubuntu)
la source
Je préfère utiliser
nmcli
.Par exemple:
Après cela, appliquez les modifications en redémarrant le service NetworkManager:
la source
En utilisant,
nmcli
je pouvais exécuter une solution persistante (la solution @isapir ne fonctionnait pas sur mon appareil).Par exemple:
Après cela, il est possible d’appliquer les modifications en définissant à nouveau la connexion (il n’a pas besoin de redémarrer NetworkManager):
Pour voir les connexions en cours:
la source