Firewall Engelini Aşıp Evden Çalışmak İsteyenler İçin: revinetd

0
FZ
Uzunca bir zamandır heterojen ağ ortamlarında, firewall idi, sistem yöneticisinin kaygıları idi, evden ofisteki ağa bağlanma idi, filanca yazılım falanca iş için uygun ama her şey için değil... vs. gibi dertlerle boğuşurken eMBA yazılım ekibimizden Ercümend Oyuktaş'ın keşfettiği minik bir yazılım ile dertlerimize son verdik.

Okuyacağınız kılavuzun işinize yaramasını ümit ederiz. Yazının orjinaline buradan erişebilirsiniz.

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ış.

Şema 1


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.

Şema 2


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.

Şema 3


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.
  • ./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 :)

  • 3. Adım (ADSL modem) kullanıyorsanız


  • 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.
Yukarıdaki hazırlıkları yaptıysanız bu kılavuzun ilk bölümündeki komutları kullanarak önce ofisinizdeki bilgisayarı ayarlayabilir ve sonra evinize gittiğinizde gerekli, işlemlere devam edebilirsiniz.

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

Görüşler

0
conan
Ercu rules hehe ;)
0
ercumend
Il y a deux manières de construire une conception de logiciel ; l'un doit la rendre si simple qu'il n'y a évidemment aucune insuffisance, et l'autre manière est de la faire ainsi compliquée qu'il n'y a aucune insuffisance évidente. La première méthode est plus difficile bien.
0
ttk
emeği geçenlerin eline sağlık, gayet faydalı bir döküman ve uygulama.
0
FZ
Pratik olarak işinize yararsa ne mutlu yazana ve yayınlayana ;-)
0
ttk
Firewall'ı aşabilmeyi sağlaması faydasının yanında, standart belli portlardan çıkış verilmek zorunda kalınan hizmetlerin ilk anda bu portları tarayıp geçenler tarafından bulunmasını da engelleyebilme gibi bir faydası da var programın.
Sistemimizin verdiği hizmetlerin açık portlar yoluyla kolayca teşhis edilip saldırıya hedef olma ihtimalini azaltması çok faydalı.
Terminal servisin portunu nasıl gizlesem diye düşünüyordum, epey işime yarayacak bu bilgiler.
Teşekkür ederim :)
0
Doggie
süper haber, hele amaç çalışmayıp şirkette birşeyleri karıştırmak ise. İleri yoldaş !
0
FZ
Bence de süper bir haber/yazı ancak amaç evden ofise bağlanıp herhangi bir durum olduğunda uzaktan müdahale edebilmek ve teknik problemleri çözebilmek. İstanbul şehri, İstanbul trafiği, yollar, yolda kaybedilen vakit vs. düşünelecek olursa, uzaktan ofiste bilgisayar ağına bağlanıp geliştirme yapmanın ya da teknik bir programlama problemini çözmenin değeri daha iyi anlaşılır. Dediğim gibi, tamamen teknik bir mesele.
0
Doggie
süper haber, hele amaç çalışmayıp şirkette birşeyleri karıştırmak ise. İleri yoldaş !
0
ttk
Yazılarınıza baktım da, nikinize gayet uygun düşüyor yazılarınız.
0
FZ
Bu yazıyı sistem yöneticinize okutmayın! ;-)

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Visual Studio Zihninizi Çürütür Mü?

FZ

Yaklaşık 30 yıldır program yazan ve Microsoft Windows programlama kitapları ile saygı duyulan isimler arasında yer alan Charles Petzold'un son makalelerinden Does Visual Studio Rot the Mind? Ruminations on the Psychology and Aesthetics of Coding son zamanlarda okuduğum en güzel yazılardan biri.

Petzold, kullanılan araçların insan düşüncesini inceden inceye nasıl şekillendirdiğine dair mükemmel örnekler vermekle kalmıyor, aynı zamanda konuyu tarihsel bir bakışla da değerlendirip çarpıcı tespitlerde bulunuyor. Sadece Microsoft kullananların, sadece C++ ya da C# kodlayanların değil, GNU/Linux, Java ve VS.NET haricinde IDEler kullananların da okumasında fayda olan bir yazı.

Python Paradoksu

FZ

Paul Graham, geçenlerde (2004 Ağustos'unda) kısa bir makale yazmış, bakalım ne demiş:

"Kısa bir süre önce gerçekleştirdiğim bir konuşmada pek çok insanı hayalkırıklığına uğratan bir laf ettim: Python tabanlı bir proje için bulabileceğiniz programcılar, Java tabanlı bir projeye çekebileceğiniz programcılardan daha zeki olacaktır.

Kast ettiğim Java programcılarının aptal olduğu değil. Kast ettiğim şey, Python programcılarının daha akıllı olduğu. Yeni bir programlama dilini sıfırdan öğrenmek çaba gerektirir. Ve insanlar Python'u yeni bir iş bulabilirler diye öğrenmiyorlar; insanlar Python'u öğreniyor çünkü gerçekten programlamayı seviyorlar ve halihazırda kullandıkları dillerden memnun değiller.

Plazma: Amatör Bilgisayar Kültürü Dergisi

Alcofribas

Herkese merhaba, Uzun bir aradan sonra, "Amatör Bilgisayar Kültürü" dergisi Plazma, dördüncü sayısıyla tekrar karşınızda. Hemen gidip Plazma sayfasından yeni sayıyı (tabii ki ücretsiz olarak) indirebilirsiniz. Bilgisayar ile ilgili amatör hobilerin tamamını, klasik ve modern bütün platformlarda, adım adım kapsama alanına almaya çalışan derginiz, yeni ve eski pekçok yazardan, pekçok kaliteli yazıyla dolu dolu huzurunuza geliyor. Sonraki sayı çıkana kadar dergiyi okuyup bitiremeyebilirsiniz bile ;)

Kitap Eleştirisi: Süper Hesap Uzmanları

FZ

Makine öğrenmesi konusu ile ilgilendiğim için askere gitmeden önce Ian Ayres'in 'Süper Hesap Uzmanları : Sayılarla Düşünmek Neden Zeki Olmanın Yeni Bir Yoludur' kitabını okumuştum. 2008 yılının Mart ayında Türkçesi yayımlanmış kitabın makine öğrenmesi, veri madenciliği ve genel anlamda istatistiğin gücü ile ilgilenen herkesin okuması gereken türden bir kitap olduğuna inanıyorum. Yani işadamları da bilgisayar yazılımcıları da çözmeye çalıştıkları problemleri daha iyi anlamak ve daha akıllıca çözümler geliştirmek için bu kitaptan feyz alabilirler.

Her ne kadar söz konusu kitap (Freakonomics'in yazarlarıdan) Steven D. Levitt gibi yazarların övgüsüne nail olmuşsa da hem içerik hem de çeviri konusunda bazı eleştirileri hak ediyor. Kitabı okurken not ettiğim bazı noktaları aşağıda listeledim:

IBM Özgür Yazılım Dergisi 3. Sayısı Çıktı

FZ

IBM Türk tarafından hazırlanan, Türkiye'nin ilk Özgür Yazılım dergisi yayın hayatına yeni ismiyle devam ediyor. IBM Özgür Yazılım'ın 3. sayısı daha önce talep eden üyelerimize ulaştırılmak üzere yola çıktı. Bir sonraki sayının adresinize gönderilmesini istiyorsanız üyelik bilgilerinizdeki adres bilgilerinizi güncelleyip ve "IBM Özgür Yazılım Dergisinin Adresime Gönderilmesini İstiyorum" seçeneğini işaretlemeniz gerekiyor.