Come instradare solo una sottorete specifica (IP sorgente) a una particolare interfaccia?


31

Come instradare solo una sottorete specifica (IP sorgente) a una particolare interfaccia?
Sistema operativo: Linux

So di poterlo fare facilmente con l'IP di destinazione usando qualcosa di simile

route add 1.2.3.4/24 dev eth4

ma non vedo come instradare in base all'IP di origine.

Risposte:


30

È necessario utilizzare il routing basato su criteri. Qualcosa di simile

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

<name>è il nome della tabella specificato in /etc/iproute2/rt_tablesoppure è possibile utilizzare l'id numerico ...

Questo dice praticamente che tutto il traffico proveniente 1.2.3.4/24verrà instradato utilizzando la tabella di routing <name>. IIRC non utilizza la tabella predefinita dopo aver attraversato questo, quindi se hai bisogno di altri percorsi (ad es. Gateway predefinito), devi aggiungerli anche alla tabella.


1
una correzione (ma non sono sicuro che anche il tuo funzionerà. per il secondo comando: ip route add default dev eth4 table <name>(la tabledirettiva dovrebbe andare alla fine penso, proprio come nel primo comando ... defaultpuò anche essere sostituita da una sottorete, proprio come nel tuo esempio )
Alex,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.