Firewall Engelini Aşıp Evden Çalışmak İsteyenler İçin: revinetd
İşyerinizdeki güvenlik duvarı (firewall) yüzünden evden işyerindeki makinanıza bağlanamıyorsanız, heterojen bir bilgisayar ağınız var ise (GNU/Linux, MS Windows, vs.) ve sistem yöneticinizle gereksiz tartışmalara girmek istemiyorsanız bu yazıyı okuyun.Uzunca bir süreden beri evden işyerindeki makinama bağlanmak istiyor ancak bir türlü bunun için yeterli ve sağlam bir yol bulamıyordum. Tak revinetd ile karşılaşana kadar. Revinetd - reverse port redirector (http://revinetd.sourceforge.net) sistemine rastladıktan sonra bu iş çözüm bekleyen bir problem olmaktan çıktı.
Revinetd: Nasıl Çalışıyor?
Revinetd iki farklı modda çalışıyor, listen-listen ve connect-connect. Evinizdeki Bilgisayar A'da listen-listen d urumunda çalışıyor. İşyerinizdeki Bilgisayar B'de ise connect-connect durumunda çalışıyor. Bilgisayar C ise işyerinde bağlanmak istediğiniz hedef bilgisayar. Bilgisayar C, işyerinizde Bilgisayar B'nin ulaşabildiği herhangi bilgisayar (ya da doğrudan kendisi B=C) olabilir.Şimdi yukarıdaki plana göre sıra ile bilgisayarlar üzerinde çalıştırmamız gereken komutlara bakalım:
Bilgisayar A - Hizmet Sunucu:
revinetd -s -l 3389 -L 100
şu anda revinetd hizmet sunucu (server) durumunda çalışıyor. 3389 portundan yerel bir istemci (client) programının bağlanmasını, 100 portunda Ajan bilgisayarın bağlanmasını bekliyor.
Bilgisayar B - Ajan
revinetd -r -c [Bilgisayar A IP adresi]:100 -t [Bilgisayar C IP adresi]:3389
bu bilgisayarda ise revinetd ajan durumunda çalışıyor. Bilgisayar A'nın 100 numaralı portuna bağlantı kuruyor. Bu bağlantı, Sunucunun İstemci / Hedef ikili bağlantısı kurmak için yeni veri bağlantısı isteyeceği iletişim kanalı olarak kullanılıyor. Sunucu 100 numaralı porta gelen ilk bağlatının iletişim kanalı ve ondan sonraki tüm bağlantıların veri bağlantısı olduğunu biliyor. Güvenlik duvarından (firewall) ilave port açılması ihtiacını en aza indirmek için böyle yapılmış.
Bilgisayar A'da istemci programı 127.0.0.1:3389 portuna bağlanıyor. Hizmet sunucusu bağlantıyı algılıyor ve iletişim kanalı üzerinden ajan bilgisayardan yeni veri bağlantısı talebinde bulunuyor.
Ajan Bilgisayar B mesajı alıyor ve Hizmet Sunucu Bilgisayar A'ya bağlanıyor. Bilgisayar A bağlantı sağlandığında Hedef Bilgisayar C'ye bağlantı kurarak proxy-port ikilisi veri rölesini başlatıyor.
Böylece Bilgisayar A'da çalışan istemci programınız 127.0.0.1:3389 portuna bağlı olmasına karşın Bilgisayar-C:3389 bağlıymış gibi çalışacak.
Revinetd İçin Hazırlık
- 1. Adım revinetd edinmek. http://revinetd.sourceforge.net adresinden revinetd yazılımını indirebilirsiniz.
- 2. Adım derleme.
- 3. Adım (ADSL modem) kullanıyorsanız
./configure
make
make install
Not: MS Windows kullancıları Cygwin ile derleyebilirler. (Ben Emre "FZ" Sevinç'in bilgisayarındaki Cygwin'i kullanarak makinasında derledigi revinetd.exe ile sorunsuz çalışıyorum. Emre'ye teşekkürler :)
Evdeki makinanızda revinetd uygulamasının dinleyeceği portu ayarlamak. Dilediğiniz bir boş porttan dinleyebilirsiniz, tabii işyerinden çıkabildiginiz portları da göz önünde bulundurun. Örnegin işyerinizdeki güvenlik uygulamaları nedeniyle 1024 ve üzeri portlara çıkışınız yoksa tabii ki evdeki makinenizin de 1024 altında kalan bir porttan dinliyor olması uygun olacaktır. Biz, örnegimizde revinetd'yi 100 numaları porttan dinlemek üzere ayarlayacagiz. ADSL modeminizin konfigürasyon menüsünden VIRTUAL SERVER başlığı altında revinetd uygulamasının dinleyeceği port için bir kayıt yaratmalısınız.
public port start : 100
public port end : 100
private port : 100
private ip : makinenizin local IP adresi
Konfigürasyon işlemini tamamladığınızda ayarlarınızı kaydetmeyi ve modeminizi yeniden başlatmayı unutmayın. Modeminizinin konfigürasyon menüsüne nasıl gireceğinizi bilmiyor veya konfigürasyon menüsünde VIRTUAL SERVER başlığına rastlayamadıysanız bu işlemler ile ilgili ilk önce modeminizin kullanım kitapçığına bakmanız gerek. Boylece revinetd nin kullanimi icin artık hazırız.
Buradaki örnek olabildiğince genel (generic) tutulmuştur, ofisinizdeki bir web server, "remote desktop", vs. gibi bir uygulamanın hizmet verdiği portu belirledikten sonra evinizdeki bilgisayarınızdan ulaşmanız mümkün olabilecektir. Programın derlenmiş halini ve MS Windows üzerinde çalışması için gerekli olan cygwin.dll dosyasını buradan edinebilirsiniz.
Ercümend Oyuktaş
2004-01-11
e-posta: mathware at yahoo nokta com