web-dev-qa-db-fra.com

Comment router uniquement un sous-réseau spécifique (source ip) vers une interface particulière?

Comment router uniquement un sous-réseau spécifique (source ip) vers une interface particulière?
OS: Linux

Je sais que je peux faire facilement par IP de destination en utilisant quelque chose comme

route add 1.2.3.4/24 dev eth4

mais je ne vois pas comment acheminer en fonction de l’IP source.

29
Alex

Vous devez utiliser un routage basé sur des règles. Quelque chose comme

ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>

<name> est le nom de la table spécifié dans /etc/iproute2/rt_tables ou vous pouvez utiliser un identifiant numérique ...

Cela indique à peu près que tout le trafic provenant de 1.2.3.4/24 sera routé à l'aide de la table de routage <name>. IIRC n'utilise pas la table par défaut après l'avoir parcourue. Si vous avez besoin d'autres routes (passerelle par défaut, par exemple), vous devez également les ajouter à la table.

28
Fox

http://wiki.wlug.org.nz/SourceBasedRouting

Ce site présente un bel exemple de routage basé sur les sources.

6
daya