Je dois ajouter un itinéraire qui ne sera pas supprimé après le redémarrage. J'ai lu ces deux façons de le faire:
Ajouter
up route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX
vers le 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 le rendre exécutable:
chmod +x /etc/network/if-up.d/route
Je suis donc confus. Quelle est la meilleure façon de procéder?
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 s'y réfère 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, montrant que certains numéros sont réservés. Le choix dans cette réponse de 200 est arbitraire; on peut utiliser n'importe quel nombre 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'interfaces 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 - Exposé sur EL
J'ai remarqué dans un commentaire que vous "vous demandiez aussi pour RHEL". Dans Enterprise Linux ("EL" - RHEL/CentOS/et al), créez une table de routage nommée comme mentionné ci-dessus.
Le fichier EL /etc/sysconfig/network
:
NETWORKING=yes
HOSTNAME=Host.sld.tld
GATEWAY=10.10.10.1
Le fichier EL /etc/sysconfig/network-scripts/ifcfg-eth0
, Utilisant une configuration statique (sans NetworkManager et ne spécifiant pas "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
Le fichier EL /etc/sysconfig/network-scripts/ifcfg-eth1
(Sans NetworkManager et ne spécifiant pas "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
Le fichier EL /etc/sysconfig/network-scripts/route-eth1
:
172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt
Le fichier EL /etc/sysconfig/network-scripts/rule-eth1
:
from 172.16.100.0/24 lookup mgmt
Sur la distribution basée sur Debian, vous pouvez ajouter une route statique de façon permanente comme suit:
echo "up route add -net 172.X.X.X/24 gw 172.X.X.X dev ethX" | Sudo tee --append /etc/network/interfaces
Sur la distribution basée sur RHEL:
echo "172.X.X.X/24 via 172.X.X.X" | Sudo tee --append /etc/sysconfig/network-scripts/route-ethX