Je dois ajouter une route qui ne sera pas supprimée après le redémarrage. J'ai lu ces deux façons de faire :
Ajouter
ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
au fichier/etc/network/interfaces
ou
Créez le fichier /etc/network/if-up.d/route avec :
#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
et rendez-le exécutable :
chmod +x /etc/network/if-up.d/route
Je suis donc confus. Quelle est la meilleure façon de procéder ?
Réponse acceptée :
Vous avez mentionné /etc/network/interfaces
, c'est donc un système Debian…
Créez une table de routage nommée. À titre d'exemple, j'ai utilisé le nom "mgmt" ci-dessous.
echo '200 mgmt' >> /etc/iproute2/rt_tables
Ci-dessus, le noyau prend en charge de nombreuses tables de routage et y fait référence par des entiers uniques numérotés de 0 à 255. Un nom, mgmt, est également défini pour la table.
Ci-dessous, un aperçu d'un /etc/iproute2/rt_tables
par défaut suit, indiquant que certains numéros sont réservés. Le choix dans cette réponse de 200 est arbitraire; on peut utiliser n'importe quel numéro qui n'est pas déjà utilisé, 1-252.
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
Ci-dessous, un fichier d'interface Debian 7/8 définit eth0
et eth1
. eth1
est le réseau 172. eth0
pourrait également utiliser DHCP. 172.16.100.10
est l'adresse IP à attribuer à eth1
. 172.16.100.1
est l'adresse IP du routeur.
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The production network interface
auto eth0
allow-hotplug eth0
# iface eth0 inet dhcp
# Remove the stanzas below if using DHCP.
iface eth0 inet static
address 10.10.10.140
netmask 255.255.255.0
gateway 10.10.10.1
# The management network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 172.16.100.10
netmask 255.255.255.0
post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.10 table mgmt
post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
post-up ip rule add from 172.16.100.10/32 table mgmt
post-up ip rule add to 172.16.100.10/32 table mgmt
Redémarrez ou redémarrez le réseau.
Mise à jour – Exposer sur EL
J'ai remarqué dans un commentaire que vous vous "interrogez également sur RHEL".
Dans Enterprise Linux ("EL" - RHEL/CentOS/et al), créez une table de routage nommée comme mentionné ci-dessus.
L'EL /etc/sysconfig/network
fichier :
NETWORKING=yes
HOSTNAME=host.sld.tld
GATEWAY=10.10.10.1
L'EL /etc/sysconfig/network-scripts/ifcfg-eth0
fichier, en utilisant une configuration statique (sans NetworkManager et sans spécifier "HWADDR" et "UUID" pour l'exemple ci-dessous) suit.
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=10.10.10.140
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255
L'EL /etc/sysconfig/network-scripts/ifcfg-eth1
(sans NetworkManager et sans spécifier "HWADDR" et "UUID" pour l'exemple ci-dessous) suit.
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=172.16.100.10
NETMASK=255.255.255.0
NETWORK=172.16.100.0
BROADCAST=172.16.100.255
L'EL /etc/sysconfig/network-scripts/route-eth1
fichier :
172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt
L'EL /etc/sysconfig/network-scripts/rule-eth1
fichier :
from 172.16.100.0/24 lookup mgmt
Mise à jour pour RHEL8
Cette méthode décrite ci-dessus fonctionne avec RHEL 6 &RHEL 7 ainsi que les dérivés, mais pour RHEL 8 et dérivés, il faut d'abord installer network-scripts
utiliser la méthode décrite ci-dessus.
dnf install network-scripts
L'installation génère un avertissement indiquant que network-scripts
sera supprimé dans l'une des prochaines versions majeures de RHEL et que NetworkManager fournit ifup
/ifdown
scripts également.