Liman yönlendirme nedir ve ne için kullanılır?


Yanıtlar:


318

Temeller

Bağlantı noktası yönlendirmeyi gerçekten açıklamak için, önce yönlendiricinizin ne yaptığı hakkında biraz daha fazla bilgi sahibi olmanız gerekir . İnternet servis sağlayıcınız İnternet bağlantınıza bir IP adresi atar . İnternetteki tüm bilgisayarların benzersiz bir IP adresine ihtiyacı vardır, ancak evinizde birden fazla bilgisayar vardır ve yalnızca bir adres vardır. Peki bu nasıl çalışıyor?

Bunun ne olduğunu biliyorsanız ve nasıl yapılacağını bilmek istiyorsanız : http://portforward.com/ kelimenin tam anlamıyla yüzlerce farklı yönlendiricinin ekran görüntüleriyle ilgili bir bilgiye sahiptir. Belgeler orada otomatik portconfig aracı için bir reklam sayfasının arkasında gizlidir. (Sadece bir parçayı tıkladığınızda bulabilirsiniz.)

NAT - Nedir? Neden kullanıyoruz?

Ev yönlendiricinizin yerleşik olarak bulunan Ağ Adresi Çevirisi veya NAT adlı bir işlevi vardır. Ağınızın içinde, bilgisayarların 192.168.1.100 gibi adresleri vardır. 192.168. * Aralığındaki tüm adresler (veya 10. *) aralığındaki " özel " veya " ayrılmış " adreslerdir. Bu adresler resmi olarak özel ağların içinde kullanılmak üzere IANA tarafından atanmıştır. Yönlendiriciniz otomatik olarak DHCP ile bağlanan her bilgisayara böyle bir adres atar . Bu adresler, ağınızdaki bilgisayarların yönlendirici ve birbirleriyle iletişim kurma şeklidir.

Yönlendiricinizin internete bağlayan ayrı bir ağ arayüzü var. Bu arayüz, İSS'niz tarafından atanan çok farklı bir adrese sahiptir. Bu daha önce bahsettiğim adres ve yönlendiriciniz internetteki diğer bilgisayarlarla iletişim kurmak için kullanıyor. Ağınızın içindeki bilgisayarların yönlendirilemez özel IP adresleri vardır; bu, paketleri doğrudan Internet'e gönderirlerse paketlerin otomatik olarak düşeceği anlamına gelir (özel adresli paketlerin kararlılık nedenleriyle interneti geçmesine izin verilmez). Ancak yönlendiricinizin yönlendirilebilir bir adresi vardır. Ağ Adresi Çevirisi, adından da anlaşılacağı gibi, tercüme eder Bu iki tür adres arasında, ağınızdaki birden fazla bilgisayarın tek adresli tek bir bilgisayar olarak internette görünmesini sağlayın.

Ayrıntılar

Bu her ne kadar karmaşık görünse de, yönlendiricinizin nasıl yaptığı oldukça basit. Ağınızdaki bir bilgisayar internetteki bir bilgisayara bağlanmak istediğinde, bağlantı isteğini yönlendiriciye gönderir (yönlendiriciye göndereceğini bilir çünkü Varsayılan Ağ Geçidi parametresi yönlendiricinin adresine ayarlanmıştır). Yönlendirici daha sonra bu bağlantı isteğini alır (TCP / IP'de "SYN isteği") ve kaynak adresini ("cevapla" veya dönüş adresi) değiştirir ve bunu bilgisayarın özel IP'sinden bilgisayarın genel IP'sine değiştirir. yönlendirici, yanıt yönlendiriciye gönderilir. Sonra bir veritabanında ( NAT tablosu adı verilir ) bağlantının başlatıldığını ve daha sonra hatırlayacağını not eder.

Yanıt uzaktaki bilgisayardan (bir "SYN-ACK") geri döndüğünde, yönlendirici NAT tablosuna bakar ve bu bağlantı noktasındaki bu ana bilgisayara bir bağlantının daha önce ağınızdaki özel bir bilgisayar tarafından başlatıldığını görür. bilgisayarın özel adresine yönlendirin ve onu ağınızın içinde iletir. Bu yolla, paketler ağlar arasında ileri ve geri geçiş yapmaya devam edebilir, yönlendirici adresleri şeffaf şekilde çalışacak şekilde değiştirir. Bağlantı sonlandırıldığında, yönlendirici NAT tablosundan kaldırır.

Veya böyle düşünün

Bu bir metaforla görselleştirmek için biraz daha kolay olabilir - diyelim ABD'de Çinli müşterileri ile çalışan bir nakliye firmasısınız. ABD'deki birçok müşteriye paket göndermeleri gerekiyor, ancak gümrük / evrak gerekçesiyle yalnızca bir yere paket göndermek daha kolay. Bu nedenle, ABD'deki müşterilerinizden birinin (bu örnekte özel ağın) ABD'de bir yerde (internet) gerçek bir varış noktası olan bir paket geliyor. Kutudaki adres etiketini ABD (genel) adresine değiştirirsiniz ve iade adresini kendi genel adresinize değiştirirsiniz (çünkü müşteriyi rahatsız etmeden doğrudan Çin'e iade edilemez) ve posta hizmetine verirsiniz. . Müşteri ürünü iade ederse size gelir. Kayıtlarına bakıyorsun ve Çin'de hangi şirketten geldiğini görüyorsun.

Bu harika çalışıyor, ancak bir sorun var. Bir müşterinin şirkete bir şey göndermesi gerekiyorsa, bir şey için ödemede havale edelim mi? Veya, internetteki bir bilgisayarın ağdaki bir web sunucusuna, yani bir yönlendiriciyle (SYN isteği) bağlantı başlattığını varsayalım. Mektup / paket sadece yönlendiricinin genel adresini içerir, bu yüzden yönlendirici aslında nereye göndereceğini bilmiyor! Özel ağdaki bilgisayarların herhangi biri veya hiçbiri için bulunmayabilir. Birinin ev telefonunu aradığınızda bu problemi yaşamış olabilirsiniz - sizi aradıklarında sorun olmaz, ancak onları aradığınızda aramanın kimin için olduğunu bilmeleri mümkün değildir, bu yüzden yanlış kişi cevap verebilir.

İnsanların bunu çözmesi yeterince kolay olsa da, bilgisayarlar için daha zordur, çünkü ağınızdaki her bilgisayar diğer tüm bilgisayarları tanımıyor.

Sonunda Port Yönlendirme'ye geçiyoruz

Bağlantı Noktası Yönlendirme, bu sorunu nasıl çözdüğümüzdür: yönlendiricinize ağdaki gelen bağlantıların hangi bilgisayara yönlendirilmesi gerektiğini söylemenin bir yolu. Bunu yapmamız için üç farklı yolumuz var:

  • Faux-DMZ : Birçok yönlendirici DMZ adı verilen bir özelliğe sahiptir. Bu, bir tür ağ güvenliği yapılandırması olan Demilitarized Zone anlamına gelir. Ev yönlendiricilerindeki DMZ'ye genellikle sahte DMZ denir, çünkü gerçek bir DMZ'nin özellikleri yoktur. Yaptığı şey, en basit gelen bağlantı elleçleme türüdür: tüm gelen bağlantı istekleri, ağınızın içinde belirtilen birine gönderilecektir. Çok basit - yönlendiricinizin yapılandırmasına bir IP adresi yazıyorsunuz ve gelen tüm bağlantılar oraya gidiyor. Bu her zaman işe yaramaz, çünkü gelen bağlantıları kabul etmesi gereken birden fazla bilgisayarınız olabilir. Bunun için biz ...
  • Port yönlendirme : Tüm ağ bağlantısı istekleri bir "port" içerir. Bağlantı noktası yalnızca bir sayıdır ve bir bilgisayarın paketin ne olduğunu bilmesinin bir parçasıdır. IANA, Port 80'in HTTP için kullanıldığını belirtti. Bu, 80 numaralı bağlantı noktasını belirten bir gelen paketin bir web sunucusu için amaçlanan bir istek olması gerektiği anlamına gelir. Yönlendiricinizde bağlantı noktası iletme, bir bağlantı noktası numarası (veya yönlendiriciye bağlı olarak muhtemelen bir sayı ya da sayı kombinasyonu) ve bir IP adresi girmenize olanak sağlar. Eşleşen bir port numarasına sahip olan tüm gelen bağlantılar, bu adrese sahip dahili bilgisayara iletilecektir.
  • UPnP bağlantı noktası iletme: UPnP iletme, bağlantı noktası iletme işlemiyle aynı şekilde çalışır, ancak bunu ayarlamak yerine, ağ içindeki bir bilgisayardaki yazılım yönlendiriciyi belirli bir bağlantı noktasındaki trafiği iletmek üzere otomatik olarak ayarlar.

Bir örnek

Bir kullanım örneğine bakalım. Birçok çok oyunculu video oyunu (örneğin, Counter Strike), bilgisayarınızda oynamak için diğer kişilerin bağlanabileceği bir oyun sunucusu çalıştırmanıza izin verir. Bilgisayarınız oynamak isteyen tüm insanları tanımıyor, bu yüzden onlara bağlanamıyor - bunun yerine bilgisayarınıza internetten yeni bağlantı istekleri göndermek zorundalar.

Yönlendirici üzerinde ayarlanmış herhangi bir şeyiniz olmasaydı, bu bağlantı isteklerini alırdı ancak ağdaki hangi bilgisayarın oyun sunucusuna sahip olduğunu bilemezdi, bu yüzden onları görmezden gelirdi (ya da daha özel olarak gönderirdi) bağlanamadığını belirten bir paketi geri yükleyin. Neyse ki, oyun sunucusu için bağlantı isteklerinde bulunacak port numarasını biliyorsunuz. Böylece, yönlendiricide, oyun sunucusunun beklediği bağlantı noktası numarasıyla (örneğin, 27015) bir ileri bağlantı noktası ve oyun sunucusuyla bilgisayarın IP adresini (örneğin, 192.168.1.105) ayarlarsınız.
Yöneltici, gelen bağlantı taleplerini ağ içinde 192.168.1.105'e iletmeyi bilecek ve dışarıdaki bilgisayarlar bağlanabilecektir.

Diğer bir örnek, IP 192.168.1.10 IP ile ikincisinin Apache kullanan bir web sitesine ev sahipliği yaptığı iki makineli yerel bir ağ olabilir. Bu nedenle, yönlendirici gelen bağlantı noktası 80 isteklerini bu makineye iletmelidir. Port yönlendirme kullanarak, her iki makine aynı anda aynı ağda çalışabilir.

Port yönlendirme örneği grafiği

Video oyunları belki de günlük kullanıcıların bağlantı noktası yönlendirme ile karşılaşacakları en yaygın yerdir, ancak çoğu modern oyun UPnP'yi kullanır, böylece bunu manuel olarak yapmanız gerekmez (bunun yerine tam otomatiktir). Bunu, ağınızdaki herhangi bir şeye doğrudan bağlanabilmek istediğinizde yapmanız gerekir (İnternet'teki bir aracıyla değil). Bu, kendi web sunucunuzu çalıştırmayı veya Uzak Masaüstü Protokolü aracılığıyla bilgisayarlarınızdan birine bağlanmayı içerebilir.

Güvenlik üzerine bir not

NAT ile ilgili güzel şeylerden biri, zahmetsiz, yerleşik güvenlik sağlamasıdır. Bir çok insan interneti savunmasız makineler aramak için dolaşıyor ... ve bunu çeşitli limanlarla bağlantılar açmaya çalışarak yapıyorlar. Bunlar gelen bağlantılardır, yukarıda açıklandığı gibi, yönlendirici bunları bırakacaktır. Bu, bir NAT konfigürasyonunda, sadece yönlendiricinin kendisinin gelen bağlantıları içeren saldırılara karşı savunmasız olduğu anlamına gelir. Bu iyi bir şey, çünkü yönlendirici, çok fazla yazılıma sahip tam bir işletim sistemi çalıştıran bir bilgisayardan çok daha basit (ve bu nedenle savunmasız olma olasılığı düşüktür). Bundan sonra, ağınızdaki bir bilgisayarı DMZing yaparak (DMZ hedefi olarak ayarlayarak), bu bilgisayar için o güvenlik katmanını kaybedeceğinizi aklınızda bulundurmalısınız: şimdi internetten gelen bağlantılara tamamen açık, bu yüzden doğrudan bağlanmış gibi sağlamlaştırmanız gerekir. Elbette, bir portu ne zaman ileri götürürseniz, alıcı uçtaki bilgisayar o portta savunmasız kalır. Bu yüzden iyi yapılandırılmış güncel bir yazılım çalıştırdığınızdan emin olun.


2
Kısaca bahsettiniz, ancak DMZ tarzı port yönlendirme kullanımlarının önemini açıklamak isteyebilirsiniz. Bir üretim ortamında, bir sql sunucusu (veya her neyse) dış dünyaya açılmasının iyi bir fikir olacağı tek bir örnek düşünemiyorum. Liman yönlendirme, güvenlikten ciddi şekilde ödün vermeden korunan kaynaklara ulaşılmasını mümkün kılabilir.
Brian Vandenberg

11
NAT bölümünde genişletilmemiş olan bir ayrıntı, ağınızdaki bilgisayarlar yönlendirilemeyen özel IP adreslerini almak için DHCP kullanıyorsa, kendilerine atanmış olanların değişiklik göstermesi ve bunun gerçekleşmesi durumunda bağlantı noktası yönlendirmesinin gerçekleşeceği gerçeğidir. mahvolmak. Her bilgisayarın ağ adresini el ile ayarlayarak bunu önlemek en iyisidir. portforward.com bunun önemini vurgulamaktadır ve bir sistemde statik bir IP adresinin nasıl ayarlanacağını açıklayan bir rehbere sahiptir, ancak bunlar şimdi rezerve edilmiş NAT adreslerini önlemek için yönlendiricinin DHCP'sini yapılandırma ihtiyacından bahsetmemektedirler.
martineau

2
@jcrawfordor, Merhaba, UPnP'nin tam olarak ne kadar otomatik olduğunu tam olarak açıklar mısınız? UPnP nedir ve nasıl çalışır?
Pacerier

1
DHCP adreslerini saklayan @martineau, bunu yapmanın iyi bir yoludur. Bazı yönlendiriciler, daha fazla tercih edilen adreslere değil, belirli istemcilere iletebilir.
Baldrickk

2
Cevabın "Liman sadece bir sayı ve bilgisayarın paketin ne olduğunu bilmesinin bir parçası" diyen cevabın bir kısmı. yanıltıcıdır. Bir uygulama için bir bağlantı noktası numarasının sabitlenmesi bir kuraldır; paket türünün belirlenmesinde bir etken değildir. En iyi ihtimalle, 80 numaralı bağlantı noktası için amaçlanan bir paketin HTTP olduğu tahmin edilebilir, başka bir şey yoktur, tamamen (uygulama katmanında) 80 numaralı bağlantı noktasını dinleyen uygulamaya bağlı olacaktır.
codeman48
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.