Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Forwarding Problem mit iptables

  1. #1
    Registrierter Benutzer Avatar von heinzelrumpel
    Registriert seit
    Jul 2004
    Ort
    Bremen
    Beiträge
    108

    Forwarding Problem mit iptables

    Hallo,

    habe mir eine kleine Debian Jessie Kiste aufgesetzt die als Router/Firewall fungieren soll. Nun ist es aber leider so, dass aus mir nicht ersichtlichen Gründen das Forwarding nicht funktioniert. Der Router sitzt hinter einer Fritzbox, die den Zugang zum ISP herstellt. Ich Habe eth1(red) zum Netz der FritzBox, eth0(green) für meine Clients und wlan0(blue). Auf dem Router ist dnsmasq installiert. Die Wlan-Clients bekommen auch ein Lease von dnsmasq, können aber nicht über red ins Internet. Meines erachtens sind die iptables Regeln korrekt.

    Code:
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    LOG        all  --  anywhere             anywhere             state NEW LOG level warning
    ACCEPT     all  --  anywhere             anywhere
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
    ACCEPT     icmp --  anywhere             anywhere
    ACCEPT     udp  --  anywhere             anywhere             udp dpts:bootps:bootpc
    ACCEPT     udp  --  anywhere             anywhere             udp dpts:bootps:bootpc
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:6666 state NEW
    ACCEPT     tcp  --  10.8.0.0/16          anywhere             tcp dpt:6666 state NEW
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:6666 MAC 70:5A:0F:D0:09:1D state NEW
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:6666 MAC AC:FD:CE:0C:E5:5E state NEW
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:openvpn state NEW
    
    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    LOG        all  --  anywhere             anywhere             state NEW LOG level warning
    ACCEPT     all  --  anywhere             anywhere             state NEW
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
    ACCEPT     icmp --  anywhere             anywhere
    ACCEPT     tcp  --  anywhere             anywhere             state NEW
    ACCEPT     udp  --  anywhere             anywhere             state NEW
    ACCEPT     tcp  --  anywhere             anywhere             state NEW
    ACCEPT     udp  --  anywhere             anywhere             state NEW
    ACCEPT     all  --  anywhere             192.168.1.0/24
    ACCEPT     all  --  anywhere             192.168.1.0/24
    ACCEPT     all  --  anywhere             192.168.178.222      state NEW
    ACCEPT     tcp  --  anywhere             192.168.178.222      state NEW
    ACCEPT     tcp  --  anywhere             192.168.178.43       state NEW
    ACCEPT     tcp  --  anywhere             anywhere             multiport dports http,5001,5006 state NEW
    ACCEPT     tcp  --  anywhere             anywhere             multiport dports smtp,urd,imaps,pop3s state NEW
    ACCEPT     tcp  --  anywhere             anywhere             multiport dports 9010,9090 state NEW
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    LOG        all  --  anywhere             anywhere             state NEW LOG level warning
    ACCEPT     all  --  localhost            anywhere             state NEW
    ACCEPT     all  --  anywhere             anywhere
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
    ACCEPT     icmp --  anywhere             anywhere
    Auch die Route auf dem Router sieht ok aus. Lokale Pakete kommen auch ins Internet

    Code:
    Kernel-IP-Routentabelle
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    default         fritz.box       0.0.0.0         UG    0      0        0 eth1
    192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
    192.168.100.0   *               255.255.255.0   U     0      0        0 wlan0
    192.168.178.0   *               255.255.255.0   U     0      0        0 eth0

    Das Forwarding ist natürlich aktiviert

    Code:
    root@pissoff:~# cat /proc/sys/net/ipv4/ip_forward
    1
    Bin gerade etwas ratlos. Was mich etwas wundert ist die Tatsache, dass einige Regeln in der Forwarding Tabelle doppelt sind, obwohl es im Firewallskript nichts doppeltes gibt, zumindest mein Eindruck

    Hier ist das Script

    Code:
    #!/bin/sh
    #
    #Firwallscript V.0.1 / 2017-02-27
    ##
    
    IPTABLES="/sbin/iptables"
    
    #Alle Tabellen leeren
    
    $IPTABLES -F INPUT
    $IPTABLES -F OUTPUT
    $IPTABLES -F FORWARD
    $IPTABLES -t nat -F
    $IPTABLES -t mangle -F
    
    
    #Default policies auf DROP setzen
    
    $IPTABLES -P INPUT DROP
    $IPTABLES -P OUTPUT ACCEPT
    $IPTABLES -P FORWARD DROP
    
    
    
    #Netzwerkdevices zuordnen
    
    GREEN=eth0
    RED=eth1
    BLUE=wlan0
    VPN=tun1
    PIA=tun0
    
    #NETZ/HOST Zuordnungen
    LAN_CLIENTS="192.168.178.0/24"
    SEBBI_NET="192.168.1.0/24"
    NAS="192.168.178.222"
    MAIL="192.168.178.4"
    SQUEEZE="192.168.178.43"
    
    
    #SERVICES
    NAS_SERVICE="80,5001,5006"
    SQUEEZE_SERVICE="9010,9090"
    MAIL_SERVICE="25,465,993,995"
    
    ##Logging
    $IPTABLES -A FORWARD -m state --state NEW -j LOG
    $IPTABLES -A OUTPUT -m state --state NEW -j LOG
    $IPTABLES -A INPUT -m state --state NEW -j LOG
    
    
    
    #Lokale Verbindungen nach aussen zulassen
    
    $IPTABLES -A OUTPUT -s 127.0.0.1 -m state --state NEW -j ACCEPT
    ##Zum testen
    $IPTABLES -A FORWARD -m state --state NEW -j ACCEPT
    
    #Lokale Verbindungen untereinander zulassen
    $IPTABLES -A INPUT -i lo -j ACCEPT
    $IPTABLES -A OUTPUT -o lo -j ACCEPT
    
    ##Generell alle Pakete erlauben, die zu einer bereits aufgebauten Verbindung gehXren
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    ##Ping erlauben
    $IPTABLES -A INPUT -p icmp -j ACCEPT
    $IPTABLES -A OUTPUT -p icmp -j ACCEPT
    $IPTABLES -A FORWARD -p icmp -j ACCEPT
    
    #Verbindungen aus GRUEN ins Internet zulassen
    $IPTABLES -A FORWARD -i $GREEN -o $RED -p tcp -m state --state NEW -j ACCEPT
    $IPTABLES -A FORWARD -i $GREEN -o $RED -p udp -m state --state NEW -j ACCEPT
    
    #Verbindungen aus BLAU ins Internet zulassen
    $IPTABLES -A FORWARD -i $BLUE -o $RED -p tcp -m state --state NEW -j ACCEPT
    $IPTABLES -A FORWARD -i $BLUE -o $RED -p udp -m state --state NEW -j ACCEPT
    
    ##Verbindung ins Sebbi-Net zulassen
    $IPTABLES -A FORWARD -i $BLUE -d $SEBBI_NET -j ACCEPT
    $IPTABLES -A FORWARD -i $GREEN -d $SEBBI_NET -j ACCEPT
    
    #Maskierung
    $IPTABLES -t nat -A POSTROUTING -o $RED -j MASQUERADE
    
    ##DHCP Clients erlaube
    $IPTABLES -A INPUT -i $BLUE -p udp --dport 67:68 -j ACCEPT
    $IPTABLES -A INPUT -i $GREEN -p udp --dport 67:68 -j ACCEPT
    
    #Zugriff von BLAU auf NAS
    $IPTABLES -A FORWARD -i $BLUE -o $GREEN -d $NAS -m state --state NEW -j ACCEPT
    
    
    ##SSH aus GREEN erlauben
    $IPTABLES -A INPUT -i $GREEN -p tcp --dport 6666 -m state --state NEW -j ACCEPT
    $IPTABLES -A INPUT -i $GREEN -s 10.8.0.0/16 -p tcp --dport 6666 -m state --state NEW -j ACCEPT
    
    ##SSH von meinen Notebooks erlauben( 1. Buero, 2. Lenovo Notebook)
    $IPTABLES -A INPUT -p tcp --dport 6666 -m mac --mac-source 70:5A:0F:D0:09:1D -m state --state NEW -j ACCEPT
    $IPTABLES -A INPUT -p tcp --dport 6666 -m mac --mac-source AC:FD:CE:0C:E5:5E -m state --state NEW -j ACCEPT
    
    ##Port 80,443 auf SQUID umleiten
    #$IPTABLES -A FORWARD -i $GREEN
    
    
    ##Zugriff von EXTERN auf TUN
    $IPTABLES -A INPUT -i $RED -p udp --dport 1194 -m state --state NEW -j ACCEPT
    
    ##TUN darf auf GREEN, aber nur NAS und SQUEEZE
    
    $IPTABLES -A FORWARD -i $VPN -o $GREEN -p tcp -d $NAS -m state --state NEW -j ACCEPT
    $IPTABLES -A FORWARD -i $VPN -o $GREEN -p tcp -d $SQUEEZE -m state --state NEW -j ACCEPT
    
    ##Internet vom FireTV wird auf Google umgeleitet
    #$IPTABLES -t nat -A PREROUTING -i $GREEN ! -d $LAN_CLIENTS -p udp --dport 53 -j DNAT --to
    #$IPTABLES -A OUTPUT ! -d $LAN_CLIENTS -p udp --dport 53 -j DNAT --to
    
    ##NAS erreichbar machen
    $IPTABLES -t nat -A PREROUTING -i $RED -p tcp -m multiport --dports $NAS_SERVICE -j DNAT --to-destination $NAS
    $IPTABLES -A FORWARD -i $RED -o $GREEN -p tcp -m multiport --dports $NAS_SERVICE -m state --state NEW -j ACCEPT
    
    ##MAIL erreichbar machen
    $IPTABLES -t nat -A PREROUTING -i $RED -p tcp -m multiport --dports $MAIL_SERVICE -j DNAT --to-destination $MAIL
    $IPTABLES -A FORWARD -i $RED -o $GREEN -p tcp -m multiport --dports $MAIL_SERVICE -m state --state NEW -j ACCEPT
    
    ##SQUEEZE erreichbar machen
    $IPTABLES -t nat -A PREROUTING -i $RED -p tcp -m multiport --dports $SQUEEZE_SERVICE -j DNAT --to-destination $SQUEEZE
    $IPTABLES -A FORWARD -i $RED -o $GREEN -p tcp -m multiport --dports $SQUEEZE_SERVICE -m state --state NEW -j ACCEPT
    
    #Zum Schluss noch das Forwarding akzeptieren
    
    
    echo "1" > /proc/sys/net/ipv4/ip_forward
    -------------------------------------------------------------------------------------------
    Der Mensch kann was er will; er kann aber nicht wollen was er will

    Arthur Schopenhauer

  2. #2
    Universaldilletant Avatar von fork
    Registriert seit
    Dec 2001
    Ort
    Frankfurt/Main
    Beiträge
    1.175
    Füge ans Ende einer jeden Chain eine LOG-Regel an, z. B. für FORWARD so:

    Code:
    iptables -A FORWARD -p all -j LOG
    Dann siehst Du in /var/log/kern.log welche Pakete geblockt werden.

  3. #3
    Registrierter Benutzer Avatar von heinzelrumpel
    Registriert seit
    Jul 2004
    Ort
    Bremen
    Beiträge
    108
    DAnke. Hab den Fehler gefunden. Muss natürlich upd:53 freigeben. Man, man, man. Da hab ich aber richtig gepennt
    -------------------------------------------------------------------------------------------
    Der Mensch kann was er will; er kann aber nicht wollen was er will

    Arthur Schopenhauer

Ähnliche Themen

  1. IPTables Forwarding Problem
    Von HJS im Forum Sicherheit
    Antworten: 9
    Letzter Beitrag: 22.08.11, 19:39
  2. iptables FORWARDING
    Von kpone im Forum Router und Netzaufbau
    Antworten: 3
    Letzter Beitrag: 23.01.04, 12:08
  3. iptables, forwarding
    Von att309 im Forum Router und Netzaufbau
    Antworten: 7
    Letzter Beitrag: 11.11.03, 21:31
  4. iptables, forwarding
    Von Noiseboy im Forum Router und Netzaufbau
    Antworten: 1
    Letzter Beitrag: 29.01.03, 10:46
  5. Iptables Forwarding!!
    Von richy19 im Forum Router und Netzaufbau
    Antworten: 4
    Letzter Beitrag: 28.01.03, 14:21

Lesezeichen

Berechtigungen

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