58 votes

Comment définir des routes statiques dans un serveur Ubuntu ?

J'utilise Ubuntu depuis Ubuntu 8.10 ; aujourd'hui je travaille avec Ubuntu 12.04 Server.

J'ai des difficultés à conserver les routes statiques au démarrage. D'habitude, je mets les commandes de route

/sbin/route add -net <IP>/<MASK> <GW> dev <ethX>

sur /etc/rc.local ou je créerais un fichier (nommé routes ) dans le répertoire /etc/network/if-up/ mais je remarque que sur 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 lorsqu'elles sont dans le fichier spécifié.

J'ai déjà essayé de changer le nom du fichier pour d'autres noms en pensant que mon nom de fichier ( routes ) pourrait être erroné dans Ubuntu 12.04, mais cela n'a pas non plus fonctionné.

Je remarque aussi que la commande /sbin/ifconfig œuvre, moins le /sbin/route .

Qu'est-ce qui a changé dans la mise en place du réseau ?

Comment puis-je définir des routes statiques sur Ubuntu 12.04 ?

3voto

Peter Perháč Points 279

Ce qui a marché pour nous, c'est

sudo route add -net 192.168.0.2/32 gw 192.168.1.1 netmask 255.255.0.0

J'avais l'habitude de travailler sur un Mac :

sudo route -n add -net 192.168.0.2/32 192.168.1.1

mais sur un ubuntu le "gw" entre les IPs et la dernière partie "netmask" manquait (aussi -n non requis sur ubuntu)

3voto

erg39 Points 197

Je préfère utiliser nmcli .

nmcli device modify <device> +ipv4.routes "<ip>/<mask> <gw>" ipv4.route-metric 0

Par exemple :

nmcli device modify wlp2s0 +ipv4.routes "1.1.1.0/24 192.168.0.1" ipv4.route-metric 0

Après cela, appliquez les changements en redémarrant le service NetworkManager :

sudo systemctl restart NetworkManager.service

3voto

Iman Kermani Points 131

Comme il s'agit de 2021, vous pouvez le configurer en utilisant netplan sur ubuntu 18.04 ou plus récent (testé sur ubuntu 20.04). Une référence complète est disponible sur site netplan . le fichier de configuration se trouve sous /etc/netplan/ répertoire.

network:
  version: 2
  ethernets:
    ens160: # in my case the interface name is ens160
      dhcp4: false  # or true. depends on your situation
      addresses: [192.168.0.10/24]  # your static IP address
      # the actual answer is here
      routes:
        - to: 0.0.0.0/0  # or any other subnet you like. 0.0.0.0/0 means default gateway
          via: 172.16.0.1  # or any other gateway you want.
          on-link: true   # as you see my interface IP address and default gateway are not in the same subnet so we should put this true but if they are in the same subnet this is not required. 

PS. les fichiers de configuration YAML sont sensibles à l'indentation et il n'accepte pas les tabulations. l'indentation est de 2 espaces.

n'oubliez pas de courir netplan apply .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X