Ho un sistema con due interfacce. Entrambe le interfacce sono connesse a Internet. Uno di questi è impostato come percorso predefinito; un effetto collaterale di ciò è che se un pacchetto arriva sull'interfaccia di percorso non predefinito, la risposta viene rinviata tramite l'interfaccia di percorso predefinita. C'è un modo per utilizzare iptables (o qualcos'altro) per tenere traccia della connessione e inviare la risposta tramite l'interfaccia da cui proviene?
Risposta accettata:
echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <interface_IP> table isp2 prio 1
ip route add default via <gateway_IP> dev <interface> table isp2
Quanto sopra non richiede alcun contrassegno di pacchetto con ipfilter. Funziona perché i pacchetti in uscita (risposta) avranno l'indirizzo IP originariamente utilizzato per connettersi alla seconda interfaccia come indirizzo di origine (da) sul pacchetto in uscita.