Hallo,
ich hab bei mir auf FC2 den vsftpd eingerichtet. Ich hab einen user angelegt, der jetzt per ftp in sein Verzeichnis schreiben kann. Bisher klappte das auch. Jetzt hat der anscheinend seinen ftp-client geändert und erhält folgende Fehlermeldung (isn windows-client)
WINSOCK.DLL: WinSock 2.0 WS_FTP LE 5.08 2000.01.13, Copyright © 1992-2000 Ipswitch, Inc. - - connecting to x.x.x.x:21 Connected to x.x.x.x port 21 220 Welcome to FTP service. USER yyyyyy 331 Please specify the password. PASS (hidden) 230 Login successful. PWD 257 "/" SYST 215 UNIX Type: L8 Host type (S): UNIX (standard) PASV 227 Entering Passive Mode (x,x,x,x,120,8) connecting to x.x.x.x:30728 - - connecting to x.x.x.x:30728 ! Connection failed x.x.x.x - connection timed out ! connect: error 0 PORT 192,168,42,123,15,96 500 Illegal PORT command. ! Failed "port": ! Retrieve of folder listing failed (0)
In meinem Paketfilter gebe ich das bislang bei Bedarf so frei:
$IPTABLES -A INPUT -i ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p tcp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
So wie ich das sehe versucht sich der Client jetzt auf port 30728 zu verbinden. Wie erlaube ich jetzt diese Verbindung, ohne die hohen ports allgemein freizugeben? Reicht die gleiche Zeile unter Verwendung von --dport 1045:65000 und dann --state ESTABLISHED,RELATED
Michael
Michael Kollender wrote:
Hallo,
Tag
In meinem Paketfilter gebe ich das bislang bei Bedarf so frei:
$IPTABLES -A INPUT -i ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -i ppp0 -p tcp --dport 20 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
So wie ich das sehe versucht sich der Client jetzt auf port 30728 zu verbinden. Wie erlaube ich jetzt diese Verbindung, ohne die hohen ports allgemein freizugeben? Reicht die gleiche Zeile unter Verwendung von --dport 1045:65000 und dann --state ESTABLISHED,RELATED
Michael
Es müsste auch schon ein:
$IPTABLES -A INPUT -i ppp0 -p tcp --dport 30728 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
langen, oder du machst ein Forward:
$IPTABLES -t nat -A PREROUTING -j DNAT -p tcp -s 0/0 --dport 30728 -i ppp0 --to-d estination 127.0.0.1:21 #hab das ganze aus dem Kopf geschrieben, sollte aber #eigentlich so stimmen $IPTABLES -A FORWARD -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED
wie gesagt, beim zweiten solltest du nochmal googlen, hab die genaue Synopsys nicht im Kopf
Hi,
On Tue, 28 Sep 2004, Michael Kollender wrote:
So wie ich das sehe versucht sich der Client jetzt auf port 30728 zu verbinden. Wie erlaube ich jetzt diese Verbindung, ohne die hohen ports allgemein freizugeben? Reicht die gleiche Zeile unter Verwendung von --dport 1045:65000 und dann --state ESTABLISHED,RELATED
Tritt der Fehler ebenfalls auf, wenn Du das Kernelmodul ip_conntrack_ftp geladen hast? Dieses Modul "liest" den FTP Traffic mit und sperrt nach Bedarf genau den ausverhandelten Highport für die jeweilige IP-Adresse frei. Dh. Du müsstest eigentlich gar nichts an deinem Ruleset verändern.
Ich betreibe ebenfalls einen FTP-Server für Windowsclients (FC2, vsftpd, nur passive FTP möglich) und da reicht eigentlich dieses geladene Modul und folgend IPT Rule:
$iptables -A INPUT-ETH0 -s 0/0 -p tcp -d $MeineETH0 --dport 21 -j ACCEPT
hth, lg Marcus
"To segfault is human, to bluescreen moronic."
Marcus Toth iTA wrote:
Tritt der Fehler ebenfalls auf, wenn Du das Kernelmodul ip_conntrack_ftp geladen hast?
insmod: can't read 'ip_conntrack_ftp': No such file or directory
Hm, wo finde ich das Modul. bzw wie gebe ich das an: /sbin/insmod ip_conntrack_ftp sollte doch eiogentlich richtig sein oder?
Michael
Am So, den 10.10.2004 schrieb Michael Kollender um 14:31:
insmod: can't read 'ip_conntrack_ftp': No such file or directory
Hm, wo finde ich das Modul. bzw wie gebe ich das an: /sbin/insmod ip_conntrack_ftp sollte doch eiogentlich richtig sein oder?
Nein, ist es nicht; siehe "man insmod". Du solltest auch generell insmod meiden und statt dessen modprobe verwenden. Warum? Weil modprobe Modulabhängigkeiten berücksichtigt. Ferner, das ist aber nur eine Syntaxfrage, musst du nicht den genauen Pfad zum Modul wissen.
insmod /lib/modules/2.6.8-1.521/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
wäre richtig, solltest du aber besser nicht benutzten. Oftmals laden Module so nicht, weil sie noch andere vorher geladen benötigen. Darum schert sich insmod aber nicht
modprobe ip_conntrack_ftp
Michael
Alexander
de-users@lists.fedoraproject.org