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.
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.
http://wiki.wlug.org.nz/SourceBasedRouting
Ce site présente un bel exemple de routage basé sur les sources.