Anzeige:
Ergebnis 1 bis 14 von 14

Thema: HILFE! /var/log/messages

  1. #1
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Wetzlar
    Beiträge
    764

    HILFE! /var/log/messages

    HILFE!
    Meine /var/log/messages wird zugemüllt. Und zwar erscheint jede(!) Sekunde folgender Eintrag

    Code:
    Sep 14 04:15:10 rhsrv kernel: REJECT TCP IN=ppp0 OUT= MAC= SRC=80.25.32.178 DST=217.84.183.97 LEN=48 TOS=0x00 PREC=0x00 TTL=116 ID=44821 DF PROTO=TCP SPT=4148 DPT=4669 WINDOW=16384 RES=0x00 SYN URGP=0
    Warum????

  2. #2
    Premium Mitglied Avatar von Stage
    Registriert seit
    Jun 2002
    Beiträge
    810
    weil dein IP-Filter eine dementsprechende Logging-Rule hat, dafür ist wohl dein Firewallscript verantwortlich.
    Kernel (2.6.x) Konfigurations-Howto
    Gentoo Optimierungs-Howto
    IRC: irc.freenode.org - #gentoo-anfaenger

  3. #3
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Wetzlar
    Beiträge
    764
    Das ist meine Firewall regeln, wo ist der Fehler?

    Code:
    #!/bin/bash
    #!/bin/bash
    # ---------------------------------------------------------------------
    # Linux-iptables-Firewallskript, Copyright (c) 2003 under the GPL
    # Autogenerated by iptables Generator v1.16 (c) 2002 by Harald BertramÂ_
    # Please visit http://www.harry.homelinux.org for new versions of
    # the iptables Generator (c).
    #
    # This Script was generated by request from:
    # boehm@kraus-automaten.de on: 2003-9-8 11:8.58 MET.
    #
    # If you have questions about the iptables Generator or about
    # your Firewall-Skript feel free to take a look at out website or
    # send me an E-Mail to webmaster@harry.homelinux.org.
    #
    # My special thanks are going to Lutz Heinrich (trinitywork@hotmail.com) who
    # made lots of Beta-Testing and gave me lots of well qualified
    # Feedback that made me able to improve the iptables Generator.
    # --------------------------------------------------------------------
    
    case "$1" in
      start)
        echo "Starte IP-Paketfilter"
    
        # iptables-Modul
        modprobe ip_tables
        # Connection-Tracking-Module
        modprobe ip_conntrack
        # Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
        modprobe ip_conntrack_irc
        modprobe ip_conntrack_ftp
    
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
    
        # Default-Policies setzen
        iptables -P INPUT DROP
        iptables -P OUTPUT DROP
        iptables -P FORWARD DROP
    
        # MY_REJECT-Chain
        iptables -N MY_REJECT
    
        # MY_REJECT fuellen
        iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
        iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
        iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
        iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
        iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
        iptables -A MY_REJECT -p icmp -j DROP
        iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
        iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
    
        # MY_DROP-Chain
        iptables -N MY_DROP
        iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
        iptables -A MY_DROP -j DROP
    
        # Alle verworfenen Pakete protokollieren
        iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
        iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "
        iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "FORWARD INVALID "
    
        # Korrupte Pakete zurueckweisen
        iptables -A INPUT -m state --state INVALID -j DROP
        iptables -A OUTPUT -m state --state INVALID -j DROP
        iptables -A FORWARD -m state --state INVALID -j DROP
    
        # Stealth Scans etc. DROPpen
        # Keine Flags gesetzt
        iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP
    
        # SYN und FIN gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
    
        # SYN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
    
        # FIN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
    
        # FIN ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
    
        # PSH ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
    
        # URG ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP
    
        # Loopback-Netzwerk-Kommunikation zulassen
        iptables -A INPUT -i lo -j ACCEPT
        iptables -A OUTPUT -o lo -j ACCEPT
    
        # Maximum Segment Size (MSS) für das Forwarding an PMTU anpassen
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    
        # Connection-Tracking aktivieren
        iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -i ! ppp0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
        # SSH
        iptables -A INPUT -i ppp0 -m state --state NEW -p tcp --dport 22 -j ACCEPT
    
        #
        # IP-Adresse des LAN-Interfaces ermitteln eth0
        #
        LAN_IP1=$(ifconfig eth0 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)
    
        # NAT fuer HTTP
        #iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination
        #iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j SNAT --to-source $LAN_IP1
        #iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d  --dport 80 -j ACCEPT
    
        # LAN-Zugriff auf eth0
        iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT
    
        #
        # IP-Adresse des LAN-Interfaces ermitteln eth1
        #
        LAN_IP2=$(ifconfig eth1 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)
    
        # NAT fuer EDONKEY
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4661 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4661 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4661 -j ACCEPT
    
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4662 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4662 -j ACCEPT
    
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4663 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4663 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4663 -j ACCEPT
    
        iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4665 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4665 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4665 -j ACCEPT
    
        iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4672 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4672 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4672 -j ACCEPT
    
        # LAN-Zugriff auf eth1
        iptables -A INPUT -m state --state NEW -i eth1 -j ACCEPT
    
        # Default-Policies mit REJECT
        iptables -A INPUT -j MY_REJECT
        iptables -A OUTPUT -j MY_REJECT
        iptables -A FORWARD -j MY_REJECT
    
        # Routing
        echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
    
        # Masquerading
        iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    
        # SYN-Cookies
        echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
    
        # Stop Source-Routing
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done
    
        # Stop Redirecting
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done
    
        # Reverse-Path-Filter
        for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done
    
        # Log Martians
        for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done
    
        # BOOTP-Relaying ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done
    
        # Proxy-ARP ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done
    
        # Ungültige ICMP-Antworten ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null
    
        # ICMP Echo-Broadcasts ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
    
        # Max. 500/Sekunde (5/Jiffie) senden
        echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
    
        # Speicherallozierung und -timing für IP-De/-Fragmentierung
        echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
        echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
        echo 30 > /proc/sys/net/ipv4/ipfrag_time
    
        # TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    
        # Maximal 3 Antworten auf ein TCP-SYN
        echo 3 > /proc/sys/net/ipv4/tcp_retries1
    
        # TCP-Pakete maximal 15x wiederholen
        echo 15 > /proc/sys/net/ipv4/tcp_retries2
    
        ;;
    
      stop)
        echo "Stoppe IP-Paketfilter"
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
        echo "Deaktiviere IP-Routing"
        echo 0 > /proc/sys/net/ipv4/ip_forward
    
        # Default-Policies setzen
        iptables -P INPUT ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT
        ;;
    
      status)
        echo "Tabelle filter"
        iptables -L -vn
        echo "Tabelle nat"
        iptables -t nat -L -vn
        echo "Tabelle mangle"
        iptables -t mangle -L -vn
        ;;
    
      *)
        echo "Fehlerhafter Aufruf"
        echo "Syntax: $0 {start|stop|status}"
        exit 1
        ;;
    
    esac

  4. #4
    Premium Mitglied Avatar von Stage
    Registriert seit
    Jun 2002
    Beiträge
    810
    alles wo -j LOG steht wird geloggt...musst du wissen was du nicht in deinen Logmassages haben willst, und dann auskommentieren
    Kernel (2.6.x) Konfigurations-Howto
    Gentoo Optimierungs-Howto
    IRC: irc.freenode.org - #gentoo-anfaenger

  5. #5
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Wetzlar
    Beiträge
    764

    kann ich das alle nicht woanders logen???

    Gibt es keine Möglichkeit meine firewall-regeln so zu verändern, das zwar weiterhin alles geloggt wird, aber eben nur in eine andere datei ... z.Bsp. /var/log/firewall.log???
    Und wenn ja, wie änder ich das obige Skript dann ab? Bin leider Anfänger, aber mit Ambitionen *g*
    Also wäre nett wenn mir jemand sagen könnte, wo ich was ändern muss, den so kann ich mit meiner /var/log/messages nix anfangen, tausende von zeilen mit immer den gleichen einträgen.

  6. #6
    Premium Mitglied Avatar von Stage
    Registriert seit
    Jun 2002
    Beiträge
    810
    nee leider nicht...IPtables messages werden vom Kernel produziert...und somit sind die nicht von anderen Kernelmeldungen zu trennen.
    Kernel (2.6.x) Konfigurations-Howto
    Gentoo Optimierungs-Howto
    IRC: irc.freenode.org - #gentoo-anfaenger

  7. #7
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    moin moin

    bei dem oben verworfenen paket handelt es sich um ein *donkey-paket*. wenn du diese pakete, die an dport 4669 ankommen, vom loggen ausschließen möchtest, dann ändere das script mal folgendermaßen ab.

    # MY_REJECT fuellen
    iptables -A MY_REJECT -p tcp --dport !4669 -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
    iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
    iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
    iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
    iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
    iptables -A MY_REJECT -p icmp -j DROP
    iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
    iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

    allerdings gibt es noch einen haufen anderer pakete mit *nervfaktor*. wenn du diese pakete auch vom loggen auschließen möchtest, wird das ganze etwas komplexer.


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  8. #8
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Wetzlar
    Beiträge
    764

    also so?

    Also soll ich "--dport !4669" einfügen?
    Stimmt das dann so, erst "dport", dann Leerzeichen, dann auch das Ausrufezeichen(???) und dann direkt daran der Port oder wie?
    WIll nur nochmal sicher gehen ...

  9. #9
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    moin moin

    ups, zwischen ausrufezeichen und portnummer kommt auch ein leerzeichen. also --dport ! 4669


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  10. #10
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Wetzlar
    Beiträge
    764

    das habe ich soweit gemacht ... aber

    So, das hätte ich jetzt geändert. Problem ist, wenn ich "tail -f /var/log/messages" mache, dann erscheinen innerhalb von ca. 10sec. immer wieder folgende Einträge:

    Code:
    Sep 18 12:41:38 rhsrv kernel: REJECT UDP IN=ppp0 OUT= MAC= SRC=80.133.186.197 DST=255.255.255.255 LEN=188 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=631 DPT=631 LEN=168
    Sep 18 12:41:46 rhsrv kernel: REJECT TCP IN=ppp0 OUT= MAC= SRC=217.229.219.93 DST=80.133.186.197 LEN=40 TOS=0x00 PREC=0x00 TTL=124 ID=13026 PROTO=TCP SPT=4663 DPT=3266 WINDOW=0 RES=0x00 ACK RST URGP=0
    Sep 18 12:41:46 rhsrv kernel: REJECT TCP IN=ppp0 OUT= MAC= SRC=172.180.84.195 DST=80.133.186.197 LEN=40 TOS=0x00 PREC=0x00 TTL=120 ID=47286 PROTO=TCP SPT=4662 DPT=3252 WINDOW=0 RES=0x00 ACK RST URGP=0
    Sep 18 12:41:52 rhsrv kernel: REJECT TCP IN=ppp0 OUT= MAC= SRC=80.145.125.214 DST=80.133.186.197 LEN=40 TOS=0x00 PREC=0x00 TTL=124 ID=40393 PROTO=TCP SPT=4662 DPT=3292 WINDOW=0 RES=0x00 ACK RST URGP=0
    Wie kann ich das ändern? Kann ja nicht Sinn der Firewall sein, die "messages" so mit Einträgen zu überhäufen, das keiner mehr durchblickt. Mittlerweile ist meine "messages" auch schon über 10 MB groß und wächst mit jeder Sekunde weiter.
    Und wenn ich ne bestimmte Ausgabe darin suche, dann finde ich natürlich auf die Schnelle nix weil ja tausende von solchen Einträgen wie oben darin sind.
    Also kann mir jemand sagen was das alles ist, und wie ich das alles wegbekomme ohne(!) das meine Firewall darunter leidet. Ich hätte eben gerne eine übersichtliche "messages" Datei.

  11. #11
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    hi

    wie ich oben schon erwähnt habe, schließt der eintrag nur pakete die an deinen port 4669 gerichtet sind, vom logging aus.

    Wie kann ich das ändern? Kann ja nicht Sinn der Firewall sein, die "messages" so mit Einträgen zu überhäufen,
    wie Stage schon erwähnt hat, kommen die iptables logs vom kernel und dein syslogd wird so konfiguriert sein, das kernelmeldungen in /var/log/messages landen. den syslogd kannst allerdings nicht so konfigurieren, das er unterschiede zw. den einzelnen kernelmeldungen macht. eventuell ist der syslog-ng da etwas flexibler.

    eine möglichkeit wäre jetzt, das du deine loggingregeln so umstellst, das die üblichen verdächtigen, die normalerweise die logs fluten (kazaa, donkey, netbios ...) komplett vom logging auschließt. damit hast du dann schon mal etwas mehr übersichtlichkeit.

    eine weiter möglichkeit wäre das arbeiten mit dem loglevel. das heißt du gibst allen loggingmeldungen eine spezielle syslogpriority mit auf den weg, z.b. =>

    iptables ... -j LOG --log-level error

    und konfigurierst den syslogd so, das alle meldungen mit priority error unter /var/log/firewall landen. damit sollten dann dein firewall-logs unter /var/log/firewall landen. andere kernelmeldungen mit priority error landen dann aber auch in dem file, das dürften aber nicht so viele sein.

    ich persönlich habe möglichkeit 1 bei mir laufen. hier mal ein auszug aus meinem script
    .
    .
    .
    #--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    # DROP & LOG CHAIN
    #--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    # MY_LOG
    #_______________

    $ipt -N MY_LOG
    $ipt -A MY_LOG -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
    $ipt -A MY_LOG -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
    $ipt -A MY_LOG -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "

    # MY_REJECT-Chain
    # MY_REJECT fuellen
    #------------------------

    $ipt -N MY_REJECT
    $ipt -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
    $ipt -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
    $ipt -A MY_REJECT -p icmp -j DROP
    $ipt -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
    $ipt -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

    # MY_LOGREJECT
    #------------------------

    $ipt -N MY_LOGREJECT
    $ipt -A MY_LOGREJECT -j MY_LOG
    $ipt -A MY_LOGREJECT -j MY_REJECT

    # vom loggen ausschließen
    #------------------------------

    $ipt -A INPUT -p TCP --dport 4661:4665 -j MY_REJECT # edonkey Anfragen vom Logging ausschliessen
    $ipt -A INPUT -p UDP --dport 4665 -j MY_REJECT # edonkey Anfragen vom Logging ausschliessen
    $ipt -A INPUT -p UDP --dport 137 -j MY_REJECT # Netbios nicht loggen
    $ipt -A INPUT -p UDP --dport 1214 -j MY_REJECT # Kazaa nicht loggen
    $ipt -A INPUT -p TCP --dport 1214 -j MY_REJECT # Kazaa nicht loggen
    $ipt -A INPUT -p UDP --dport 6970 -j MY_REJECT # udp vom realplayer nicht loggen
    .
    .
    .
    #-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    # Ausputzer: Rest sperren, loggen
    #-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    $ipt -A INPUT -j MY_LOGREJECT
    $ipt -A FORWARD -j MY_LOGREJECT
    $ipt -A OUTPUT -j MY_LOGREJECT


    bei weiteren fragen => man iptables, man syslogd


    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  12. #12
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Wetzlar
    Beiträge
    764

    habe ich gemacht, aber ...

    erstmal danke für deine Antwort.
    Ich habe mal deine Lösung versucht und diverse Regeln so eingebaut, wie du das in deinem Skript hast.
    Das Problem ist nur, das danach gar(!) nix mehr geht! SSH ist extrem langsam. Die freigegebenen Laufwerke von Samba können von den Win Clients aus nicht mehr erreicht werden. Internet geht gar nicht mehr, etc ....
    Also nehme ich mal an, das ich deine Regeln falsch eingebaut habe. Deshalb hab ich mal mein neues Firewall Skript mit angegeben, vielleicht findet ja jemand von euch den Fehler warum auf einmal nix mehr geht und kann mit auch erklären warum das so ist.
    Die neu eingefügten oder veränderten Zeilen im Skript habe ich entsprechend markiert!
    Vielen Dank schonmal im Vorraus ... und hier ist die "firewall.sh"
    Code:
    #!/bin/bash
    # ---------------------------------------------------------------------
    # Linux-iptables-Firewallskript, Copyright (c) 2003 under the GPL
    # Autogenerated by iptables Generator v1.16 (c) 2002 by Harald Bertram_
    # Please visit http://www.harry.homelinux.org for new versions of
    # the iptables Generator (c).
    # 
    # This Script was generated by request from:
    # boehm@kraus-automaten.de on: 2003-9-8 11:8.58 MET.
    # 
    # If you have questions about the iptables Generator or about
    # your Firewall-Skript feel free to take a look at out website or
    # send me an E-Mail to webmaster@harry.homelinux.org.
    # 
    # My special thanks are going to Lutz Heinrich (trinitywork@hotmail.com) who
    # made lots of Beta-Testing and gave me lots of well qualified
    # Feedback that made me able to improve the iptables Generator.
    # --------------------------------------------------------------------
    
    case "$1" in
      start)
        echo "Starte IP-Paketfilter"
    
        # iptables-Modul
        modprobe ip_tables
        # Connection-Tracking-Module
        modprobe ip_conntrack
        # Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
        modprobe ip_conntrack_irc
        modprobe ip_conntrack_ftp
    
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
    
        # Default-Policies setzen
        iptables -P INPUT DROP
        iptables -P OUTPUT DROP
        iptables -P FORWARD DROP
     
    
    
    
    
        #
        # neu neu neu neu
        # MY_LOG 
        # neu neu neu neu
        #
        iptables -N MY_LOG
        iptables -A MY_LOG -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
        iptables -A MY_LOG -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
        iptables -A MY_LOG -p icmp -m limit --limit 7200/h -j LOG --log-prefix "REJECT ICMP "
    
        # MY_REJECT-Chain
        iptables -N MY_REJECT
        
        # MY_REJECT fuellen
        # hier sind jetzt 3 Zeilen auskommentiert
        #
        # iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
        iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
        # iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
        iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
        # iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
        iptables -A MY_REJECT -p icmp -j DROP
        iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
        iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
    
        #
        # neu neu neu neu
        # MY_LOGREJECT
        # neu neu neu neu
        #
        iptables -N MY_LOGREJECT
        iptables -A MY_LOGREJECT -j MY_LOG
        iptables -A MY_LOGREJECT -j MY_REJECT
    
        #
        # neu neu neu neu
        # vom Logging ausschliessen
        # neu neu neu neu
        #
        iptables -A INPUT -p TCP --dport 4661:4665 -j MY_REJECT
        iptables -A INPUT -p UDP --dport 4665 -j MY_REJECT
        iptables -A INPUT -p UDP --dport 137 -j MY_REJECT
        iptables -A INPUT -p UDP --dport 1214 -j MY_REJECT
        iptables -A INPUT -p TCP --dport 1214 -j MY_REJECT
        iptables -A INPUT -p UDP --dport 6970 -j MY_REJECT
    
        iptables -A INPUT -j MY_LOGREJECT
        iptables -A FORWARD -j MY_LOGREJECT
        iptables -A OUTPUT -j MY_LOGREJECT
    
    
    
    
    
        # MY_DROP-Chain
        iptables -N MY_DROP
        iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
        iptables -A MY_DROP -j DROP
    
        # Alle verworfenen Pakete protokollieren
        iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
        iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "
        iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "FORWARD INVALID "
    
        # Korrupte Pakete zurueckweisen
        iptables -A INPUT -m state --state INVALID -j DROP
        iptables -A OUTPUT -m state --state INVALID -j DROP
        iptables -A FORWARD -m state --state INVALID -j DROP
    
        # Stealth Scans etc. DROPpen
        # Keine Flags gesetzt
        iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP
    
        # SYN und FIN gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
    
        # SYN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
    
        # FIN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
    
        # FIN ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
    
        # PSH ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
    
        # URG ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP
    
        # Loopback-Netzwerk-Kommunikation zulassen
        iptables -A INPUT -i lo -j ACCEPT
        iptables -A OUTPUT -o lo -j ACCEPT
    
        # Maximum Segment Size (MSS) für das Forwarding an PMTU anpassen
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    
        # Connection-Tracking aktivieren
        iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -i ! ppp0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
        # SSH
        iptables -A INPUT -i ppp0 -m state --state NEW -p tcp --dport 22 -j ACCEPT
    
        #
        # IP-Adresse des LAN-Interfaces ermitteln eth0
        #
        LAN_IP1=$(ifconfig eth0 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)
    
        # NAT fuer HTTP
        #iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 
        #iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j SNAT --to-source $LAN_IP1
        #iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d  --dport 80 -j ACCEPT
    
        # LAN-Zugriff auf eth0
        iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT
    
        #
        # IP-Adresse des LAN-Interfaces ermitteln eth1
        #
        LAN_IP2=$(ifconfig eth1 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)
    
        # NAT fuer EDONKEY
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4661 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4661 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4661 -j ACCEPT
        
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4662 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4662 -j ACCEPT
        
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4663 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4663 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4663 -j ACCEPT
        
        iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4665 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4665 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4665 -j ACCEPT
    
        iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4672 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4672 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4672 -j ACCEPT
    
        # LAN-Zugriff auf eth1
        iptables -A INPUT -m state --state NEW -i eth1 -j ACCEPT
    
        # Default-Policies mit REJECT
        iptables -A INPUT -j MY_REJECT
        iptables -A OUTPUT -j MY_REJECT
        iptables -A FORWARD -j MY_REJECT
    
        # Routing
        echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
    
        # Masquerading
        iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    
        # SYN-Cookies
        echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
    
        # Stop Source-Routing
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done
    
        # Stop Redirecting
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done
    
        # Reverse-Path-Filter
        for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done
    
        # Log Martians
        for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done
    
        # BOOTP-Relaying ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done
    
        # Proxy-ARP ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done
    
        # Ungültige ICMP-Antworten ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null
    
        # ICMP Echo-Broadcasts ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
    
        # Max. 500/Sekunde (5/Jiffie) senden
        echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
    
        # Speicherallozierung und -timing für IP-De/-Fragmentierung
        echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
        echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
        echo 30 > /proc/sys/net/ipv4/ipfrag_time
    
        # TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    
        # Maximal 3 Antworten auf ein TCP-SYN
        echo 3 > /proc/sys/net/ipv4/tcp_retries1
    
        # TCP-Pakete maximal 15x wiederholen
        echo 15 > /proc/sys/net/ipv4/tcp_retries2
    
        ;;
    
      stop)
        echo "Stoppe IP-Paketfilter"
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
        echo "Deaktiviere IP-Routing"
        echo 0 > /proc/sys/net/ipv4/ip_forward
    
        # Default-Policies setzen
        iptables -P INPUT ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT
        ;;
    
      status)
        echo "Tabelle filter"
        iptables -L -vn
        echo "Tabelle nat"
        iptables -t nat -L -vn
        echo "Tabelle mangle"
        iptables -t mangle -L -vn
        ;;
    
      *)
        echo "Fehlerhafter Aufruf"
        echo "Syntax: $0 {start|stop|status}"
        exit 1
        ;;
    
    esac

  13. #13
    kleiner bruder von ruth Avatar von HangLoose
    Registriert seit
    Aug 2002
    Ort
    Old Europe
    Beiträge
    3.894
    moin moin

    Das Problem ist nur, das danach gar(!) nix mehr geht! SSH ist extrem langsam. Die freigegebenen Laufwerke von Samba können von den Win Clients aus nicht mehr erreicht werden. Internet geht gar nicht mehr, etc ....
    das samba und donkey nicht mehr gingen ist klar, da sie *rejected* werden und ich nicht dran gedacht habe, das ich in meinem script keine donkeyregeln habe.
    außerdem hattest du in deinem script 3x regeln für's lan-interface. einmal war eth0 das lan-interface, dann wieder eth1. ich gehe jetzt mal davon aus, das eth0 das richtige ist.



    ich hab das script mal geändert, allerdings nicht getestet. hoffentlich passt es jetzt.


    Code:
    #!/bin/bash
    # ---------------------------------------------------------------------
    # Linux-iptables-Firewallskript, Copyright (c) 2003 under the GPL
    # Autogenerated by iptables Generator v1.16 (c) 2002 by Harald Bertram_
    # Please visit http://www.harry.homelinux.org for new versions of
    # the iptables Generator (c).
    # 
    # This Script was generated by request from:
    # boehm@kraus-automaten.de on: 2003-9-8 11:8.58 MET.
    # 
    # If you have questions about the iptables Generator or about
    # your Firewall-Skript feel free to take a look at out website or
    # send me an E-Mail to webmaster@harry.homelinux.org.
    # 
    # My special thanks are going to Lutz Heinrich (trinitywork@hotmail.com) who
    # made lots of Beta-Testing and gave me lots of well qualified
    # Feedback that made me able to improve the iptables Generator.
    # --------------------------------------------------------------------
    
    case "$1" in
      start)
        echo "Starte IP-Paketfilter"
    
        # iptables-Modul
        modprobe ip_tables
        # Connection-Tracking-Module
        modprobe ip_conntrack
        # Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
        modprobe ip_conntrack_irc
        modprobe ip_conntrack_ftp
    
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
    
        # Default-Policies setzen
        iptables -P INPUT DROP
        iptables -P OUTPUT DROP
        iptables -P FORWARD DROP
     
    
        # MY_LOG
        #--------------------
    
         iptables -N MY_LOG
         iptables -A MY_LOG -p tcp --dport ! 4661:4671 -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
         iptables -A MY_LOG -p udp --dport ! 137 -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
         iptables -A MY_LOG -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
    
       #  MY_REJECT-Chain
       #  MY_REJECT fuellen
       #------------------------
    
         iptables -N MY_REJECT
         iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
         iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
         iptables -A MY_REJECT -p icmp -j DROP
         iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
         iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
        
       # MY_LOGREJECT
       #------------------------
    
         iptables -N MY_LOGREJECT
         iptables -A MY_LOGREJECT -j MY_LOG
         iptables -A MY_LOGREJECT -j MY_REJECT
    
      # vom loggen ausschliessen
      #------------------------------
    
         iptables -A INPUT -p UDP --dport 1214 -j MY_REJECT # Kazaa nicht loggen
         iptables -A INPUT -p TCP --dport 1214 -j MY_REJECT # Kazaa nicht loggen
         iptables -A INPUT -p UDP --dport 6970 -j MY_REJECT # udp vom realplayer nicht loggen
    
       #MY_DROP
       #-----------------
    
        iptables -N MY_DROP
        iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
        iptables -A MY_DROP -j DROP
    
        # Alle verworfenen Pakete protokollieren
        #-------------------------------------------------
    
        iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
        iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "
        iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "FORWARD INVALID "
    
        # Korrupte Pakete zurueckweisen
        iptables -A INPUT -m state --state INVALID -j DROP
        iptables -A OUTPUT -m state --state INVALID -j DROP
        iptables -A FORWARD -m state --state INVALID -j DROP
    
        # Stealth Scans etc. DROPpen
        # Keine Flags gesetzt
        iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP
    
        # SYN und FIN gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
    
        # SYN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
    
        # FIN und RST gleichzeitig gesetzt
        iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
    
        # FIN ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
    
        # PSH ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
    
        # URG ohne ACK
        iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
        iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP
    
        # Loopback-Netzwerk-Kommunikation zulassen
        iptables -A INPUT -i lo -j ACCEPT
        iptables -A OUTPUT -o lo -j ACCEPT
    
        # Maximum Segment Size (MSS) für das Forwarding an PMTU anpassen
        iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    
        # Connection-Tracking aktivieren
        iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -i ! ppp0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
        # SSH
        iptables -A INPUT -i ppp0 -m state --state NEW -p tcp --dport 22 -j ACCEPT
    
        #
        # IP-Adresse des LAN-Interfaces ermitteln eth0
        #
        LAN_IP1=$(ifconfig eth0 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)
    
        #Zugriff vom lan erlauben
        #----------------------------------
    
            iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT
    
        #NAT für donkey
        #--------------------------
     
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4661 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4661 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4661 -j ACCEPT
        
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4662 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4662 -j ACCEPT
        
        iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4663 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 4663 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.2 --dport 4663 -j ACCEPT
        
        iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4665 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4665 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4665 -j ACCEPT
    
        iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4672 -j DNAT --to-destination 192.168.1.2
        iptables -t nat -A POSTROUTING -o eth1 -p udp --dport 4672 -j SNAT --to-source $LAN_IP2
        iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.1.2 --dport 4672 -j ACCEPT
    
        #Default-Policy
        #--------------------
    
        iptables -A INPUT -j MY_LOGREJECT
        iptables -A OUTPUT -j MY_LOGREJECT
        iptables -A FORWARD -j MY_LOGREJECT
    
        # Routing
        echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
    
        # Masquerading
        iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    
        # SYN-Cookies
        echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
    
        # Stop Source-Routing
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done
    
        # Stop Redirecting
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done
    
        # Reverse-Path-Filter
        for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done
    
        # Log Martians
        for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done
    
        # BOOTP-Relaying ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done
    
        # Proxy-ARP ausschalten
        for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done
    
        # Ungültige ICMP-Antworten ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null
    
        # ICMP Echo-Broadcasts ignorieren
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
    
        # Max. 500/Sekunde (5/Jiffie) senden
        echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
    
        # Speicherallozierung und -timing für IP-De/-Fragmentierung
        echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
        echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
        echo 30 > /proc/sys/net/ipv4/ipfrag_time
    
        # TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
    
        # Maximal 3 Antworten auf ein TCP-SYN
        echo 3 > /proc/sys/net/ipv4/tcp_retries1
    
        # TCP-Pakete maximal 15x wiederholen
        echo 15 > /proc/sys/net/ipv4/tcp_retries2
    
        ;;
    
      stop)
        echo "Stoppe IP-Paketfilter"
        # Tabelle flushen
        iptables -F
        iptables -t nat -F
        iptables -t mangle -F
        iptables -X
        iptables -t nat -X
        iptables -t mangle -X
        echo "Deaktiviere IP-Routing"
        echo 0 > /proc/sys/net/ipv4/ip_forward
    
        # Default-Policies setzen
        iptables -P INPUT ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT
        ;;
    
      status)
        echo "Tabelle filter"
        iptables -L -vn
        echo "Tabelle nat"
        iptables -t nat -L -vn
        echo "Tabelle mangle"
        iptables -t mangle -L -vn
        ;;
    
      *)
        echo "Fehlerhafter Aufruf"
        echo "Syntax: $0 {start|stop|status}"
        exit 1
        ;;
    
    esac

    Gruß HL
    "You only go around once, so you better go hard!"

    Open Source!
    "First they ignore you, then they laugh at you, then they fight you, then you win".

  14. #14
    Registrierter Benutzer
    Registriert seit
    Aug 2003
    Ort
    Wetzlar
    Beiträge
    764

    Post nein, habe 2 Netzwerke

    Nein das mit eth0 und eth1 stimmt schon. An dem Server befinden sich 2 Netze. An eth1 ist mein ClientPC mit Edonkey angeschlossen, an eth0 die anderen Clients (ohne Donkey).
    Also war das mit eth1 & eth0 schon richtig, aber ich glaube ich kann mir aus deiner Antwort schon was basteln Werde es morgen früh wissen.
    Aber danke schonmal vorweg

Lesezeichen

Berechtigungen

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