Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    iptables non funzia come dico io e altra interfaccia virtuale possibile?

    ciao tutti

    la mia nuova gentuzza si rifiuta di ubbidire alle regole di firewalling che le dico, o meglio gliele dico sbagliate
    avete un suggerimentino?

    questo è lo scriptino che mi sono fatto per settare il tutto:
    codice:
    # cat scripts/firewall.bash 
    #!/bin/bash
    
    # set some variables
    
    INET_IFACE='eth1'
    LAN_IFACE='eth0'
    MY_INET_IP='10.24.1.2' # will SNAT LAN addresses to this
    PUB_IP='xxx.yyy.zzz.www' # my real INET address
    LAN_ADDR='192.168.0.0/24'
    LO_ADDR='127.0.0.0/8'
    ALLOWED_INET_SERVICES='80 21 25 110 6667' # allowed ports for outgoing tcp packets
    
    # flush all tables
    
    iptables -t filter -F
    iptables -t nat    -F
    iptables -t mangle -F
    
    # set drop policy for ALL incoming and outgoing packets
    
    iptables -t filter -P INPUT  DROP
    iptables -t filter -P OUTPUT DROP
    
    # allow loopback connections
    
    iptables -t filter -A INPUT  -i lo -s $LO_ADDR -d $LO_ADDR -j ACCEPT
    iptables -t filter -A OUTPUT -o lo -s $LO_ADDR -d $LO_ADDR -j ACCEPT
    
    # allow LAN connections
    
    iptables -t filter -A INPUT  -i $LAN_IFACE -s $LAN_ADDR -d $LAN_ADDR -j ACCEPT
    iptables -t filter -A OUTPUT -o $LAN_IFACE -s $LAN_ADDR -d $LAN_ADDR -j ACCEPT
    
    # allow LAN hosts connections to some external services
    
    for PORT in $ALLOWED_INET_SERVICES ; do
      iptables -t filter -A INPUT  -i $LAN_IFACE -s $LAN_ADDR -p tcp --dport $PORT -j ACCEPT
      iptables -t filter -A OUTPUT -p tcp --dport $PORT -j ACCEPT
    done
    
    # DNAT connections addressed to my public internet IP
    
    iptables -t nat -A PREROUTING -i $LAN_IFACE  -s $LAN_ADDR   -d $PUB_IP -j DNAT --to 192.168.0.1
    iptables -t nat -A PREROUTING -i $INET_IFACE -s $MY_INET_IP -d $PUB_IP -j DNAT --to 192.168.0.1
    
    # SNAT outgoing LAN connections
    
    iptables -t nat -A POSTROUTING -o $INET_IFACE -s $LAN_ADDR -j SNAT --to $MY_INET_IP
    
    # tell the kernel we are done with NATting
    
    echo 1 > /proc/sys/net/ipv4/ip_forward
    for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
    i problemi sono principalmente questi:

    - non mi risolve i nomi (ad esempio se cerco di accedere a
    google con links non trova l'indirizzo)
    praticamente mi sa tanto che le connessioni non riescono ad uscire.. ma a me sembra di aver messo gli opportuni jump a ACCEPT..
    a questo proposito, se la mia macchina tenta una connessione verso un indirizzo esterno, questa connessione (a parte il fatto che verrà SNATtata dopo nel POSTROUTING) nasce con indirizzo sorgente il mio indirizzo sull'interfaccia verso internet (nel mio caso 10.24.1.2) oppure con quello nella LAN (192.168.0.1)? io penso con quello "su internet".. però non si sa mai. è possibile, e se sì come, decidere che indirizzo usare? forse con route?

    - non fa il DNAT come gli ho detto, siccome ho un problema dovuto al mio indirizzo su internet avrei bisogno di questa traduzione dell'indirizzo per riuscire a connettermi dall'interno

    oppure

    avevo pensato ad una cosa.. è forse possibile creare una seconda interfaccia virtuale? (come la 'lo' per intenderci)
    siccome le eth sono numerate ho pensato che magari non è così irrealizzabile, però ifconfig giustamente non trova niente col nome di lo0, lo1, lo2.. esiste un modo per fare ciò o è del tutto impossibile?
    questo mi risolverebbe un sacco di problemi.. ma se non si può amen

    thx!
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  2. #2
    Grazie ar Beep :
    ALLOWED_INET_SERVICES='80 21 25 110 6667' # allowed ports for outgoing tcp packets
    E dove è la 53 udp/tcp ?!?!?!?!??


    Prova a metterla ma deve essere sia udp che tcp e forse vedrai che riuscirai anche a interrogare i DNS !
    I have tried all ... but the preferred remains SLACKWARE !
    RHCE (Linux Red Hat Certified Engineer)
    CNAC (Cisco Networking Academy Certified)
    "Non auro, sed ferro, recuperanda est patria"

  3. #3
    sai che ci ho pensato?
    solo che poi mi sono detto che il resolving era così ovvio che non andava aggiunto lì, sono furbissimo

    ora provo e speriamo bene
    per il resto non sapete dirmi niente?
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  4. #4
    ok non va neanche così, che manca ancora?
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  5. #5
    lui ti aggiunge solo la 53 tcp invece serve sia tcp ke udp ... scrivitela a mano la regola !
    I have tried all ... but the preferred remains SLACKWARE !
    RHCE (Linux Red Hat Certified Engineer)
    CNAC (Cisco Networking Academy Certified)
    "Non auro, sed ferro, recuperanda est patria"

  6. #6
    Originariamente inviato da Boromir
    lui ti aggiunge solo la 53 tcp invece serve sia tcp ke udp ... scrivitela a mano la regola !
    LUI chi??

    ho aggiunto quello che c'è da aggiungere.. nel senso che ho messo 53 udp e i dns funzionano sì.. però ci sono un altro mare di falle:

    ho allargato il DNAT mettendo:
    codice:
    iptables -t nat -A PREROUTING -d $PUB_IP -j DNAT --to 192.168.0.1
    praticamente ogni cosa che passa di lì dovrebbe essere influenzata invece accade solo ai pacchetti che arrivano dalla lan, se mi autopingo all'indirizzo $PUB_IP non mi rispondo. che le connessioni che partono da qui non passino attraverso la PREROUTING?? mi sembra davvero strano!!

    inoltre ho messo l'accept per le established e related, così che possa funzionare (e anche l'ftp) ma nonostante ci sia questa ->
    codice:
    iptables -t filter -A INPUT  -i $LAN_IFACE -s $LAN_ADDR -d $LAN_ADDR -j ACCEPT
    iptables -t filter -A OUTPUT -o $LAN_IFACE -s $LAN_ADDR -d $LAN_ADDR -j ACCEPT
    (ho messo anche l'enabling degli icmp)
    se mi pingo dall'indirizzo 192.168.0.1 a 192.168.0.1 (ho controllato pure con ethereal che gli indirizzi siano questi) beh non funzia un cavolo.. che devo fa??
    e non solo se mi pingo, anche se mi apro qualcosa con netcat e cerco di collegarmi!

    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  7. #7
    uhmm
    ho risolto qualcosina, se a qc1 interessa non andava su 192.168.0.1 perchè la regola matchava anche l'interfaccia, mentre probabilmente i pacchetti che restano qui quando passano la INPUT e la OUTPUT (le passano? :master: ) non hanno l'interfaccia che dovrebbero avere

    però rimane il DNAT che non funziona..
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  8. #8
    ha ripreso a non funzionare
    o sono io che non avevo fatto tutti i test del caso

    insomma i pacchetti se NON attraversassero INUPT e OUTPUT non dovrebbero venire droppati visto che solo lì ci sono politiche di dropping, se invece le attraversassero dovrebbero essere fatti passare perchè c'è una chiarissima

    root # iptables -L
    Chain INPUT (policy DROP)
    target prot opt source destination
    ACCEPT all -- 192.168.0.0/24 192.168.0.0/24

    Chain OUTPUT (policy DROP)
    target prot opt source destination
    ACCEPT all -- 192.168.0.0/24 192.168.0.0/24

    perchè diavolo non va???
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

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.