Anzeige:
Ergebnis 1 bis 6 von 6

Thema: iptables-firewall: No chain/target-->fehler

  1. #1
    Registrierter Benutzer
    Registriert seit
    Oct 2003
    Ort
    Hameln
    Beiträge
    48

    Question iptables-firewall: No chain/target-->fehler

    Ich habe so ein Skript umgeschrieben. Wenn ich das Skript starte, bekomme ich 8 Zeilen mit diser Fehlermeldung: "iptables: No chain/target/match by that" und "http:80" ist dicht. Normalerweiser sollte port 80 auch offen sein. Ich weiss es nicht , warum solche Fehlermeldungen bekomme ich. Vielleicht jemand hilft mir weiter, dann würde ich dankbar sein...


    #!/bin/bash
    #
    # /etc/ppp/ip-up.local
    #
    # Version: 20020427 - 0.2
    #
    # Einige Parameter, die uns der pppd mit uebergibt
    #
    # Interface-name (Device der aktuellen Verbindung, z.B. ppp0)

    DEV_INET0=eth0
    # DEV_INET1=eth1

    # local-IP-address (IP-Adresse, die wir vom Provider zuegwiesen bekommen
    # haben
    IP_INET0=192.168.0.104
    # IP_INET1=81.2.136.126

    # remote-IP-address (unsere Gegenstelle beim Provider)
    #IP_GATEWAY=$5

    #
    # Einige weitere Variablen, die praktisch sein koennen bzw. die
    # benoetigt werden
    #
    # Loopback Device. Hat jeder. Finger weg!
    DEV_LOOP=lo
    IP_LOOP=127.0.0.1

    # Kürzel für alle IP-Adressen
    ANY=0.0.0.0/0

    # Das aktuelle Datum und die Uhrzeit
    DATE=$(date)

    # Vollen Pfad von iptables
    IPTABLES=/usr/local/sbin/iptables

    # IP-Forwarding im Kernel zunächst deaktivieren -wird am Schluss des Skriptes
    # wieder aktiviert
    echo 0 > /proc/sys/net/ipv4/ip_forward

    # Benoetigte Module laden
    modprobe ip_tables &> /dev/null
    modprobe ip_conntrack &> /dev/null
    modprobe ip_conntrack_ftp &> /dev/null
    modprobe ipt_state &> /dev/null
    modprobe iptable_nat &> /dev/null
    modprobe ipt_REJECT &> /dev/null
    modprobe ipt_MASQUERADE &> /dev/null

    # Alle alten Regeln löschen, anschließend die Default-Policy setzen
    $IPTABLES -F
    $IPTABLES -X
    $IPTABLES -F -t filter
    $IPTABLES -F -t nat
    $IPTABLES -F -t mangle
    $IPTABLES -t filter -X
    $IPTABLES -t nat -X
    $IPTABLES -t mangle -X

    # Wenn keine andere Regel greift, alles verwerfen
    $IPTABLES -P INPUT DROP
    $IPTABLES -P FORWARD DROP
    $IPTABLES -P OUTPUT DROP

    # PRE- und POST-Routing in der nat-Tabelle erlauben
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P POSTROUTING ACCEPT
    #
    # Zunächst alle "illegalen" Pakete blocken - trotz der Default-Policy "DROP"
    # sinnvoll, einzeln aufzulisten, um sie korrekt zu "REJECT"en und auch
    # mitzuloggen.
    #
    # Ersteinmal alles löschen, was generell kaputt ist oder
    # Angriffsversuche darstellen könnte.
    $IPTABLES -N invalid
    $IPTABLES -A INPUT -m state --state INVALID -i ! $DEV_LOOP -j invalid
    $IPTABLES -A FORWARD -m state --state INVALID -j invalid
    $IPTABLES -A INPUT -m unclean -i ! $DEV_LOOP -j invalid
    $IPTABLES -A invalid -m limit -j LOG --log-prefix "invalid"
    $IPTABLES -A invalid -j REJECT
    #
    # Scan-Pakete: log and drop
    #
    # Blocke sog. XMAS-Pakete, erzeugt einen Fehler! wurde auskommentiert
    $IPTABLES -N xmas
    $IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j xmas
    $IPTABLES -A FORWARD -p tcp --tcp-flags ALL ALL -j xmas
    $IPTABLES -A xmas -m limit -j LOG --log-level info --log-prefix "xmas-scan "
    $IPTABLES -A xmas -j REJECT

    # Blocke NULL Pakete
    $IPTABLES -N null_scan
    $IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j null_scan
    $IPTABLES -A FORWARD -p tcp --tcp-flags ALL NONE -j null_scan
    $IPTABLES -A null_scan -m limit -j LOG --log-level info --log-prefix \
    "null-scan "
    $IPTABLES -A null_scan -j REJECT

    # Spoofed packets: log and drop
    $IPTABLES -N spoofing
    $IPTABLES -A FORWARD -i $DEV_INET0 -s 192.168.0.0/16 -j spoofing
    $IPTABLES -A FORWARD -i $DEV_INET0 -s 172.16.0.0/12 -j spoofing
    $IPTABLES -A FORWARD -i $DEV_INET0 -s 10.0.0.0/8 -j spoofing
    #$IPTABLES -A FORWARD -i $DEV_INET1 -s 192.168.0.0/16 -j spoofing
    #$IPTABLES -A FORWARD -i $DEV_INET1 -s 172.16.0.0/12 -j spoofing
    #$IPTABLES -A FORWARD -i $DEV_INET1 -s 10.0.0.0/8 -j spoofing
    $IPTABLES -A spoofing -m limit -j LOG --log-level info --log-prefix "spoofing "
    $IPTABLES -A spoofing -j REJECT

    # icmp handling - ICMP-Pakete werden erlaubt, bis auf type 5 (redirect)
    $IPTABLES -N icmp_allow
    $IPTABLES -N icmp_reject
    $IPTABLES -A INPUT -p icmp --icmp-type ! 5 -j icmp_allow
    $IPTABLES -A INPUT -i $DEV_INET0 -p icmp --icmp-type 5 -m limit -j icmp_reject
    #$IPTABLES -A INPUT -i $DEV_INET1 -p icmp --icmp-type 5 -m limit -j icmp_reject
    $IPTABLES -A icmp_allow -j ACCEPT
    $IPTABLES -A icmp_reject -m limit -j LOG --log-prefix "icmp_rej "
    $IPTABLES -A icmp_reject -j REJECT --reject-with icmp-host-unreachable
    #
    # Bereits bestehende Verbindungen werden immer akzeptiert: das spart
    # das explizite freischalten der INPUT-Pakete bei erlaubten Verbindungen ein
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Verbindungen zum loopback-Device - Das ist NOTWENDIG
    $IPTABLES -N lo_accept
    $IPTABLES -A INPUT -i $DEV_LOOP -m state --state NEW -j lo_accept
    $IPTABLES -A OUTPUT -o $DEV_LOOP -m state --state NEW -j lo_accept
    $IPTABLES -A lo_accept -j ACCEPT
    # Pings vom Gateway erlauben
    $IPTABLES -N icmp_gate
    $IPTABLES -A OUTPUT -p icmp -j icmp_gate
    $IPTABLES -A INPUT -p icmp -j icmp_gate
    $IPTABLES -A icmp_gate -j ACCEPT

    # Erlaube www/ftp vom Gateway (z. B. beim Update übers Inet)
    $IPTABLES -N www_gate
    $IPTABLES -A OUTPUT -p tcp --dport 21 -s $IP_INET0 -m state --state NEW \
    -o $DEV_INET0 -j www_gate
    $IPTABLES -A INPUT -p tcp --dport 21 -d $IP_INET0 -m state --state NEW \
    -i $DEV_INET0 -j www_gate
    $IPTABLES -A OUTPUT -p tcp --dport 80 -s $IP_INET0 -m state --state NEW \
    -o $DEV_INET0 -j www_gate
    $IPTABLES -A INPUT -p tcp --dport 80 -d $IP_INET0 -m state --state NEW \
    -i $DEV_INET0 -j www_gate

    #$IPTABLES -A OUTPUT -p tcp --dport 21 -s $IP_INET1 -m state --state NEW \
    # -o $DEV_INET1 -j www_gate
    #$IPTABLES -A OUTPUT -p tcp --dport 80 -s $IP_INET1 -m state --state NEW \
    # -o $DEV_INET1 -j www_gate
    $IPTABLES -A www_gate -j ACCEPT

    # timeserver: erlaubt das Holen der aktuellen Zeit aus dem Inet
    $IPTABLES -N ntp_gate
    $IPTABLES -A OUTPUT -p udp --dport 123 -s $IP_INET0 -m state --state NEW \
    -o $DEV_INET0 -j ntp_gate
    #$IPTABLES -A OUTPUT -p udp --dport 123 -s $IP_INET1 -m state --state NEW \
    # -o $DEV_INET1 -j ntp_gate
    $IPTABLES -A ntp_gate -j ACCEPT

    # DNS erlauben
    $IPTABLES -N dns_gate
    $IPTABLES -A OUTPUT -p udp -o $DEV_INET0 --dport 53 -m state --state NEW \
    -j dns_gate
    $IPTABLES -A INPUT -p udp -i $DEV_INET0 --dport 53 -m state --state NEW \
    -j dns_gate

    #$IPTABLES -A OUTPUT -p udp -o $DEV_INET1 --dport 53 -m state --state NEW \
    # -j dns_gate
    $IPTABLES -A dns_gate -j ACCEPT

    # ssh-Verbindungen erlauben (aus dem lokalen Netz, vom Gateway nach aussen):
    # Bei gewünschten Verbindungen von aussen an das Gateway entpsrechende Zeile
    # mit aktivieren!
    $IPTABLES -N ssh_gate
    $IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 22 -j ssh_gate
    $IPTABLES -A INPUT -p tcp -m state --state NEW -d $IP_INET0 --dport 22 \
    -j ssh_gate
    #$IPTABLES -A INPUT -p tcp -m state --state NEW -d $IP_INET1 --dport 22 \
    # -j ssh_gate
    $IPTABLES -A ssh_gate -j ACCEPT

    # Smtp-Verbindungen vom Gateway nach aussen erlauben
    $IPTABLES -N smtp_gate
    $IPTABLES -A OUTPUT -p tcp -o $DEV_INET0 -m state --state NEW \
    --dport 25 -j smtp_gate
    $IPTABLES -A INPUT -p tcp -i $DEV_INET0 -m state --state NEW \
    --dport 25 -j smtp_gate
    #$IPTABLES -A OUTPUT -p tcp -o $DEV_INET1 -m state --state NEW \
    # --dport 25 -j smtp_gate
    $IPTABLES -A smtp_gate -j ACCEPT

    # Pop3-Verbindungen vom Gateway nach aussen erlauben
    $IPTABLES -N pop3_gate
    $IPTABLES -A OUTPUT -p tcp -o $DEV_INET0 -m state --state NEW \
    --dport 110 -j pop3_gate
    $IPTABLES -A INPUT -p tcp -i $DEV_INET0 -m state --state NEW \
    --dport 110 -j pop3_gate
    #$IPTABLES -A OUTPUT -p tcp -o $DEV_INET1 -m state --state NEW \
    # --dport 110 -j pop3_gate
    $IPTABLES -A pop3_gate -j ACCEPT

    #
    # Abschluss-Regeln
    #

    # Alles Loggen, was bis jetzt durchgegangen ist. Sollte man sich genauer
    # anschauen, wenn das im Log auftaucht
    $IPTABLES -A INPUT -m limit -j LOG --log-prefix "FINAL IN "
    $IPTABLES -A OUTPUT -m limit -j LOG --log-prefix "FINAL OUT "
    $IPTABLES -A FORWARD -m limit -j LOG --log-prefix "FINAL FOR "

    # Und dann alles abblocken, was bis hierin durchgegangen ist
    $IPTABLES -A INPUT -j REJECT
    $IPTABLES -A OUTPUT -j REJECT
    $IPTABLES -A FORWARD -j REJECT

    # Forwarding im Kernel nun wieder aktivieren
    echo 1 > /proc/sys/net/ipv4/ip_forward
    echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp

    # IP-Spoofing aktivieren - Sollte unter SuSE leichter in /etc/rc.config
    # gesetzt werden, ansonsten hier aktivieren
    for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo 1 > $f
    done


  2. #2
    Archlinuxer Avatar von clumsy
    Registriert seit
    Sep 2002
    Ort
    München
    Beiträge
    1.088
    die Fehlermeldungen liegen so wie ich das kurz überflogen hab u.a. hier dran:

    Code:
     $IPTABLES -F -t filter 
     $IPTABLES -F -t nat 
     $IPTABLES -F -t mangle 
     $IPTABLES -t filter -X 
     $IPTABLES -t nat -X 
     $IPTABLES -t mangle -X
    Du löscht/flushst chains, die du schon kurz drüber gelöscht hast...deshalb jammert er, dass es die nich mehr gibt....

    clumsy
    ==========================================
    Arch-Linux, Fluxbox { Screen 1, Screen 2 }

  3. #3
    Registrierter Benutzer
    Registriert seit
    Oct 2003
    Ort
    Hameln
    Beiträge
    48

    Es funktioniert trotzdem nicht

    Danke clumsy, die Fehlermeldungen steht immer noch da. Ich habe es , wie du gesagt hast,
    $IPTABLES -F
    $IPTABLES -X

    $IPTABLES -F -t filter
    $IPTABLES -F -t nat
    $IPTABLES -F -t mangle
    #$IPTABLES -t filter -X
    #$IPTABLES -t nat -X
    #$IPTABLES -t mangle -X

    Ich habe es einmal untere drei zeile auskomentiert und einmal komplett die sechs zeile. Aber da ändert sich gar nichts.


  4. #4
    Archlinuxer Avatar von clumsy
    Registriert seit
    Sep 2002
    Ort
    München
    Beiträge
    1.088
    dann geh doch mal systematisch alle regeln durch....alles auskommentieren und dann nach und nach mehr einkommentieren...
    oder besser...

    öfter mal nen echo reinsetzen!

    clumsy
    Geändert von clumsy (19.11.03 um 07:46 Uhr)
    ==========================================
    Arch-Linux, Fluxbox { Screen 1, Screen 2 }

  5. #5
    Registrierter Benutzer
    Registriert seit
    Oct 2003
    Ort
    Hameln
    Beiträge
    48

    http port immer noch dicht

    ich habe es versucht systematisch zu auskommentieren.
    - Scan-Packete: log and drop
    - Blocke null packete
    - Spoofed packets: log and drop
    - ICMP handling, bis auf type 5 (redirect)

    Am Ende bekomme ich nur noch drei Zeile "iptables: No chain/target....). Aber ich habe alles, was da oben gescrieben habe, auskommentiert. Und ich kann immer noch keine Verbindung ins Internet(port 80).

  6. #6
    Registrierter Benutzer
    Registriert seit
    Oct 2003
    Ort
    Hameln
    Beiträge
    48

    http port(80)offen

    Ich wollte mich nur zurück melden weil ich es gefunden habe.
    Also am Anfang war immer offen der Port 80. Ich habe nur ein kleines missverständnis gehabt.
    Jetzt habe ich nur einzige Fehlermeldung "iptables: No chain/target....."
    Wie gesagt, wenn ich von Skript einige Zeile auskommentiere, dann wurde wenige zeile vorgegeben.

    Ich weiss es nicht wie ich das mache!!!

    Hilfe bitte....

Lesezeichen

Berechtigungen

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