Sokszor jelentett már problémát, hogy olyan saját tartalmat szerettem volna megosztani másokkal, aminek mérete meghaladta az emailben még problémamentesen elküldhető 10 MB-ot. Ilyen esetekben korábban a Citromail óriás mellékletét, vagy a RapidShare-t használtam, de most végre rászántam magam egy FTP szerver telepítésére.
Pár hónappal ezelőtt beállítottam egy régi notebookot torrentezésre, ez azóta is éjjel-nappal működik, úgyhogy nem volt kérdés, hová telepítsem az FTP szervert. Némi keresgélés után rábukkantam a FileZilla oldalára, ami ingyenes, könnyen konfigurálható, és mégis rendelkezik minden hasznos funkcióval, amit egy otthoni FTP szervernek tudnia kell.
A notebook egy routeren keresztül jut ki az internetre, a szolgáltatótól pedig dinamikusan változó IP címet kapok. Ezért első lépésként regisztráltam egy címet a DynDNS.com-on, hogy ne kelljen a szerver IP címét minden frissítés után újra megadni az ismerőseimnek.
A hosztnév regisztrációja ingyenes, miután létrehoztunk egy accountot, a My Account/Host Services/Add New Host gombra kattintva az alább ablakot kapjuk:
Itt meg lehet adni a hostnevet, amin keresztül majd elérhetnek minket, a jelenlegi IP címünket, és azokat a szolgáltatásokat, amiket a DynDNS továbbít nekünk. Ha például a 'web server'-t nem jelölöm meg, akkor a 80-as portra érkező kéréseket a DynDNS nem fogja továbbítani a gépem felé. Én a későbbiekre gondolva bejelölgettem többet is, de az 'ftp backup' elég lett volna.
Ahhoz, hogy a DynDNS értesüljön az aktuális IP címünkről, a routeren is be kell állítani a megfelelő funkciót. Én egy Zyxel P334-et használok, ezen így néz ki a DynDNS konfigurálása:
A hosztnévnél meg kell adni a DynDNS-nél rögzített hosztnevünket, a User name és Password pedig értelemszerűen az ottani accountunkkal egyezik.
Következő lépés a FileZilla telepítése a kiszemelt gépre (Next..Next..Enter), majd következik a konfigurálás.
Első lépésben meg kell adni, hogy a FileZilla milyen porton kereszül kommunikáljon. Én a normál 21-es FTP porton hagytam, nem ez a legbiztonságosabb megoldás, de legalább az url hivatkozásoknál később nem kell majd megadni a port számát. Ha valaki mégis szeretné megváltoztatni, akkor érdemes az 1024-65536 közötti tartományból választani.
Ha szeretnénk azt, hogy az FTP szerverünk elérhető legyen bármilyen böngészőből, külön FTP kliens nélkül, akkor meg kell adnunk a passzív mód beállításait is. A legegyszerűbb, ha a szolgáltatótól kapott IP címünk felismeréséhez a FileZilla saját szerverét használjuk. Meg kell adnunk azt a port-tartományt is, amin keresztül passzív módban a géünkhöz kapcsolódhatnak. Itt nem érdemes túl nagy tartományt megadni, mert később ezeket a portokat egyenként engedélyeznünk kell a Windows tűzfalán, ami elég macerás munka. Egy otthoni szervernél valószínűleg nem kell ezres méretekben gondolkozni.
Ha ezzel megvagyunk, már csak a felhasználókat kell létrehozni, és megadni azokat a könyvtárakat, amikhez hozzáférhetnek a gépünkön. Nem akartam túlbonyolítani a dolgot, semmilyen titkos információt nem tárolok a gépemen, ezért egy weboldalhoz hasonló, nyilvános hozzáférést engedélyeztem. Ehhez egy anonymous nevű felhasználót hoztam létre, jelszó nélkül.
A könyvtár hozzárendelése az anonymous felhasználóhoz a Shared folders menüben:
A Speed Limits-nél megadhatjuk, hogy milyen sávszélességet engedélyezünk az FTP szerverhez. Nálam a torrentezés miatt ez nem túl nagy, de mindenképpen érdemes valamilyen határt szabni akkor is, ha az FTP szerver mellett nincs más kiszolgáló.
A nehezén már túl vagyunk, még a Windows tűzfal portjainak kinyitása, illetve a NAT beállítása van hátra a routeren.
Nagy sóhajtás után belekezdhetünk a jó öreg XP tűzfalának idomításába. Ehhez a Control Panel/Network and Internet Connections/Windows Firewall panelt kell kiválasztani, majd azon az Exceptions fület. Itt egyenként meg kell adni a passzív mód beállításainál kiválasztott portokat. Protokollnak a TCP-t válasszuk, mert az FTP ezen keresztül működik. Ne feledkezzünk meg az FTP alapprotokolljának engedélyezéséről sem, nyissuk meg a 21-es portot is (szintén TCP), amit még a FileZilla általános beállításainál (General Settings) hagytunk jóvá.
Utolsó simítások következnek! :)
Most szükségünk lesz a szerver hálózati kártyájának fizikai címére. Ehhez hozzájutni nem egyszerű feladat, ha valaki még nem próbálta korábban. De azért nem kell elkeseredni, aki idáig eljutott, annak ez is menni fog.
A legegyszerűbb módszer, ha a Start menü Futtatás parancsát választjuk, és ide beírjuk a következő 3 betűt: cmd, majd lenyomjuk az Entert. Megjelenik a szívünknek kedves fekete DOS-os képernyő, amit manapság Command Promptnak becéznek. Itt írjuk be, hogy IPCONFIG /ALL, majd nyomjunk ismét egy Entert. A megjelenő információk közül a Physical Address-re lesz szükségünk, ez egy ocsmány hexadecimális karaktersorozat, ilyen pl: 00-E0-00-99-42-EB. Ezt írjuk fel gyorsan valahová, majd csukjuk be a fekete ablakot.
Nyissuk meg a router konfigurációs ablakát, és keressük ki azt a panelt, ahol a statikus DHCP beállításokat lehet megadni. Itt vegyünk fel egy új bejegyzést: az előbb megszerzett fizikai címhez kell egy fix belső IP címet rendelnünk. A legtöbb router alapbeállítása a 192.168.1.x tartomány, úgyhogy a képen látható 10.0.0.10-es cím csak illusztráció. Ha ezzel a lépéssel megvagyunk, érdemes újraindítani a szervert, hogy valóban a kiválasztott IP címet vegye fel.
Most már tényleg csak egy legeslegutolsó lépés maradt hátra, be kell állítani, hogy az Internet felől érkező IP csomagokat a router a szerverünk felé továbbítsa. Ehhez a SUA/NAT panelre lesz szükségünk. Két sor fontos csak, a 4-es és az 5-ös, itt adjuk meg, hogy a FileZillában beállított, Windows Firewall-on is engedélyezett portok az előbb választott fix IP címmel legyenek összerendelve.
És kész! Ha minden sikerült, akkor a szerverünk mostmár elérhető egy, az alábbihoz hasonló címen, amit a böngészőbe lehet beírni:
ftp://hobbiit.dyndns.info
(Ez a cím illusztráció, az én szerverem más címen működik!)
Apró probléma, hogy a kipróbáláshoz el kell ügetni egy webkávézóba, mert a saját belső hálózatunkról csak a belső (az utolsó panelen, a NAT-olásnál megadott) IP címen keresztül érhetjük el a szervert. Ez az én esetemben tehát így néz ki: ftp://10.0.0.10
Persze erre is van megoldás, de ez már egy következő poszt témája. Ha valaki mégis türelmetlen, a kulcsszó: 'foxyproxy'.