[fli4l] Portforward auf FTP hinter Fli4l?

Marco Maier cybermac at web.de
Do Feb 20 13:27:36 CET 2014


Am 20.02.2014 08:51, schrieb Marco Maier:
> Am 20.02.2014 08:37, schrieb Christoph Schulz:
>> Hallo!
>>
>> Marco Maier schrieb:
>>
>>> Hallo zusammen,
>>>
>>> bis jetzt habe ich via PORTFW (Nebenfrage: Gibts da auch ne elegantere
>>> Möglichkeit?) zugriff auf meinen FTP vom Internet her. Blöd ist nur dass
>>> das Log vom FTP bei einem Zugriff nur die IP vom Router loggt.
>>> Ist es möglich dass der Fli4l die externe IP des FTP-Users an den
>>> FTP-Server weitergibt? Wenn ja wie?
>>
>> Das kann ich nicht bestätigen (aktueller Tarball):
>>
>> kristov at peacock ~ $ nc -v -v -l -p 5678
>> nc: listening on :: 5678 ...
>> nc: listening on 0.0.0.0 5678 ...
>> nc: connect to 192.168.11.2 5678 from eisler.nettworks.org (139.20.200.42) 
>> 54484 [54484]
>> [...]
>>
>> Der Zugriff auf diesen LAN-Host (peacock) läuft über zwei Router (Fritz!Box 
>> + fli4l). An der Adresse des Quellpakets ändert sich dabei nichts.
>>
>> Eventuell hast du irgendwo ein fälschliches POSTROUTING mit MASQUERADE oder 
>> SNAT in deiner Firewall-Konfiguration? Zeige mal deine PF_...-Regeln her!
> 
> PF_NEW_CONFIG='yes'
>     PF_INPUT_POLICY='REJECT'
>     PF_INPUT_ACCEPT_DEF='yes'
>     PF_INPUT_LOG='no'
>     PF_INPUT_LOG_LIMIT='3/minute:5'
>     PF_INPUT_REJ_LIMIT='1/second:5'
>     PF_INPUT_UDP_REJ_LIMIT='1/second:5'
>     PF_INPUT_N='1'
>     PF_INPUT_1='IP_NET_1 ACCEPT'
>     PF_INPUT_2='tmpl:samba DROP NOLOG'
>     PF_INPUT_2_COMMENT='no samba traffic allowed'
>     PF_FORWARD_POLICY='REJECT'
>     PF_FORWARD_ACCEPT_DEF='yes'
>     PF_FORWARD_LOG='no'
>     PF_FORWARD_LOG_LIMIT='3/minute:5'
>     PF_FORWARD_REJ_LIMIT='1/second:5'
>     PF_FORWARD_UDP_REJ_LIMIT='1/second:5'
>     PF_FORWARD_N='3'
>     PF_FORWARD_1='tmpl:samba DROP'
>     PF_FORWARD_2='IP_NET_1 ACCEPT'
>     PF_FORWARD_3='IP_NET_2 ACCEPT' #(Netz fürs DSL-Modem um auf die
> Weboberfläche zu kommen)
>         PF_POSTROUTING_N='1'
>     PF_POSTROUTING_1='IP_NET_1 MASQUERADE'
>     PF_PREROUTING_N='0'
>     PF_PREROUTING_1='prot:ftp any:ftp DNAT:@Server:ftp'
>     PF_USR_CHAIN_N='0'
> 
>> Ansonsten gilt: Wer für sich behält, welche Version er benutzt, dem kann 
>> nicht adäquat geholfen werden ;-)
> 
> Sorry! hatte ich ganz vergessen: Version 3.6.2
> 
Nun mal mein Grundlegender Aufbau:

Internet<-->DSL-Modem<-->Fli4l<-->Server mit FTP

Bis komme ich auf den Server in dem ich einfach mittels:

PORTFW_N='2'
PORTFW_1_TARGET='21'
PORTFW_1_NEW_TARGET='192.168.xx.xx'
PORTFW_1_PROTOCOL='tcp'
PORTFW_2_TARGET='50000-50050'
PORTFW_2_NEW_TARGET='192.168.xx.xx'
PORTFW_2_PROTOCOL='tcp'

Die Ports für den Server frei gebe und an die IP des FTP-Servers schicke.
Mein Problem ist nun folgendes:
Wenn ich mich aus meinem Internen Netz auf dem Server einlogge, loggt
der Server meine Client IP mit. Soweit so gut.
Wenn ich das ganze vom Internet her mache, loggt der Server nur die IP
vom Router, was ja klar ist da für den Server die Anfrage ja vom Router
kommt! Ich hätte aber gerne das der Server die IP des Clients aus dem
Internet loggt.

So hab jetzt etwas rum experimentiert und folgendes Versucht:

 PF_PREROUTING_1='tmpl:ftp dynamic DNAT:@Server'

hat leider nix gebracht, damit komm ich gar nicht mehr auf den Server
(kann mich zwar einloggen, aber keine Datenverbindung aufbauen).
Wahrscheinlich weil hier der Datenkanal (PortFW_2) nicht berücksichtigt
wurde! Ausserdem wird wieder nur die Router IP geloggt!

Irgendwelche Tipps oder Lösungsvorschläge!!??

Ciao
Marco




Mehr Informationen über die Mailingliste Fli4L