ftech & ftp machen Probleme

ieee

ieee
Hi! Kann z. Zt. mit fetch und ftp keine Dateien von ftp://ftp.gnu.org/ holen, die Verbindung wird nach wenigen Sekunden immer langsamer und bricht dann schließlich ganz zusammen. Browsen mit Firefox geht ohne Probleme, auch Downloads laufen komplett und mit normaler Geschwindigkeit durch. pfctl gibt bei mir folgende Regeln aus:
Code:
nat on tun0 inet from 10.255.255.160/29 to any -> (tun0) round-robin
rdr on tun0 inet proto tcp from ! 10.255.255.166 to ! 10.255.255.160/29 port = ftp -> 127.0.0.1 port 8021
rdr on sis0 inet proto tcp from any to any port = http -> 127.0.0.1 port 3128
scrub in all fragment reassemble
block drop log all
pass on lo0 all
pass on sis0 all
block drop in log quick on tun0 inet proto tcp all flags FPU/FPU
block drop in log quick on tun0 inet proto tcp all flags FS/FSRA
block drop in log quick on tun0 inet proto tcp all flags /FSRA
block drop in log quick on tun0 inet proto tcp all flags FS/FS
block drop in quick on tun0 from <rfc1597> to any
block drop out quick on tun0 from any to <rfc1597>
block drop in quick on tun0 inet proto udp all
block return-icmp(port-unr, port-unr) in on tun0 all
pass out on tun0 inet proto icmp all icmp-type echorep keep state
pass out on tun0 inet proto icmp all icmp-type echoreq keep state
pass out on tun0 inet proto icmp all icmp-type timex keep state
pass out on tun0 proto udp from any to any port = domain keep state
pass out on tun0 proto tcp from any to any port = ftp flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = ssh flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = smtp flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = http flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = pop3 flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = auth flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = locus-map flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = https flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = smtps flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = imaps flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = pop3s flags S/SA modulate state
pass out on tun0 proto tcp from any to any port = cvsup flags S/SA modulate state
pass out on tun0 proto tcp from any to any port 8080:65535 flags S/SA modulate state
pass in on tun0 proto tcp from any to any port 49152:65535 flags S/SA modulate state
Wenn ich die Regeln lösche und alles erlaube, läuft's wieder normal, also muss es definitiv an den Regeln liegen. Ich lasse z. B. kein icmp und udp rein - ist das notwendig für ftp?
 
Bist nicht allein mit diesem Problem! Hier meine pf-Regeln:

# pfctl -s rules
Code:
No ALTQ support in kernel
ALTQ related functions disabled
scrub in all fragment reassemble
block drop in all
block drop out all
pass quick on lo0 all
block drop in log quick on fxp0 inet from 127.0.0.0/8 to any
block drop in log quick on fxp0 inet from 192.168.0.0/16 to any
block drop in log quick on fxp0 inet from 172.16.0.0/12 to any
block drop in log quick on fxp0 inet from 10.0.0.0/8 to any
block drop out log quick on fxp0 inet from any to 127.0.0.0/8
block drop out log quick on fxp0 inet from any to 192.168.0.0/16
block drop out log quick on fxp0 inet from any to 172.16.0.0/12
block drop out log quick on fxp0 inet from any to 10.0.0.0/8
block drop in log quick on ! fxp0 inet from 84.72.0.0/22 to any
block drop in log quick inet from 84.72.2.76 to any
pass out on fxp0 proto tcp all flags S/SA modulate state
pass out on fxp0 proto udp all keep state
pass out on fxp0 proto icmp all keep state
 
Zuletzt bearbeitet:
Ich habe sehr wahrscheinlich die Lösung gefunden:

Um durch eine Firewall mit ftp Dateien herunterladen zu können, muss der ftp-Client, also fetch, angewiesen werden, den passiven Modus zu verwenden.

Eigentlich sollte fetch immer den passiven Modus verwenden, da in der Datei /etc/login.conf die Systemvariable FTP_PASSIVE_MODE auf "YES" gesetzt wird. Aus irgendeinem Grund klappt dies aber nicht. Ein:
Code:
fetch -v ftp://ftp.gnu.org/README
klappt nicht, jedoch ein:
Code:
fetch -v -p ftp://ftp.gnu.org/README
funktioniert einwandfrei! Um fetch anzuweisen, immer den passiven Modus zu verwenden, müssen folgende Zeilen in den entsprechenden Konfigurationsdateien hinzugefügt werden:

Für csh => /etc/csh.cshrc:
Code:
setenv  FTP_PASSIVE_MODE YES
Für sh und bash => /etc/profile:
Code:
FTP_PASSIVE_MODE=YES; export FTP_PASSIVE_MODE
 
Zuletzt bearbeitet:
Tausend Dank für die wirklich gute und detaillierte Hilfe! Und ich dachte schon, ich könnte nicht mal richtig einen Paketfilter aufsetzen. Bin immer wieder erstaunt, wie gut der Support (oder die Hilfe) in diesem Board ist.
 
hmm also afaik würde auch ein:
Code:
pass in quick on $Ext inet proto tcp from any to any port > 49151 flags S/SAFR keep state

in der pf.conf helfen., wobei $Ext das externe decvice ist,sprich tun0 meistens!

mfg, Flas!!
 
Zurück
Oben