Cuma, Mayıs 04, 2012

WDTV Live ile FTP Server Kurmak

Bu yazıda, WDTV Live üzerine kurulmuş "WDLXTV Firmware" üzerinden nasıl FTP servisi veririz bunu anlatmaya çalışağım. Aslında WDLXTV kurulduğu anda hiçbirşey yapmasanızda ftp servisi aktif olarak geliyor. Lokal ağınız içinde root kullanıcısının şifresi ile ftp bağlantısı kurabilir, bağlı diskinize erişebilirsiniz.

Burada yapmak istediğimiz 2 konu var :
  1. Farklı bir kullanıcı tanımlayıp bu kullanıcıya diskimizin sadece belirli bir klasörü altına erişmesini sağlamak. 
  2. Internet üzerinden herhangi bir ftp client (ör: filezilla) ile wdtv üzerindeki diskimize erişmek.
WDTV Live
Burada anlatılanlar sadece bilgi amaçlı olduğunu ve uygulamadan kaynaklanan olası problemlerden sorumlu olmadığımı belirtip başlayabiliriz.

Şimdi kullanıcı adı ftpk şifresi qwer12 olan bir kullanıcı oluşturalım. Bu kullanıcı, diskimizin kök dizini üzerinde açtığımız pub isimli klasörün altını görsün ve başka bir yere erişemesin.

Önce putty ile konsola bağlanıp aşağıdaki komut satırı ile ftp servisini durduruyoruz.

#/etc/init.d/S75pure-ftpd stop

Aşağıdaki komut ile kullanıcı adımızı tanımlayıp göreceği path i belirliyoruz. (Path bilgisi sizin diskinize ve takılı olduğu porta göre değişebilir.) Bu şekilde istedimiz kadar kullanıcı tanımlayabiliriz. Komutu yazın Enter a basınca sizden Password soracak. Buraya belirlediğimiz kullanıcı şifremizi giriyoruz. (Örneğimizde qwer12) Sonra aynı şifreyi tekrar girip işlemi tamamlıyoruz.

#pure-pw useradd ftpk -u nobody -D /tmp/media/usb/USB2/60EEE98DEEE95BB2/pub -f /conf/pureftpd.passwd

Kullanıcı tanımlarımız bitince aşağıdaki komut satırı yardımı ile oluşturduğumuz kullanıcı bilgilerimizi pdb dosyasına dönüştürmemiz gerekiyor.

#pure-pw mkdb /conf/pureftpd.pdb -f /conf/pureftpd.passwd

pureftpd.pdb dosyamız /conf altında oluştu. ftp servisini açmadan önce bu dosyayı servisimizin görmesini ve kullanmasını sağlamak için aşağıdaki komut satırını giriyoruz.

#config_tool -c FTPD_OPTIONS='-l puredb:/conf/pureftpd.pdb -p 50000:50400 -A'

Burada farklı 2 parametre daha görüyorsunuz. -p parametresi passive mode ftp kullanabilmemiz için port aralığı belirlememizi sağlıyor. -A parametresi ise tanımladığımız kullanıcının belirttiğimiz path in dışına çıkamamasını sağlıyor. Bu parametreyi kullanmazsanız kullanıcı sizin belirlediğiniz path ile bağlanır ama isterse kök dizine kadar çıkabilir.

Şimdi artık ftp servisimizi aşağıdaki komut ile tekrar başlatabiliriz.

#/etc/init.d/S75pure-ftpd start

Filezilla üzerinden hemen bağlanmayı deneyebilirsiniz. Android telefon/tablet üzerinden bağlanmak için AndFTP programını  tavsiye edebilirim. (Dosya isimlerinde Türkçe karakterlerde sorun görürseniz bağlantı ayarlarından karakter setini UTF8 olarak değiştirmeniz yeterlidir)
WDLXTV, ftp servisi olarak PureFTPD yi kullanmaktadır. PureFTPD nin kendi dokümantasyon sayfasını inceleyerek daha farklı konfigurasyonlarda kurabilirsiniz. Bu anlattıklarım sadece benim ihtiyaçlarım kapsamında kurduğum konfigurasyondur.

Şimdi gelelim "internet üzerinden ftp server'ımıza nasıl erişebiliriz?" sorusuna.

Herşeyden önce bir adrese veya IP numarasına ihtiyacımız var. Statik IP sahibi olmadığınızı varsayıyorum. Bildiğim kadarıyla hemen hemen tüm modemlerde dinamik dns imkanı bulunuyor. Modeminizin desteklediği dinamik dns servislerinden birine üye olup oradan kendinize uygun bir domain adı alıyorsunuz. Örn: ozgur.homedns.org gibi..Modeminizde, dinamik dns tanımlanan yere oradan aldığınız üyelik bilgilerinizi giriyorsunuz. Bu sayede "ozgur.homedns.org" adresini girdiğinizde kendi modeminize kadar ulaşırsınız.

Modeminize ulaşırsınız ancak modem üzerinde herhangi bir yönlendirme kuralı olmadığı için orada kalırsınız. Modemin NAT(Port Yönlendirme) ayarlarından 21 nolu porta gelen istekleri WDTV Live ın IP numarasına yönlendir demeniz lazım. (Nasıl yapılacağı ile ilgili internette birçok bilgi var. Kendi modeminize göre araştırabilirsiniz.) Burada önemli olan nokta WDTV Live ın hep aynı IP ye sahip olması. Bunun için ya WD ye sabit IP verebilir yada DHCP Reservation ile hep aynı IP yi almasını sağlayabilirsiniz. (Ben 2.sini kullanıyorum.)

Son olarak da modeminizin güvenlik ayarlarından 50000-50400 portlarını açmalısınız. Böylece passive mod için tanımladığımız portlar açılacak ve dışarıdan içeriye ftp yapabilmemiz için gerekli tüm zincir tamamlanacaktır.

Hepsi bu kadar. 

0 comments:

Yorum Gönder