Route statique au démarage

Tags: #<Tag:0x00007f74fc4fcc98>

Bonjour,

j’utilise une route statique pour des raisons de firewall/vpn

donc en gros je fais ceci :

sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

mais quant la machine redémarre, je dois chaque fois retapper cette commande a la main

je l’ai rajoutée dans /etc/network/interfaces mais ça ne change rien

help plz :slight_smile:

Peut-on voir le contenu de ce fichier ?

voici:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.23
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.2
    dns-nameservers 192.168.1.2
    route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

aucun fichier dans source /etc/network/interfaces.d/

Mauvaise syntaxe, voir la page de manuel d’interfaces. Pour exécuter une commande après la configuration de l’interface, il faut la préfixer par up ou post-up (équivalents).

1 J'aime

ha bon ? ok , je check merci :wink:

En plus, route fait partie des commandes rendues obsolètes par iproute2, des équivalent de :

route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

étant (un seul suffit) :

ip route add 192.168.2.0/24 via 192.168.1.1
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
ip route add 192.168.2.0/255.255.255.0 via 192.168.1.1

Bof. La commande route reste parfaitement fonctionnelle pour faire tout ce qu’elle a toujour fait, comme créer des routes simples. Elle n’est donc pas obsolète. Simplement elle ne permet pas d’exploiter certaines fonctionnalités du routage du noyau.

Si je puis me permettre un conseil, je recommanderais d’éviter d’utiliser le nom de l’interface dans les options, surtout quand c’est inutile comme ici. C’est un coup à se faire avoir le jour où on doit modifier le nom de l’interface et on oublie de le faire dans une option. Quand c’est vraiment nécessaire, il vaut mieux utiliser la variable $IFACE qui contient le nom de l’interface.

Pour route, la vraie raison qui fait qu’il me semble mieux de l’éviter est qu’il est beaucoup plus simple de parser et réutiliser le résultat de la commande ip (mais ça ne concerne pas forcément tout le monde). Je ne sais pas s’il y a des vraies raisons d’éviter de l’utiliser (contrairement à ifconfig qui peut masquer des IP quand il y en a plusieurs configurées sur une seule interface et ne peut pas afficher l’intégralité de l’adresse physique pour des interfaces non-ethernet (ce qui reste peu grave en général pour l’immense majorité des gens)…)

Édit : https://wiki.linuxfoundation.org/networking/net-tools semble indiquer que route est obsolète.

Pour l’indication de l’interface dans ip, en effet, c’est mieux d’éviter le nom en dur, surtout quand il n’y a pas d’ambiguïté et qu’on peut ne pas préciser d’interface…