Anzeige:
Ergebnis 1 bis 6 von 6

Thema: firewall und edonkey

  1. #1
    Registrierter Benutzer
    Registriert seit
    Jun 2002
    Beiträge
    25

    Angry firewall und edonkey

    tach leudde

    ich hab nen linux router (suse7.3) mit der selbstgestrickten firewall laufen. da soll edonkey drauf, aber ich kriegs nich hin mit der port-freigabe. hier's mal nen auszug aus meinem aktuellen firewall-skript:
    ---schnipp---
    $DO -A extern -p tcp --dport 4661 -j edonkey
    $DO -A extern -p tcp --dport 4662 -j edonkey
    $DO -A extern -p tcp --dport 4663 -j edonkey
    $DO -A extern -p udp --dport 4665 -j edonkey
    ---schnapp---
    # EDONKEY
    # P2P-Programm
    #
    $ECHO "activating external edonkey-access"
    # anklopfen wird geloggt
    $DO -A edonkey -p tcp --syn -m limit --limit 1/second -j LOG --log-level warning --log-prefix "$LP=ACCEPT $LM=edonkey " ACCEPT
    $DO -A edonkey -j ACCEPT
    ---schnupp---

    das sind die relevanten einträge. äquivalente einträge hab ich zb bei vnc und der funzt.
    hat irgendjemand ne idee, oder besser - ne lösung?

    thx schonmal

    --
    DeR_CoaCH

  2. #2
    Premium Mitglied
    Registriert seit
    Jun 2002
    Beiträge
    2.483
    1. Kürzeren Ausschnit aus deinem Script ging nicht, oder?
    2. Auf welchem Computer läuft der Donkey?
    Zweiblum versuchte es ihm zu erklären
    Rincewind versuchte es zu verstehen

    Wie man Fragen richtig stellt

  3. #3
    Registrierter Benutzer
    Registriert seit
    Jun 2002
    Beiträge
    25
    noch kürzer ginge auch ...
    wollt aber nich das ganze teil hier reinhauen um dann von jmdm zu hören "ey boa! baller hier nich alles voll mit so unwichtigem kram!".
    was brauchste denn noch vom skript?

    der donkey soll auf dem router laufen.

  4. #4
    Premium Mitglied
    Registriert seit
    Jun 2002
    Beiträge
    2.483
    Man benötigt mindestens das Script von Anfang bis zu der Stelle, an der das entsprechende Paket in deine Chain geworfen wird (und natürlich die betreffende Chain-Regeln).

    Wenn du einfach nur schnell ein Script haben willst, dann kannst du den Script-Generator auf http://harry.homelinux.org verwenden
    Zweiblum versuchte es ihm zu erklären
    Rincewind versuchte es zu verstehen

    Wie man Fragen richtig stellt

  5. #5
    Registrierter Benutzer
    Registriert seit
    Jun 2002
    Beiträge
    25
    nö ich find mein skript an sich ganz ok..
    hier is'es komplett:

    #!/bin/bash
    #
    # FIREWALL-REGELN für ip-tables
    #
    # AUFBAU
    # eth0 ist internes netz (192.168.100.0)
    # eth1 ist fuer DSL (hier nicht beruecksichtigt)
    # alles ueber ippp- oder ppp-devices ist ersteinmal extern!
    #
    # CHANGELOG
    # 2002-05-24 meap add giFT-Ports
    # 2002-05-11 meap add mss-options
    # 2002-04-02 meap add vnc-chain
    # 2002-04-12 meap change logging-stuff
    # 2002-04-07 meap open hole 192.168. sub-net for internal network
    # 2002-01-05 meap redirect all outgoing squid-traffic to t-online-proxy
    # 2001-12-29 meap generated by ...
    #

    # ein etwas anderes start-stop-script
    # es laeuft von oben nach unten durch und man steigt evtl frueher aus
    #

    # bin ich root ?
    test "0" != `id -u` && echo "your've to be root, sorry !" && exit -2

    # ersteinmal parameter checken
    case "$1" in
    start | stop | restart | status | reload | log)
    ;;
    *)
    echo "usage `basename $0` start|stop|restart|reload|status|log [follow]"
    exit -1
    ;;
    esac

    # die einzelnen IP-TABLES-Befehle
    BN=`basename $0`
    ECHO="echo $BN -> "
    DO="/usr/sbin/iptables"
    SAVE="/usr/sbin/iptables-save"
    FLUSH="/usr/sbin/iptables -F"
    FORWARD="/proc/sys/net/ipv4/ip_forward"
    SAVEFILE="/tmp/firewall.rules"
    FILTER_TABLES="intern extern ssh smtp ping http https squid vnc gift"
    LP="FW"
    LM="CH"
    DEVINTERN="eth0"
    DEVEXTERN="ppp+ ippp+"

    # verschiedene Server
    MYIP="192.168.100.1"
    MYNET="192.168.100.0/24"
    #T_ONLINE_WWW_PROXY="212.185.248.148:80"

    # nur der status ?
    test "$1" = "status" && echo -n "forward: " && cat $FORWARD && $SAVE && exit 0

    # nur logging ?
    if test "$1" = "log" ; then
    cat /var/log/messages | grep -e "$LP.*$LM"
    test "$2" = "follow" && tail -f /var/log/messages | grep -e "$LP.*$LM"
    exit 0
    fi

    # ersteinmal die herschende config ins /tmp-verzeichnis schieben
    $ECHO "save rules to $SAVEFILE"
    $SAVE > $SAVEFILE
    chmod 600 $SAVEFILE
    chown root $SAVEFILE

    # alte regeln loeschen
    $ECHO "remove old config"
    $FLUSH -t nat
    $FLUSH -t filter
    for i in $FILTER_TABLES ; do $DO -X $i ; done

    # disable forwarding
    $ECHO "disable forward"
    echo 0 > $FORWARD

    # bei stop ist hier schluss
    test "$1" == "stop" && exit

    # enable forwarding
    $ECHO "enable forward"
    echo 1 > $FORWARD

    # und los gehts
    $ECHO "load tables"

    # neue tabellen anlegen
    $ECHO "creating tables"
    for i in $FILTER_TABLES ; do $DO -N $i ; done

    #
    # INPUT
    #
    # icmp-pakete gesondert behandeln
    $ECHO "enable icmp-filtering"
    $DO -A INPUT -p icmp -j ping

    # alle DNS-queries an den server sofort akzeptieren
    $ECHO "enable DNS-access"
    $DO -A INPUT -p udp -d $MYIP/32 --dport 53 -j ACCEPT

    # innerhalb des internen netztes alles erlauben
    $ECHO "enable local traffic"
    for dev in $DEVINTERN ; do
    $DO -A INPUT -i $dev -s 192.168.0.0/16 -d 192.168.0.0/16 -j ACCEPT
    done

    # wer von innerhalb raus will muss noch durch intern durch
    $ECHO "enable locat -> nonlocal traffic"
    for dev in $DEVINTERN ; do
    $DO -A INPUT -i $dev -s 192.168.0.0/16 -j intern
    done

    # wer jetzt noch von intern kommt, hat verloren
    for dev in $DEVINTERN ; do
    $DO -A INPUT -i $dev -m limit --limit 1/second -j LOG --log-level error --log-prefix "$LP=DROP $LM=falsche_IP "
    $DO -A INPUT -i $dev -j DROP
    done

    # das externe netz definieren
    $ECHO "add nonlocal devices"
    for dev in $DEVEXTERN ; do
    $DO -A INPUT -i $dev -j extern
    done

    #
    # PING
    # icmp-pakete geht es hier an den kragen
    #
    # pings werden nur einmal in der sekunde beantwortet
    $ECHO "activate ping-table"
    $DO -A ping -m limit --limit 1/second -j LOG --log-level notice --log-prefix "$LP=ACCEPT $LM=ping "
    $DO -A ping -m limit --limit 1/second -j ACCEPT
    $DO -A ping -j DROP

    #
    # EXTERN
    # wer von draussen kommt muss sich hier bewaehren
    #
    # von draussen kommen keine internen netzwerk-adressen !
    $ECHO "disable internal IP for external devices"
    $DO -A extern -s 10.0.0.0/8 -m limit --limit 1/second -j LOG --log-level error --log-prefix "$LP=DROP $LM=falsche_IP "
    $DO -A extern -s 10.0.0.0/8 -j DROP
    $DO -A extern -s 127.0.0.0/8 -m limit --limit 1/second -j LOG --log-level error --log-prefix "$LP=DROP $LM=falsche_IP "
    $DO -A extern -s 127.0.0.0/8 -j DROP
    $DO -A extern -s 192.168.0.0/16 -m limit --limit 1/second -j LOG --log-level error --log-prefix "$LP=DROP $LM=falsche_IP "
    $DO -A extern -s 192.168.0.0/16 -j DROP

    # die verschiedenen ports, die von draussen kommen abchecken
    $ECHO "activating several external services (SSH,HTTP,HTTPS)"
    $DO -A extern -p tcp --dport 22 -j ssh
    $DO -A extern -p tcp --dport 25 -j smtp
    $DO -A extern -p tcp --dport 80 -j http
    $DO -A extern -p tcp --dport 113 -j smtp
    $DO -A extern -p tcp --dport 443 -j https
    $DO -A extern -p tcp --dport 110 -j pop3

    $DO -A extern -p tcp --dport 1215 -j gift
    $DO -A extern -p tcp --dport 1216 -j gift

    $DO -A extern -p tcp --dport 4661 -j edonkey
    $DO -A extern -p tcp --dport 4662 -j edonkey
    $DO -A extern -p tcp --dport 4663 -j edonkey
    $DO -A extern -p udp --dport 4665 -j edonkey

    # vnc für display :1
    $DO -A extern -p tcp --dport 5801 -j vnc
    $DO -A extern -p tcp --dport 5901 -j vnc

    # wer jetzt noch anklopft hat verloren
    $ECHO "disable all knockin' on my door from external devices"
    $DO -A extern -p tcp --syn -m limit --limit 1/second -j LOG --log-level info --log-prefix "$LP=DROP $LM=Verbindung "
    $DO -A extern -p tcp --syn -j DROP

    #
    # INTERN
    # wer von drinnen nach draussen will muss auch hier durch
    #
    $ECHO "activating internal masq-access"
    # anklopfen wird geloggt
    $DO -A intern -p tcp --syn -m limit --limit 5/minute -j LOG --log-level info --log-prefix "$LP=ACCEPT $LM=Verbindung "
    $DO -A intern -j ACCEPT

    #
    # SSH
    # ssh von oder nach draussen wird hier geregelt(limitiert)
    #
    $ECHO "activating external ssh-access"
    # anklopfen wird geloggt
    $DO -A ssh -p tcp --syn -m limit --limit 1/second -j LOG --log-level warning --log-prefix "$LP=ACCEPT $LM=ssh "
    $DO -A ssh -j ACCEPT

    #
    # SMTP
    # smtp von draussen wird hier geregelt(limitiert)
    #
    $ECHO "deactivating external smtp-access"
    # anklopfen wird geloggt
    $DO -A smtp -p tcp --syn -m limit --limit 1/second -j LOG --log-level warning --log-prefix "$LP=DROP $LM=smtp "
    $DO -A smtp -j DROP

    #
    # HTTP
    # auf den web-server zugreifen darf auch nicht jeder
    #
    $ECHO "activating http-access"
    $DO -A http -p tcp --syn -m limit --limit 1/second -j LOG --log-level warning --log-prefix "$LP=ACCEPT $LM=http "
    $DO -A http -j ACCEPT

    #
    # HTTPS
    # der sichere http-kanal wird hier abgehandelt
    #
    $ECHO "activating https-access"
    $DO -A https -p tcp --syn -m limit --limit 1/second -j LOG --log-level warning --log-prefix "$LP=ACCEPT $LM=https "
    $DO -A https -j ACCEPT

    #
    # VNC
    # der unsichere vnc-kanal wird hier abgehandelt
    #
    $ECHO "activating vnc-access"
    $DO -A https -p tcp --syn -m limit --limit 1/second -j LOG --log-level warning --log-prefix "$LP= $LM=vnc "ACCEPT
    $DO -A vnc -j ACCEPT

    #
    # GNUTELLA
    # gnutella oder limewire
    #
    #$ECHO "activating gnutella-access"
    #$DO -t nat -A PREROUTING -s ! $MYNET -p tcp --dport 6346 -j LOG --log-level notice --log-prefix "$LP=REDIRECT $LM=gnutella "
    #$DO -t nat -A PREROUTING -s ! $MYNET -p tcp --dport 6348 -j LOG --log-level notice --log-prefix "$LP=REDIRECT $LM=gnutella "

    #$DO -t nat -A PREROUTING -s ! $MYNET -p tcp --dport 6346 -j DNAT --to-destination 192.168.100.2:6346
    #$DO -t nat -A PREROUTING -s ! $MYNET -p tcp --dport 6348 -j DNAT --to-destination 192.168.100.2:6348

    #
    # giFT
    # giFT-P2P-Service
    #
    #$ECHO "activating giFT-access"
    $DO -A gift -p tcp --syn -m limit --limit 1/second -j LOG --log-level warning --log-prefix "$LP=ACCEPT $LM=gift "
    $DO -A gift -p tcp -j ACCEPT

    #$DO -t nat -A PREROUTING -p tcp --dport 2620 -j LOG --log-level notice --log-prefix "$LP=REDIRECT $LM=giFT "

    #$DO -t nat -A PREROUTING -p tcp --dport 2620 -j DNAT --to-destination 192.168.100.2:2620

    #
    # EDONKEY
    # P2P-Programm
    #
    $ECHO "activating external edonkey-access"
    # anklopfen wird geloggt
    $DO -A edonkey -p tcp --syn -m limit --limit 6/second -j LOG --log-level warning --log-prefix "$LP=ACCEPT $LM=edonkey " ACCEPT


    $DO -A edonkey -j ACCEPT

    #
    # SQIUD
    # als transparenter proxy mit webWasher-Funktion kommt her hier zum einsatz
    #
    #$DO -t nat -A POSTROUTING -s 192.168.100.2 -p tcp --dport 80 -j LOG --log-level notice --log-prefix "$LP=REDIRECT $LM=www "
    #$DO -t nat -A POSTROUTING -s 192.168.100.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.1:8085

    #
    # NAT
    # wer will den hier umgebogen werden ?
    #
    # squid redirecten
    #$ECHO "redirect squid-access directly to t-online"
    #for dev in $DEVINTERN ; do
    # $DO -t nat -A PREROUTING -i $dev -p tcp --dport 8080 -d "$MYIP" -j DNAT --to $T_ONLINE_WWW_PROXY
    #done

    # fuer das masquerading, muss ich noch checken
    $ECHO "activate masquerading"
    for dev in $DEVEXTERN ; do
    $DO -t nat -A POSTROUTING -o $dev -j MASQUERADE
    done

    # MSS-option setzen
    # s.hierzu: http://sdb.suse.de/de/sdb/html/cg_pmtu2.html
    $DO -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    Geändert von der coach (23.12.04 um 00:52 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    Jun 2002
    Beiträge
    25
    so wie's aussieht, funzt die port-freigabe doch, jedenfalls können andere Leute bei mir was runterladen. aber ich kriege trotzdem von den servern die information: firewalled und lowId. Woran kann jetzt das liegen?

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •