[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] problema di routing



Un caro amico mi suggerisce una soluzione per l'andata di questo tipo

aggiungere due tabelle di routing in /etc/iproute2/rt_table

200 eth0_to_eth1
201 eth2_to_eth3


poi imposterei il mangling dei pacchetti per poter scegliere la giusta
tabella di routing

#!/bin/sh
IPT=$(which iptables)
IPT_M="$IPT -t mangle"

$IPT_M -N MARK_FROM_ETH0
$IPT_M -N MARK_FROM_ETH2

$IPT_M -A PREROUTING -i eth0 -m state --state RELATED,ESTABLISHED -j
CONNMARK --restiore-mark
$IPT_M -A PREROUTING -i eth0 -m state --state NEW -j MARK_FROM_ETH0
$IPT_M -A MARK_FROM_ETH0 -j MARK --set-mark 10
$IPT_M -A MARK_FROM_ETH0 -j CONNMARK --save-mark

$IPT_M -A PREROUTING -i eth2 -m state --state RELATED,ESTABLISHED -j
CONNMARK --restore-mark
$IPT_M -A PREROUTING -i eth2 -m state --state NEW -j MARK_FROM_ETH2
$IPT_M -A MARK_FROM_ETH2 -j MARK --set-mark 11
$IPT_M -A MARK_FROM_ETH2 -j CONNMARK --save-mark

# setup tabella eth0_to_eth1
ip route add 127.0.0.0/8 dev lo table eth0_to_eth1
ip route add 10.0.0.0/24 dev eth0 table eth0_to_eth1
ip route add 10.0.1.0/24 dev eth1 table eth0_to_eth1
ip route add 192.168.27.0/24 via 10.0.1.z table eth0_to_eth1
# z = ip del router esterno che poi rigira i pacchetti in eth2

# setup tabella eth2_to_eth3
ip route add 127.0.0.0/8 dev lo table eth2_to_eth3
ip route add 10.0.4.0/24 dev eth2 table eth2_to_eth3
ip route add 10.0.0.0/24 via 10.0.4.z table eth2_to_eth3
# z = ip del router esterno che rigira i pacchetti in eth1
ip route add 192.168.27.0/24 dev eth3 table eth2_to_eth3

# aggancio le tabelle con il mark dei pacchetti
ip rule add from all fwmark 10 table eth0_to_eth1
ip rule add from all fwmark 11 table eth2_to_eth3

che però continua a non funzionare... il ping da 10.0.0.0/24 a
192.168.27.0/24 avviene senza problemi ma non crea traffico sulle
interfacce eth1/eth2

qualcuno vede il problema?
luca


-- 
Chiave pubblica http://luca.costantino.googlepages.com/luca.costantino.asc

Prima di tutto vennero a prendere gli zingari e fui contento, perché
rubacchiavano.
Poi vennero a prendere gli ebrei e stetti zitto, perché mi stavano antipatici.
Poi vennero a prendere gli omosessuali, e fui sollevato, perché mi
erano fastidiosi.
Poi vennero a prendere i comunisti, e io non dissi niente, perché non
ero comunista.
Un giorno vennero a prendere me, e non c’era rimasto nessuno a protestare.
(Martin Niemöller)


Reply to: