Netfilter iproute - marking packets
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Salve, ho due link ad internet e vorrei smistare il traffico utilizzando il mark dei pacchetti. Ho seguito alla lettera la guida del Linux Advanced Routing Traffic Control qui presente: http://lartc.org/howto/lartc.netfilter.html Cambiando: iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 25 -j MARK - --set-mark 1 in iptables -A PREROUTING -i eth0 -t mangle -d XXX.XXX.XXX.XXX -j MARK - --set-mark 2 Dove XXX.XXX.XXX.XXX è un ip di prova reale e normalmente raggiungibile. Cambiando: echo 201 mail.out /etc/iproute2/rt_tables ip rule add fwmark 1 table mail.out in echo 201 link2 /etc/iproute2/rt_tables ip rule add fwmark 2 table link2 Cambiando: ip route add default via 195.96.98.253 dev ppp0 table mail.out in ip route add default via YYY.YYY.YYY.YYY dev eth2 table link2 Dove YYY.YYY.YYY.YYY è il gateway della connessione. Cosa succede? Succede che se da un client collegato ad eth0 richiedo l'indirizzo XXX.XXX.XXX.XXX non ricevo nessuna risposta e se provo a fare un traceroute si blocca sull'ip del router YYY.YYY.YYY.YYY della connessione. La cosa strana è che se inverto le parti, cioè configuro la connessione del link2 come default e quella di default come link succede la stessa cosa, cioè i pacchetti marcati a 2 si fermano sul gateway. Siccome ho a disposizione ip statici per entrambe la connessione il NAT l'ho effettuo sulla box Debian tramite l'SNAT: iptables -t nat -A POSTROUTING -o eth1 -s 10.10.0.0/16 -j SNAT - --to-source AAA.AAA.AAA.AAA iptables -t nat -A POSTROUTING -o eth2 -s 10.10.0.0/16 -j SNAT - --to-source BBB.BBB.BBB.BBB Dove AAA.AAA.AAA.AAA e BBB.BBB.BBB.BBB sono ip pubblici dei rispettivi ISP. Come mai non funziona? Uso Debian Sarge con kernel 2.6. Grazie, Gianluca - -- echo aculnaiG | awk 'BEGIN { FS = } { for (i = NF; i = 1; i-- ) printf $i }'; echo -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFnwbtK1z3HmyB2QIRAr/ZAJ421mAEfxNqKSdhnWTxFFLLAmloUQCeNwFE TBykP+EoDa+o2l05w4Tm8tI= =UcCa -END PGP SIGNATURE- -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
RISOLTO - Re: Netfilter iproute - marking packets
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Mi rispondo da solo: echo 0 /proc/sys/net/ipv4/conf/eth2/rp_filter Di default è a 1. Che idiota a quest'ora è meglio dormire invece di perdere il sonno con il routing. Gianluca Gianluca ha scritto: Salve, ho due link ad internet e vorrei smistare il traffico utilizzando il mark dei pacchetti. Ho seguito alla lettera la guida del Linux Advanced Routing Traffic Control qui presente: http://lartc.org/howto/lartc.netfilter.html Cambiando: iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 25 -j MARK --set-mark 1 in iptables -A PREROUTING -i eth0 -t mangle -d XXX.XXX.XXX.XXX -j MARK --set-mark 2 Dove XXX.XXX.XXX.XXX è un ip di prova reale e normalmente raggiungibile. Cambiando: echo 201 mail.out /etc/iproute2/rt_tables ip rule add fwmark 1 table mail.out in echo 201 link2 /etc/iproute2/rt_tables ip rule add fwmark 2 table link2 Cambiando: ip route add default via 195.96.98.253 dev ppp0 table mail.out in ip route add default via YYY.YYY.YYY.YYY dev eth2 table link2 Dove YYY.YYY.YYY.YYY è il gateway della connessione. Cosa succede? Succede che se da un client collegato ad eth0 richiedo l'indirizzo XXX.XXX.XXX.XXX non ricevo nessuna risposta e se provo a fare un traceroute si blocca sull'ip del router YYY.YYY.YYY.YYY della connessione. La cosa strana è che se inverto le parti, cioè configuro la connessione del link2 come default e quella di default come link succede la stessa cosa, cioè i pacchetti marcati a 2 si fermano sul gateway. Siccome ho a disposizione ip statici per entrambe la connessione il NAT l'ho effettuo sulla box Debian tramite l'SNAT: iptables -t nat -A POSTROUTING -o eth1 -s 10.10.0.0/16 -j SNAT --to-source AAA.AAA.AAA.AAA iptables -t nat -A POSTROUTING -o eth2 -s 10.10.0.0/16 -j SNAT --to-source BBB.BBB.BBB.BBB Dove AAA.AAA.AAA.AAA e BBB.BBB.BBB.BBB sono ip pubblici dei rispettivi ISP. Come mai non funziona? Uso Debian Sarge con kernel 2.6. Grazie, Gianluca - -- echo aculnaiG | awk 'BEGIN { FS = } { for (i = NF; i = 1; i-- ) printf $i }'; echo -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFnwjPK1z3HmyB2QIRAkhyAJ9UuDWuTerS2cjzvrtAfX/+v1w0NgCdFcfS M7DdmkSLS7rZr8pxWkHPZ98= =l8nX -END PGP SIGNATURE- -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]