Portál AbcLinuxu, 12. května 2025 09:37

Dotaz: proftpd na jiném portu

24.6.2006 13:26 fakenickname | skóre: 42 | blog: fakeblog
proftpd na jiném portu
Přečteno: 434×
Odpovědět | Admin
Zdravíčko,
  chci provozovat proftpd server na portu (dejme tomu) 42666. Jak na to? Z dokumentace proftpd, google ani abc nejsem o moc chytřejší..
 ServerType                     standalone
 DefaultServer                  on
 Port                           42666
Mám veřejnou IP. Připojení localhost:42666 funguje ok, ale zvenčí (prý) klienti dostávají:
ftp> ls
500 Illegal PORT command
ftp: bind: Address already in use
ftp> ls
500 Illegal PORT command
ftp> put soubor
local: soubor remote: soubor
500 Illegal PORT command
Žádné další služby spuštěné nejsou. Při přehození na port 21 běží ok. Díky za všechny rady.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.6.2006 13:56 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: proftpd na jiném portu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co takhle použít nějakej menší port (426).

Další věc nějaký firewall na cestě a pod.....aktivní pasivní režim ?
24.6.2006 14:39 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: proftpd na jiném portu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vyřešeno: je potřeba vytvořit virtuální server.
ukázka /etc/proftpd.conf:

 ServerName                     "xxx"
 ServerType                     standalone
 ServerIdent                    on "xxx"
 DeferWelcome                   on
 MultilineRFC2228               on
 DefaultServer                  on
 DefaultRoot                    ~
 ShowSymlinks                   on
 TimeoutNoTransfer              600
 TimeoutStalled                 600
 TimeoutIdle                    1200
 ListOptions                    "-l"
 DenyFilter                     \*.*/
 Port                           0
 MaxInstances                   50
 User                           nobody
 Group                          nogroup
 Umask                          022  022
 AllowOverwrite                 on

#  ***********************
#  ****   ANONYMOUS   ****
#  ***********************
<Anonymous /home/ftp>
   User                         ftp
   Group                        nogroup
   UserAlias                    anonymous ftp
   DirFakeUser                  on ftp
   DirFakeGroup                 on ftp
   RequireValidShell            off
   MaxClients                   10
   <Limit WRITE>
    DenyAll
   </Limit>
   <Directory incoming>
    <Limit WRITE>
     AllowAll
    </Limit>
   </Directory>
   <Limit LOGIN>
        Allow   from all
    </Limit>
</Anonymous>

<VirtualHost xx.xx.xx.xx>
  Servername                    "xxx"
  Port                          42666
  DeferWelcome                  on
  ServerIdent                   on "xxx"
  RequireValidShell             off
  DefaultRoot                   ~
  <Limit LOGIN>
    DenyAll
  </Limit>
</VirtualHost>


24.6.2006 18:57 anon123 | skóre: 35 | blog: ganomi
Rozbalit Rozbalit vše Re: proftpd na jiném portu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Myslim, ze nemusis vytvaret Virtualni Host. Musis zmenit port v proftpd.conf a pak musis restartovat cely server. Ted si presne nepamatuju, jestli musis jeste nekam jinam zadat tuto zmenu, ale da se to vygooglovat.

24.6.2006 19:08 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: proftpd na jiném portu

jestli musis jeste nekam jinam zadat tuto zmenu

nejspíš ano, protože po přepsání portu a restartu serveru to venkovním userům dělá to co popisuju v dotazu.
10.9.2009 18:50 vitamin
Rozbalit Rozbalit vše Re: proftpd na jiném portu
Odpovědět | | Sbalit | Link | Blokovat | Admin

Měl jsem stejný problém, ale s tím rozdílem že klient dostal odpověď 500 Illegal PORT command i když ProFTPd běžel na portu 21. Způsoboval to zřejmě několikerý NAT mezi klientem a serverem.

V auth.log jsem našel hlášku:

server proftpd[21413]: server (x.x.x.x[x.x.x.x]) - Refused PORT y,y,y,y,233,147 (address mismatch)

Klient posílá příkaz PORT s vloženou vnitřní IP y.y.y.y , ta se při překladu mění na veřejnou x.x.x.x a server tedy odmítne příkaz vykonat.

Šlo to vyřešit nakonec pouze vložením "AllowForeignAddress on" do proftpd.conf. Pak server příkaz PORT provede i když se adresy liší.

Z pohledu bezpečnosti to ale určitě není ideální řešení...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.