[FTP Server] firewall luistert niet

Pagina: 1
Acties:

  • Nyxium
  • Registratie: September 2009
  • Laatst online: 28-01 21:07
Van het weekend wilde ik de FTP server van IIS installeren op mijn servertje (win server 2008 sp2). Ik heb er gewoon nachten niet van kunnen slapen omdat het maar niet wilde lukken. Ik denk dat ik de boosdoener heb gevonden en dat is mn firewall. Ik heb regels aangemaakt in de exception lijst maar dit blijkt niet te werken. Maar goed ik zal eerst eens vertellen wat ik heb gedaan.

** als je dit verhaal niet wil lezen kijk dan onderaan in de topic daar staat een korte samenvatting van mijn probleem en vraag **

Ik wil graag een FTP server draaien omdat ik voor mezelf een server project ben gestart. Ik heb een simpel servertje met 3TB aan hardeschijven en een SSD (wilde eens proberen hoe het aanvoelde) als bootdisk. Op de SSD staat dus win server 2008 sp2.

Afijn, de ftp server, die wilde ik dus gaan installeren. Voor het installeren ben ik deze guide gaan gebruiken. In eerste oogopslag lijkt het allemaal heel duidelijk en simpel uit te voeren maar niets lijkt minder waar.

Het downloaden en installeren van de FTP 7.5 ging perfect. En had poorten geforward in me router. Vervolgens ben ik gaan configureren volgens de guide en na alles in te hebben gesteld kreeg ik bij mijn FTP client de error te zien bij het connecten "error 525 Cant open data channel". Ik dacht dus dat het de firewall was en had die vervolgens op mn server uitgezet. Ik dus weer proberen en nog steeds hetzelfde probleem.

Ik heb toen opgezocht wat die error betekende en toen kwam ik erachter wat die data channel inhoud. Elke keer als een een client een verbinding opzet met je ftp server heeft ie een data channel nodig die over een willekeurige poort gaat. Ik ben toen eens gaan googelen om te kijken tussen op welke poorten die een verbinding wilde maken voor de data channel. Na wat googelen kwam ik uit bij dynamic port range. Ik heb toen eens de regel "netsh int ipv4 show dynamicport tcp" uitgevoerd in cmd en daar kwam uit dat de dynamic range tussen de poort 49152 en port 65535. Wat ik dus begreep was dat de data channel een willekeurige hoge port koos uit die range en dus geforward moest worden in de router om connectie te maken.

maar om nou 16411 poorten door de voeren in mn firewall vond ik iets te veel. Ik heb toen de dynamic range aangepast om zo een kleiner aantal poorten door te voeren in de firewall wat wel te doen was. Althans zo wilde ik het gaan doen. Ik had dus een dynamicport range van 10 in gedachte en gebruikte daarvoor de command "netsh int ipv4 set dynamicport tcp start=50000 num=10" maar toen kreeg ik een error dat de parameters niet voldeden. Ik ging toen door het lint omdat het zo stond uitgelegd op internet en het bij mij niet werkte (wat zo vaak gebeurt bij mij) en voelde mij voor de zoveelste keer zo nutteloos :| . Maargoed van opgeven hou ik niet en ben toen maar is letterlijk het voorbeeld gaan nadoen met de command "netsh int ipv4 set dynamicport tcp start=10000 num=1000" en verrek hij deed het. CMD gaf als antwoord "ok!" dus ik was weer blij. Maar ik had nog steeds een probleem want blijkbaar moet de dynamic port range minimaal 1000 poorten zijn en 1000 poorten zijn nog steeds te veel om te forwarden. Ik ben toen nog eens gaan kijken naar de IIS tutorials en kwam bij deze uit. Toen ik naar beneden scrollde kwam ik bij dit stukje

"To enable stateful FTP filtering that will dynamically open ports for data connections, type the following syntax then hit enter:
netsh advfirewall set global StatefulFtp enable"

cmd gaf bij invoeren terug "ok" ik weer blij en proberen. Helaas nog steeds hetzelfde probleem kon geen connectie maken. Toen heb ik deze regel uitgevoerd "netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=21" omdat dat bij nummer 2 stond, en ik graag van achter naar voor werk... Maar nee het werkte nog steeds niet.

Ik heb toen in me router een range gemaakt van 50000 tot 51000 omdat ik dacht dat hier misschien het probleem zat. Maar dat was dus ook niet zo, ik kon nog steeds geen verbinding maken. En toen kwam ik in een dip, ik had van alles geprobeerd en was onderhand al 13 uur bezig. en het klokje stond op half 5 in de morgen en besloot om toch maar eens te gaan slapen.

Met een nieuwe dag vol goede moed heb ik het hele zaakje (ftp 7.5) er afgegooid en gewoon de IIS ftp features gebruikt die ik als een Role heb geinstalleerd. Ik heb toen weer een ftp site aangemaakt en deze op poort 55980 gezet. Vervolgens in mn router een range geforward van 55000 tot 56000. vervolgens heb ik mn ftp site gestart (ja die had ik voorheen ook telkens gestart) en gechecked op http://www.canyouseeme.org/ of mn poort 55980 zichtbaar was en dat was zo. Ik had weer een meevallertje. Vervolgens heb ik de dynamic port range op 55000 tot 56000 ingesteld en had firewall uitgezet. en BAM ik had verbinding, mn mond viel open. De hele tijd had me firewall dus toch dwars gezeten ondanks alle exceptions die ik had toegevoegd en ondanks deze regel "netsh advfirewall set global StatefulFtp enable".

Echter me FTP werkt dus wel zonder firewall maar zodra ik me firewall aanzet kom ik er dus niet meer in. Met andere ftp clients kom ik er ook niet meer in met de firewall aan. Ik ben nu dus ten einde raad, en moet een oplossing zoeken voor het firewall probleem.


**Samenvatting**

In de router port 55000-56000 geforward naar de lokaal ip adres van de server
FTP site ingesteld op port 55980
dynamic port range ingesteld op 55000-56000
deze regels toegepast in cmd:

netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=55980

netsh advfirewall set global StatefulFtp enable

handmatig rules en exeptions aangemaakt

met firewall doet de ftp het dus niet
met firewall uit doet ie het wel en pakt die dus ook een poort voor de data channel die voorkomt in de dynamic port range

ik heb het met verschillende ftp clients gebruikt allemaal zelfde resultaat. met als error "mappenlijst niet op kunnen halen" error 525

Ik heb dus het probleem kunnen lokaliseren: de firewall. Maar ik heb geen idee hoe ik het goed ingesteld krijg.

Mijn vraag: Hoe kan ik de firewall zodanig instellen dat ik een ftp server kan draaien zonder de firewall uit te hoeven schakelen.

Alvast bedankt

  • Nyxium
  • Registratie: September 2009
  • Laatst online: 28-01 21:07
nu na weer een dag ploeteren nog steeds geen succes. hier een log

Status: Resolving address of blaat.eu
Status: Connecting to xxx.xxx.xxx.xxx:55980...
Status: Connection established, waiting for welcome message...
Response: 220 Microsoft FTP Service
Command: USER blaat
Response: 331 Password required for blaat.
Command: PASS *********
Response: 230 User blaat logged in.
Command: SYST
Response: 215 Windows_NT
Command: FEAT
Response: 211-Extended features supported:
Response: SIZE
Response: MDTM
Response: 211 END
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I.
Command: PASV
Response: 227 Entering Passive Mode (X).
Status: Server sent passive reply with unroutable address. Using server address instead.
Command: LIST
Response: 425 Can't open data connection.
Error: Failed to retrieve directory listing

Hij blijkt dus wel door poort 55980 te gaan maar er kan geen data channel worden opgezet en blokkeert dus de dynamische poorten? maar ik heb toch echt toegewezen dat ie verbinding moet toestaan als er een poort wordt benaderd die zich in de dynamische port range bevind met "netsh advfirewall set global StatefulFtp enable"

iemand tips?

  • job
  • Registratie: Februari 2002
  • Laatst online: 13:05

job

Omdat je achter een router zit moet je de ftp server wel instellen in passive mode.
Het gaat namelijk mis zodra je client over gaat op de passive mode.. dus kijk daar eens naar.

Hier nog wat leesplezier over wat passive danwel active is bij ftp servers: http://slacksite.com/other/ftp.html

Wat trouwens ook niet handig is, is dat je je ftp poort in je data range hebt zitten.
Je ftp poort moet echt buiten de data range zitten.

[ Voor 19% gewijzigd door job op 04-01-2010 22:18 ]


  • Nyxium
  • Registratie: September 2009
  • Laatst online: 28-01 21:07
hmm heb de ftp poort op 21 gezet en dus buiten de range. en nu werkt alles wel. maar de router op passive instellen heb ik nog niet gedaan maar dat ga ik wel ff uitzoeken. bedankt voor de tip :) en bedankt voor de link :D

  • job
  • Registratie: Februari 2002
  • Laatst online: 13:05

job

Als het nu werkt, is er eigenlijk geen probleem. Dan zal je ftp server zelf wel doorhebben dat hij passive werkt.
Wat je wellicht nog wel kunnen fixen, is deze melding:
"Status: Server sent passive reply with unroutable address. Using server address instead"
Dat komt dus omdat je ftpserver het lan adres doorgeeft, ipv het wan-adres.
Het gaat hier goed omdat je ftp client het oplost, maar kan ook disconnects opleveren.

Soms kan je dit oplossen in je router (ftp helper), en soms kan je het server ip veranderen in je ftp-server.
Als je verder geen problemen tegenkomt kan je het laten voor wat het is, maar als je nog eens rare dingen krijgt kan je daar nog eens naar kijken.

[ Voor 6% gewijzigd door job op 04-01-2010 22:18 ]


  • Nyxium
  • Registratie: September 2009
  • Laatst online: 28-01 21:07
Het werkt nu helemaal top :D net ff via deze guide wat subaccountjes gemaakt.

[ Voor 14% gewijzigd door Nyxium op 07-01-2010 22:09 ]

Pagina: 1