Anzeige:
Ergebnis 1 bis 10 von 10

Thema: DNAT und iptables mag nicht so recht

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

    DNAT und iptables mag nicht so recht

    Hi,

    auf meinem am Inet hängenden Router wollte ich den Port 44444 auf intern 192.168.0.2:22
    umleiten.

    Alle Default-Regeln des Iptables-Skripts sind auf DROP und ich lade diese Regel für das DNAT

    Code:
    iptables -A PREROUTING -t nat -i ppp+ -p tcp --dport 44444 -j DNAT --to-destination 192.168.0.2:22
    Versuche ich nun aus dem Internet per ssh auf Port 44444 tut sich gar nicht. Der Daemon läuft auf dem betreffendem Rechner. Muss man bei DNAT noch etwas zusätzliches beachten, was die Iptablesregeln angeht, z.b. in der Input-Chain?

    Gruß, Heinzelrumpel
    -------------------------------------------------------------------------------------------
    Der Mensch kann was er will; er kann aber nicht wollen was er will

    Arthur Schopenhauer

  2. #2
    Pinguin-Züchter
    Registriert seit
    Jul 2000
    Ort
    Wien
    Beiträge
    1.545
    Servus,

    Zitat Zitat von heinzelrumpel Beitrag anzeigen
    -i ppp+
    ich hab in letzter Zeit wenig mit iptables gemacht, aber sollte das WAN-Interface nicht ppp0 sein?

    Was sagt ifconfig dazu?

    Grüße, Stefan
    "Die Höhe eines Elefanten (vom Fuß zur Schulter) = 2 x π x Durchmesser seines Fußes"

  3. #3
    Registrierter Benutzer Avatar von heinzelrumpel
    Registriert seit
    Jul 2004
    Ort
    Bremen
    Beiträge
    108
    Zitat Zitat von stefaan Beitrag anzeigen
    Servus,


    ich hab in letzter Zeit wenig mit iptables gemacht, aber sollte das WAN-Interface nicht ppp0 sein?

    Was sagt ifconfig dazu?

    Grüße, Stefan
    Das "+" ist doch der Platzhalter, so hatte ich es jedenfalls mal gelernt , aber auch mit ppp0 ändert sich nichts.
    -------------------------------------------------------------------------------------------
    Der Mensch kann was er will; er kann aber nicht wollen was er will

    Arthur Schopenhauer

  4. #4
    Registrierter Benutzer
    Registriert seit
    Aug 2009
    Beiträge
    17
    Zitat Zitat von heinzelrumpel Beitrag anzeigen
    Alle Default-Regeln des Iptables-Skripts sind auf DROP und ich lade diese Regel für das DNAT
    [...]
    Muss man bei DNAT noch etwas zusätzliches beachten, was die Iptablesregeln angeht, z.b. in der Input-Chain?
    In der INPUT-Chain nicht, aber evtl. in der FORWARD-Chain. Der ssh-Server läuft ja nicht auf dem Router.

  5. #5
    Debianer Avatar von msi
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    1.963
    poste doch bitte mal deine firewall konfiguration auf dem router,
    vor allem das forward chain ist interessant

  6. #6
    Registrierter Benutzer Avatar von heinzelrumpel
    Registriert seit
    Jul 2004
    Ort
    Bremen
    Beiträge
    108
    o.k. hier mal das ganze Skript.

    Code:
    INET=ppp0
    INT=eth0
    IPT=`which iptables`
    LOKAL=192.168.0.0/24
    
    
    ##die default regeln werden alle auf DROP gesetzt, also ein paket muss explizit erlaubt werden, oder es wird verworfen
    $IPT -P INPUT DROP
    $IPT -P FORWARD DROP
    $IPT -P OUTPUT DROP
    
    ##alle tabellen werden geleert
    $IPT -F
    $IPT -t nat -F
    
    #loopback darf nach draussen
    $IPT -A OUTPUT -o lo -m state --state NEW -j ACCEPT
    $IPT -A OUTPUT -o lo -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A INPUT -i lo -m state --state NEW -j ACCEPT
    $IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    ##wir erlauben ping, warum auch nicht
    $IPT -A INPUT -i $INT -p icmp -s $LOKAL -j ACCEPT
    $IPT -A OUTPUT -p icmp -j ACCEPT
    $IPT -A INPUT -i $INET -p icmp -j ACCEPT
    
    
    
    #forwarding 
    $IPT -A FORWARD -i $INT -o $INET -m state --state NEW -j ACCEPT
    $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
    
    $IPT -t nat -A POSTROUTING -o $INET -j MASQUERADE
     
    $IPT -A INPUT -i $INT -p tcp --dport 22 -m state --state NEW -j ACCEPT
    $IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
    $IPT -t nat -A PREROUTING -i $INET -p tcp --dport 44444 -j DNAT --to-destination 192.168.0.2:22
    $IPT -A FORWARD -i $INET -p tcp --dport 44444 -m state --state NEW -j ACCEPT
    $IPT -A FORWARD -i $INET -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -t nat -A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    
    #clients duerfen den dns-dienst benutzen
    $IPT -A INPUT -i $INT -p udp --dport 53 -j ACCEPT
    $IPT -A OUTPUT -p udp --dport 53 -j ACCEPT 
    
    ##forwarding wird aktiviert
    echo "1" > /proc/sys/net/ipv4/ip_forward
    Hoffe ich habe da nicht zuviel Murks gemacht.
    -------------------------------------------------------------------------------------------
    Der Mensch kann was er will; er kann aber nicht wollen was er will

    Arthur Schopenhauer

  7. #7
    Debianer Avatar von msi
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    1.963
    hallo

    hast schon ein bisschen vermurkst:



    $IPT -t nat -A PREROUTING -i $INET -p tcp --dport 44444 -j DNAT --to-destination 192.168.0.2:22

    diese regel stimmt soweit

    $IPT -A FORWARD -i $INET -p tcp --dport 44444 -m state --state NEW -j ACCEPT

    diese stimmt nicht, der zielport ist nun nämlich 22 nicht 4444, weil es ja per DNAT umgeschrieben wurde

    $IPT -A FORWARD -i $INET -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

    diese regel ist überflüssig, da du schon $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT hast

    $IPT -t nat -A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT

    diese regel macht überhaupt keinen sinn weil prerouting nichts mit accept/drop etc zu tun hat -> raus löschen



    -----------

    also in der oben genannten zeile das 44444 auf 22 ändern, dann sollts passen die 2 anderen regeln kannst einfach rauslöschen

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

    Danke, aber leider haut es noch nicht hin. Ich bekomme ein "connection refused" wenn ich per "ssh -p 44444 xyz" connecte

    Code:
    Chain PREROUTING (policy ACCEPT)
    target     prot opt source               destination         
    DNAT       tcp  --  anywhere             anywhere            tcp dpt:44444 to:192.168.0.2:22 
    
    Chain POSTROUTING (policy ACCEPT)
    target     prot opt source               destination         
    MASQUERADE  all  --  anywhere             anywhere            
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination         
    3grouter:~#
    Code:
    Chain INPUT (policy DROP)
    target     prot opt source               destination         
    ACCEPT     all  --  anywhere             anywhere            state NEW 
    ACCEPT     icmp --  192.168.0.0/24       anywhere            
    ACCEPT     icmp --  anywhere             anywhere            
    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW 
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
    ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain 
    
    Chain FORWARD (policy DROP)
    target     prot opt source               destination         
    ACCEPT     all  --  anywhere             anywhere            state NEW 
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW 
    
    Chain OUTPUT (policy DROP)
    target     prot opt source               destination         
    ACCEPT     all  --  anywhere             anywhere            state NEW 
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
    ACCEPT     icmp --  anywhere             anywhere            
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
    ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
    -------------------------------------------------------------------------------------------
    Der Mensch kann was er will; er kann aber nicht wollen was er will

    Arthur Schopenhauer

  9. #9
    Debianer Avatar von msi
    Registriert seit
    Jan 2002
    Ort
    München
    Beiträge
    1.963
    kommst du vom router per ssh auf den rechner,
    also funktioniert ein ssh 192.168.0.2 vom router?

    poste die ausgabe von
    iptables -v -L
    udn iptables -v -t nat -L

    teste deine konfiguration mal in dem du
    die FORWARD policy auf ACCEPT stellst

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

    ich denkeich habe das Übel gefunden. Mein Provider, nämlich O2, scheint mir wohl nen Zwangsproxy unterzujubeln. Bin derzeit nur mit UMTS unterwegs, daher auch Router mit iptables,damit zumindest alle Rechner nen Zugang zum Inet bekommen.

    Ifconfig zeigt mir eine IP-Adresse an. Diese ist aber nicht die selbe, die geloggt wird, wenn ich vom Router z.B. meinen Rootserver anpinge, also Ip lt. ifconfig 10.46.1.X und in den Logs des Server erscheint 82.113.121.X

    Hmm, eigentlich dachte ich, dass O2 im UMTS Netz nichts mehr filtert, bzw. echte IPs vergibt und nicht natted.

    Gruß, Heinzelrumpel
    Geändert von heinzelrumpel (28.10.09 um 21:29 Uhr)
    -------------------------------------------------------------------------------------------
    Der Mensch kann was er will; er kann aber nicht wollen was er will

    Arthur Schopenhauer

Ähnliche Themen

  1. FATAL: Module ip_tables not found
    Von WolfEric im Forum Sicherheit
    Antworten: 2
    Letzter Beitrag: 23.06.06, 19:55
  2. Ports blocken, es geht einfach nicht >.<
    Von Wayne Static im Forum Sicherheit
    Antworten: 9
    Letzter Beitrag: 29.07.05, 13:31
  3. Iptables script + Interface aliases
    Von komaii im Forum Router und Netzaufbau
    Antworten: 9
    Letzter Beitrag: 07.05.04, 17:34
  4. ftpserver + iptables
    Von HellTron im Forum Sicherheit
    Antworten: 6
    Letzter Beitrag: 17.04.04, 23:11
  5. FTP nach aussen funzt nicht
    Von maniac1810 im Forum Router und Netzaufbau
    Antworten: 13
    Letzter Beitrag: 09.01.03, 17:21

Lesezeichen

Berechtigungen

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