[FreeBSD/ftpd] Op andere poorten ftp draaien.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een machine met een ftp server die ik ook voor de buitenwereld wil openzetten: probleem is dat een huisgenoot al een ftp server heeft draaien, dus ik kan niet op port 21 en 20 draaien. Nu dacht ik: laat ik bijv op 1020 en 1021 draaien, dus ik verander de poortnummers voor ftp in /etc/services, en forward die poorten op de router (via een of ander lullig windows proggie bij die huisgenoot die de router draait...)

nu kan ik wel een verbinding maken, inloggen, netjes de motd en welcome zien, ik kan cd'en naar een andere dir, ik kan geen ls en geen get (mget) enz doen. Nu lijkt mij dus dat de data connectie het niet doet (1020) en de control connectie wel (1021). Als ik dan niet passive doet dan geeft hij aan iets van 'illegal port range' ofzo.

Dus, ik denk: misschien mag het niet onder de 1024 ofzo, dus ik verander het hele zaakje naar port 8020 en 8021.... Dit mag niet baten, hetzelfde probleem....

hoe los ik dit op?

Acties:
  • 0 Henk 'm!

  • Sjonny
  • Registratie: Maart 2001
  • Laatst online: 18-09 22:38

Sjonny

Fratser

waarschijnlijk wil je het dan niet in /etc/services aanpassen (wat eigenlijk heel fout is) maar in de config file(s) van je ftp server.

The problem is in the part of your brain that handles intelligence.


Acties:
  • 0 Henk 'm!

  • _cyclops_
  • Registratie: Mei 2000
  • Laatst online: 07-03 07:44
'k denk dat je het alleen maar kan oplossen door 't in /etc/services te veranderen, omdat een command in de source er gebruik van maakt om de ftp port te resolven..... misschien kun je de source hacken en dat stukje verbouwen en op een andere poort zetten?

Acties:
  • 0 Henk 'm!

  • _cyclops_
  • Registratie: Mei 2000
  • Laatst online: 07-03 07:44
je zou trouwens ook gewoon een heel andere ftpd kunnen proberen :)

Acties:
  • 0 Henk 'm!

Verwijderd

Zoals glftpd waar je tijdens de install een poort kiest!

Acties:
  • 0 Henk 'm!

Verwijderd

Je zou ook PASV kunnen gaan gebruiken.

Maar als je een router heb kan je toch ook gewoon in router zetten 1020 > 20 en 1021 > 21. Dat je eigen FTP dan op 21 draait maakt dan voor de buiten wereld niet uit. En lokaal maar het ook niet uit lijkt mij. :?

Acties:
  • 0 Henk 'm!

Verwijderd

_cyclops_ schreef op 18 augustus 2002 @ 17:39:
'k denk dat je het alleen maar kan oplossen door 't in /etc/services te veranderen, omdat een command in de source er gebruik van maakt om de ftp port te resolven..... misschien kun je de source hacken en dat stukje verbouwen en op een andere poort zetten?

Die mag je mij nog een keer uitleggen.

/etc/services wordt alleen maar gebruikt om een naampje aan een poort te koppelen. Geloof maar niet dat een ftp-daemon alleen afhankelijk van de naam is hoor :o

Een programmeur die dat doet, is niet bijster intelligent bezig.

/etc/services hoef je helemaal niet aan te komen, voor het draaien op andere poorten.

Acties:
  • 0 Henk 'm!

Verwijderd

Nelske, lees de manual:

DESCRIPTION
ftpd is the Internet File Transfer Protocol server process. The server
uses the TCP protocol and listens at the port specified in the ``ftp''
service specification; see services(5).


Jaja, bagger manier idd. Je wilt 'm binden op 1020 en 1021? Bind 'm dan net iets hoger: > 1024. Dat kun je 'm ook als andere user draaien.

Acties:
  • 0 Henk 'm!

Verwijderd

Dat hij daar in eerste instantie naar kijkt is vrij normaal. Maar hij kan daar nooit afhankelijk van zijn ;)

Als jij opgeeft dat hij op een andere poort moet draaien, dan doe je dit via de config of via cli-opties en niet door /etc/services aan te passen. Die wordt door meerdere daemons/programma's gebruikt. Het kan natuurlijk wel, maar het is geen "good practice". Stel voor dat die machine naast een enkele daemon ook gewoon gebruikt wordt als workstation, dan heeft je ftp-client vanaf nu wat problemen ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Jawel. Dan krijg je:
ftp-data 1020/tcp # default ftp data port
ftp 1021/tcp
En je kunt dat niet opgeven in de config op ftpd van *BSD. Anders moet je maar een andere ftpd gebruiken, bijv. PureFTPd.

Hallie, probeer een -P mee te geven (lees wel eerst ff wat 't doet). In de manual staan ook de RAW commando's waarmee je het wel werkend kunt krijgen zoals jij wilt.

Wat je nog beter kunt doen is spelen met ftp-proxy. Dan redirecten naar 21 @ 127.0.0.1

Acties:
  • 0 Henk 'm!

  • AVL
  • Registratie: Januari 2000
  • Laatst online: 25-09-2022

AVL

OHMSS

Ik zou gewoon een andere ftpd gebruiken; er zijn er genoeg :).

"I'd rather have a bottle in front of me than a frontal lobotomy."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor alle reactie, tot nu ver heb ik dit begrepen:

1. ik kan hem beter boven de 1024 zetten want dan kan ik hem als niet-root ook draaien...
2. De ftp poort in /etc/services veranderen is geen goed idee en ook niet de manier om het te doen...
3. De BSD ftpd kan niet op een andere poort als 20 en 21. Ik zou moeten uitwijken naar een andere ftpd. Alleen is (wat ik gelezen en begrepen heb) de bsd ftpd vrij veilig en simpel (geen functies die ik niet gebruik en eventueel exploitable kunnen zijn?). Dus ik zou graag bij de standaard ftp daemon willen blijven. (anders: wu-ftp of pro-ftp??)

Ik denk dat het makkelijkste is als de route software op de win2k bak word aangepast zodat bv 8021 vanaf internet intern naar me servertje op 21 word geroute....

bedankt voor alle reacties.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb ooit eenzelfde probleempje gehad. Chello blokkeert hier namelijk alle poorten onder 1024, dus bij het runnen van een test-FTP server moet die poort wel boven de 1024 geschopt worden om weldegelijk iets uit te halen.

Ik gebruikte eerst ProFTPD die net zoals Apache met een overzichtelijke config file tot in de details geconfigureerd kan worden (inclusief de poort waar de server op moet luisteren). Na wat probleempjes met ProFTPD (authenticatie uit een database om op te kunnen loaden na succesvol inloggen kreeg ik maar niet aan de praat), heb ik beslist om WU-FTPD uit te proberen. In die tijd stond die FTP deamon nog niet toe het poortnummer gemakkelijk te veranderen. Ik heb me toen suf gezocht, maar uiteindelijk bleek de oplossing weldegelijk in /etc/services te liggen.

Ik had eerst de entry van ftp en ftp-data in /etc/services veranderd naar de poorten waar ik de server op runde, maar dit had als lastig neveneffect dat client tools zoals ncftp of wat dan ook dat iets met FTP transfers te maken had niet meer functioneerde. Goed, we waren er bijna, en na wat Google werk ben ik uiteindelijk op deze pagina gekomen. De "spitsvondigheid" ligt erin een 'niew' soort service uit te vinden en deze in /etc/services te zetten, zoals uitgelegd in die FAQ. Je zet er ftptest en ftptest-data ergens neer op een poort waarvan je zeker bent dat je ze later niet meer gaat gebruiken. Vervolgens pas je /etc/initd.conf aan, en die zal dan automatisch de ftp service starten die je zopas gedefinieerd hebt in /etc/services als zijnde ftp-test en ftptest-data. Deze staan volledig los van de 'echte' ftp poorten nu.

Van toen af ging alles hier perfect. Client side werkte alles terug, en ook de server luisterde mooi op de poort die gedefinieerd was in /etc/services. Hetzelfde moet mijns inziens ook toepasbaar zijn in FreeBSD met de standaard FTP deamon.

Acties:
  • 0 Henk 'm!

Verwijderd

Zucht, het kan wel, met ftp-proxy.
Pagina: 1