Visualizzazione dei risultati da 1 a 7 su 7

Discussione: routing avanzato

  1. #1
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180

    routing avanzato

    domanda che pensavo fosse facile e invece si sta rivelando abbastanza ostica, spero qualcuno mi salvi

    ho un pc con 4 schede di rete e un piccolo problem di routing da risolvere; la topologia è riportata in ascii art qui http://pastebin.com/f4LYhW19

    in sostanza ho 4 schede di rete, la prima collegata su una rete in cui gira un client particolare, l'ultima collegata su una rete su cui gira un server particolare
    le reti della seconda e terza interfaccia sono direttamente collegate tra loro tramite un router che effettua delle manipolazioni particolari sui pacchetti

    quello che vorrei è, credo, abbastanza semplice

    tutto il traffico in ingresso alla prima interfaccia deve essere dirottato sulla seconda, tutto il traffico in uscita dalla terza
    interfaccia deve essere dirottato sulla quarta
    specularmente tutto il traffico in arrivo sulla quarta interfaccia deve essere dirottato sulla terza e tutto il traffico in uscita dalla seconda interfaccia deve essere dirottato sulla prima

    spero che l'immagine sia più chiara della descrizione a parole. vorrei che i pacchetti seguissero la linea fatta dagli asterischi. per ora se lancio un ping su una macchina connessa sulla rete 10.0.0.0 verso 10.0.4.2, questo viene direttamente intercettato dall'interfaccia eth2. idem un pacchetto diretto diretto da 10.0.0.* a 192.168.27.* viene raccolto direttamente da eth3

    come devo impostare le regole di route?

    per ora un mio amico mi ha suggerito di aggiungere due tabelle di routing in /etc/iproute2/rt_table

    200 eth0_to_eth1
    201 eth2_to_eth3

    e quindi

    codice:
    #!/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 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
    questo dovrebbe implementare le regole della sola andata, eppure funziona a metà
    dalla rete 10.0.0.0/24 riesco a pingare la rete 192.168.27.0/24, ma la comunicazione non passa attraverso il percorso definito dalle regole --> tramite wireshark non vedo attività su eth1 ed eth2 ma solo su eth1/eth3

    riesco invece a pingare correttamente (attraverso il giusto percorso) gli host di 10.0.1.0/24 e quelli di 10.0.4.0/24 ad eccezione di 10.0.4.2 che viene pingato direttamente...

    qualche anima pia mi illumina?

    grazie mille!
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  2. #2
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    nessuno? ;(
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  3. #3
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,273
    onestamente non ho mai affrontato un routing cosi' strano e incomprensibile.
    Spiega meglio a cosa serve e quali sono le sue funzionalita' perche' ci ho capito poco.
    Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  4. #4
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    il problems si può, credo, semplificare in questo modo

    come fare a redirigere TUTTO il traffico proveniente da una interfaccia su di un'altra? *TUTTO*, senza eccezioni... non penso sia impossibile né difficile, solo che non so come diamine farlo
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  5. #5
    Utente di HTML.it L'avatar di pilovis
    Registrato dal
    Mar 2001
    Messaggi
    3,273
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -d x.x.x.x -j DNAT --to-destination y.y.y.y
    iptables -t nat -A POSTROUTING -s y.y.y.y -j SNAT --to-source x.x.x.x

    x.x.x.x e y.y.y.y sono gli indirizzi IP rispettivamente di eth0 e eth1
    Progettista elettronico, appassionato di informatica dal 1982, sistemista Linux dal 2002, sono consulente tecnico del Giudice per le indagini preliminari, valuto richieste di consulenza, in ambito Voip/Telefonia anche con grado di sicurezza militare.

  6. #6
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    mercoledì provo, intanto grazie mille
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  7. #7
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    purtroppo non funziona, i pacchetti continuano ad andare nell'interfaccia sbagliata

    edit:
    vedo che mi viene cambiata l0intestazione del pacchetto modificando l'indirizzo di destinazione. purtroppo è una cosa che non posso fare
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.