web-dev-qa-db-fra.com

Quelle est la meilleure façon d'ajouter un itinéraire permanent?

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?

11
Pozinux

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
14
Christopher

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
0
GAD3R