IP adresi başka bir IP adresine nasıl yönlendirilir / yönlendirilir?


9

Bir IP adresini başka bir IP adresine yönlendirmek / yönlendirmek?

Örn .: 10.10.10.10 -> 20.20.20.20 ve daha sonra tarayıcımda 10.10.10.10 yazdığımda, 20.20.20.20'ye bağlanır.

10.10.10.10 ve 20.20.20.20’nin harici IP adresleri olduğunu varsayalım.


Tam olarak ne demek "harita IP adresi"? Neyi başarmaya çalışıyorsun?
qasdfdsaq

tarayıcımda 10.10.10.10 yazdığımda, 20.20.20.20
yarek

2
Bu işleme 'eşleme değil' yönlendirme olarak atıfta bulunmalısınız. yönlendirme peşinde olduğunuz şeydir.
mnmnc

5
Hayır: IP
adresini

1
10.10.10.10 harici bir IPv4 adresi değildir. " 10. ", " 172.16. " İla " 172.31 " veya " 192.168. " İle başlayan adresler dahili adreslerdir. “10 kabul edelim.” ... “dış”, 10 çok az adresden biri olduğunda uzmanlar genellikle iç adresler olarak düşünür, gerçeğin tam tersi gibidir. "Solungaçları solumak için olduğunu varsayalım" dediği gibi saçma sapan sesler (uzmanlara). Örnek adresler için, daha iyi seçmeler, 192.0.2 ile başlayan IPv4 adresleridir . veya 198.51.100. veya 203.0.113. ( RFC 5735'e göre ) veya IPv6'nın 2001'i: db8:

Yanıtlar:


13

Girişle İlgili Hususlar

Bunlardan herhangi birini uygulamadan önce, sadece rotalamanın gerçekte ne yaptığını bilmek gerçekten yardımcı olacaktır.

Yönlendirme ağ adreslerini değiştirmez. (Eh, NAT yapıyor. Ve NAT yönlendirme uygulanırken gerçekleştirilebilir. Ancak, bir şeyi nasıl yapacağınızı öğrenmek istiyorsanız, şeyleri basit tutmaya çalışıyor olmalısınız. Basit ve geleneksel rotalamayı bir düşünmek en iyisidir. ayrı bir süreç, çünkü bu onun hakkında düşünmek için çok daha basit bir yoldur.)

Adresler gibi değişen şeylere bakmadan önce, genel ağ tasarım kurallarını ihlal edecek (ve muhtemelen çoğu donanım tarafından reddedilecek olan) bir şey yapmaya çalışmadığımızdan emin olmak için, malzemenin gerçekte nasıl çalıştığını tam olarak anladığınızdan emin olalım. ve genellikle bu kuralları uygulayan yazılımlar). Bu şeyler öğrenilirse, en azından çılgınca bir şey denersek, denediğimiz şeyin delice olduğunu ve yüzleşmeye çalıştığımız engel türleri için zihinsel olarak hazırlanacağını anlayacağız. Bu detayları bilmemek çok daha iyi.

Yönlendirme hakkında

Yönlendirme, genellikle trafiğin bir ağdan (genellikle "alt ağ" veya "alt ağ" olarak adlandırılır) başka bir ağa ulaştığından emin olmak için tasarlanmıştır.

Bilgisayarınız ağ trafiğini gönderdiğinde, muhtemelen ağ trafiğinin "çerçevelerini" gönderir. Bu karelere "Katman 2" trafiği denir. (Katman 1, kablolar veya antenler ve hava dalgaları gibi fiziksel bağlantılara odaklanır.) Çerçeveler, MAC-48 adreslerine (EIU-48 adresleri olarak da bilinir ve daha yaygın olarak "MAC adresleri" olarak da bilinir) iletilir. Çerçevelerin teslim alınmasının en yaygın yolları Ethernet (UTP bakır kablo üzerinden) veya Wi-Fi kullanmaktır.

Kareler paket içerme eğilimindedir. Bugünlerde en yaygın kullanılan paket türleri IPv6 ve IPv4'tür. (Muhtemelen bu sırada değil ...) Bu paketler, 3. Katman trafiği olarak kabul edilir. Paketler, katman 4 trafiği olan TCP segmentleri veya UDP datagramları içerme eğilimindedir. "Layer" terimini, bir çok profesyonel seviye networking sınıfında / eğitiminde öğretilme eğiliminde olan "OSI Model" ile tanımlananlarla tutarlı bir şekilde kullanıyorum.

Şimdi, 192.168.1.103'te olduğunuzu ve 4.2.2.2 ile iletişim kurmak istediğinizi varsayalım. Bu UDP bağlantı noktası 53 trafiği (DNS) olabilir, ancak bunun yerine ICMP'yi (ping) örnek olarak kullanacağım.

Tipik olarak, bilgisayarınız 192.168.1.103 ve önek uzunluğu tarafından belirtilen ağınızın boyutunu karşılaştıracaktır (ör. IPv4 / 24). Önek uzunlukları (özellikle IPv6 / 64) IPv6 için en yaygın olanıdır. IPv4 için, ağın boyutu genellikle alt ağ maskesi olarak yazılır. Ortak alt ağ maskelerinin ikili değerleri, alt ağ maskelerinin sonuna doğru sıfırların tümü ile birlikte, hepsinde başlar, bu nedenle genellikle 255.255.255.0 gibi alt ağ maskeleri ile bitirdiniz. Bu IPv4 / 24 ve 255.255.255.0 örneklerini kullanarak, ağın boyutu 256 adresdir. Böylece bilgisayar, eğer tüm olası İnternet adresleri eşit büyüklükteki gruplara bölünmüşse, hangi adreslerin 256 adres grubunun başında ve sonunda olacağını anlar. Bu nedenle, tüm olası İnternet adresleri 256 adres grubuna ayrıldıysa, 192.168.1.

İstenen hedef 4.2.2.2 ve 4.2.2.2 192.168.1.0 ve 192.168.1.255 arasında olmadığı için trafik, bir çerçeve kullanarak 4.2.2.2'nin MAC adresine gönderilmez. (MAC adresini bulmak için IPv4'ün Adres Çözümleme Protokolü'nü (ARP) veya Komşu Keşif Protokolünü (IPv6 kullanıyorsak) kullanmamız pek mümkün değildir, çünkü bu farklı bir ağ üzerindedir. ve IPv6 NDP.) Öyleyse, oraya bir çerçeve gönderemezsek, 4.2.2.2 ile nasıl iletişim kurabiliriz?

Yönlendirme ile. 4.2.2.2'ye trafik almamıza yardımcı olacak bir ağ geçidi bulabiliriz. Yaygın olarak kullanılan tüketici ekipmanları için, insanlar genellikle yalnızca iki tür ağa sahip olmaya alışkındır: bilgisayarın parçası olduğu bir ağ ve dünya çapında Internet. (Şirketler bazen birden fazla siteye sahip olabilir ve başka ağlara da sahip olabilir.) Dünyanın herhangi bir yerindeki adresleri (Internet’in tamamında ele almayı amaçlayan) bir ağ geçidine bazen "son çare olarak adlandırılan ağ geçidi" denir ve çok daha yaygın olarak adlandırılır " varsayılan giriş". Olan daha spesifik bir ağ geçidi yoksa, herhangi bir adres için kullanılacak ağ geçidi budur.

Böylece, bilgisayarınız ağınızda olması gereken varsayılan ağ geçidi için bir IPv4 ARP isteği gönderir. Genellikle, ağınızdaki ilk "kullanılabilir" adres olacaktır. (Bazı çok eski yayın standartlarından ve belki de bazı genel karışıklıklardan dolayı, çoğu kişi bir alt ağın ilk adresini kullanılamaz olarak kabul eder. Buna bazı yazılım ve donanımın yaratıcıları da dahildir, bu nedenle bu kişilerin kararları genellikle geri kalanı etkiler Dolayısıyla, 192.168.1.0 bu örnekte kullanılamaz olabilir.) Dolayısıyla, 192.168.1.1, ilk kullanılabilir adres olabilir ve varsayılan ağ geçidi olabilir. Bu örneği kullanacağım.

Bilgisayarınız varsayılan ağ geçidinizin MAC adresini bulduğunda, bilgisayarınız ICMP mesajını 4.2.2.2 için adreslenmiş bir IP paketini kullanarak gönderir ve bu IP paketi, MAC adreslerine giden bir çerçevenin parçasıdır. geçit.

Dolayısıyla, ICMP mesajını içeren ağ trafiği aslında 192.168.1.1 IP adresine gönderilmez. Trafik 192.168.1.1 ile ilgili MAC adresine gönderilir.

Ardından, yerel yönlendiriciniz trafiğe dikkat eder çünkü trafik MAC adresine gidiyor. Bir yönlendirici olduğu için trafiği yönlendirerek işbirliği yapar. Böylece yönlendiriciniz, aynı ağ üzerinde olmanın doğrudan 4.2.2.2 ile nasıl iletişim kuracağını bilip bilmediğini anlayacaktır. Her durumda, yönlendiriciniz 4.2.2.2'nin MAC adresini nasıl alacağını bilmeyecektir. Böylece, yönlendiriciniz daha sonra İnternet Servis Sağlayıcınızda (ISS) bulunabilecek başka bir yönlendiricinin MAC adresine trafik yönlendireceği için işlem tekrarlanır.

Şimdi, tüm bunların açıklanmasındaki nokta, bilgisayarınızı 10.10.10.10 - 20.20.20.20'ye çevirmeyi başarmış olsanız bile, alıcı ekipmanın 10.10.10.10 için trafik beklememesi durumunda işe yaramaz olabilir. 20.20.20.20'deki alıcı cihaz trafiği alabilir, ancak trafik 10.10.10.10'a yönelikse bunu görmezden gelebilir.

Çalışma örneğimde, IP trafiği varsayılan ağ geçidiyle ilgili MAC adresine gönderilse de, IP paketinin 4.2.2.2 hedefinin, tüm trafik yönlendirmesi işlemi boyunca değişmeden kaldığını unutmayın.

Bu nedenle, hedef IP adresini değiştirmeye çalışıyorsanız, bu basit bir yönlendirme değildir. Bu NAT. NAT, Ağ Adresi Çevirisi'nin kısaltmasıdır. Dolayısıyla, ağ trafiği belirli bir ağ adresini içerdiğinde (10.10.10.10), başka bir adrese (20.20.20.20) çevrilir. Bkz: Windows'ta NAT .

TCP'nin Sınırı

İnternet trafiğinin çoğunun TCP kullandığını unutmayın. 20.20.20.20'ye giden bir TCP bağlantısı kurmaya çalışıyorsanız, TCP'nin iki yönlü iletişim gereksinimi bazı sıkıntılara neden olabilir. Trafiği 20.20.20.20'ye gönderebilseniz bile, 20.20.20.20'nin başarılı bir şekilde yanıt verebilmesi gerekir, çünkü TCP, TCP bağlantısının başlangıcında, "TCP el sıkışmasını" tamamlamak için iki yönlü bir iletişim gerektirir; ("payload") verileriniz gönderilir. Yazılım programınız 10.10.10.10’a trafik gönderdiğini düşünüyorsa, yazılım programınız 20.20.20.20 tarihinden itibaren yanıt trafiğini kabul etmeyecektir. Dolayısıyla, giden trafiğe eklemeye ek olarak, TCP kullanıyorsanız, NAT etkilerini tersine çevirmeniz de gerekebilir. TCP çok yaygındır, örneğin HTTP (web) ve SMTP (E-Posta). Başlıca istisnalar, çok küçük olan trafik (örneğin, UDP kullanan klasik DNS. Başka bir örnek ICMP'dir) veya yavaşlığa karşı çok hassas olan trafik (belki de VOIP, haberler (eski hisse senetleri gibi, eski bilgilerin yeniden güncellendiğinden daha yararsız) bilgi), gerçek zamanlı oyunlar). Kullanmayı düşündüğünüz protokolün TCP gibi daha düşük seviyeli bir protokole bağlı olup olmadığını öğrenmek çok yararlı olabilir. Ağ koklama (örneğin, tcpdump veya Wireshark), işlerin neden işe yaramadığını anlamada da oldukça yararlı olabilir. Kullanmayı düşündüğünüz protokolün TCP gibi daha düşük seviyeli bir protokole bağlı olup olmadığını öğrenmek çok yararlı olabilir. Ağ koklama (örneğin, tcpdump veya Wireshark), işlerin neden işe yaramadığını anlamada da oldukça yararlı olabilir. Kullanmayı düşündüğünüz protokolün TCP gibi daha düşük seviyeli bir protokole bağlı olup olmadığını öğrenmek çok yararlı olabilir. Ağ koklama (örneğin, tcpdump veya Wireshark), işlerin neden işe yaramadığını anlamada da oldukça yararlı olabilir.

NAT kullanılabilirliği

Genellikle, son kullanıcı makinelerinde NAT ile uğraşmazsınız. Genellikle, bu bir yönlendirici tarafından yapılır. Windows'un bazı sürümleri yönlendirici olma özelliğini desteklemektedir; bu, bilgisayarın ağ trafiğini diğer yönlendiricilerin trafiğe nasıl davrandığına benzer şekilde ele alabileceği anlamına gelir.

Bu soru "Windows" etiketine sahip, bu nedenle Microsoft Windows'ta yerleşik yazılımı kullanarak bunu yapmak istediğinizi tahmin ediyorum, NAT'ın "Yönlendirme" adlı bir özellik tarafından destekleneceğini düşünüyorum. Windows'un modern sürümlerinde bu özellik "Yönlendirme ve Uzaktan Erişim" ("RRAS" olarak kısaltılır) adı verilen bazı yazılımlarda bulunur.

Bildiğim kadarıyla, RRAS genellikle Microsoft Windows'un "Ana Sayfa" sürümleri tarafından desteklenmiyor. Genellikle Windows Server sürümleri (örneğin, Windows Server 2008 R2) tarafından desteklenir. "Windows 7 Professional" gibi "Professional" son kullanıcı sürümleri tarafından desteklenebileceğini düşünüyorum. Bu özelliğin "Windows 7 Home" gibi Ana sürümlerden tamamen eksik olabileceğinden şüpheleniyorum.

Bu özellik Windows sürümünüzde potansiyel olarak mevcut olsa bile, muhtemelen varsayılan olarak kaldırılmış olması bile devre dışıdır. Bu nedenle, Windows Özellikler'i (örneğin, "Sunucu Yöneticisi" veya "Denetim Masası" adının bir parçası olarak "Programlar" kelimesini içeren bir uygulamayı yükleyebileceğiniz bir noktaya gitmeniz gerekebilir ve ardından bu uygulamanın sol çerçevesinin "Özellikler" eklemek / kurmak / etkinleştirmek için bir köprü kullanın).

Şimdi, teoride, bilgisayarınıza trafiği NAT yapan ve farklı bir IP adresi olarak gönderen bir proxy'ye yönlendirmesini söyleyebilirsiniz. Öyleyse istediğin şey mümkün olabilir.

Yaklaşımlar

Olası bir alternatif: IP trafiği yerine DNS'yi değiştirmeyi düşünün. örneğin, bir DNS adını, muhtemelen CNAMES kullanarak (ilgili etki alanı adları için DNS kayıtlarını etkileyebiliyorsanız) veya ana bilgisayar dosyalarını kullanarak farklı bir IP adresine yönlendirin. Genellikle uygulaması ve geri dönüşü çok daha kolaydır (değişikliklerinizi geri almaya karar verirseniz).

Şanslar çok ama çok iyi, bunun gerçekten başarmaya çalıştığınız şey için en iyi yaklaşım olmayacağı konusunda. Normal olarak bir şeyler yapmaya çalışmanın kurallara göre çok zor olabileceğini anlayın. Kendi işlerini yapma yöntemlerini icat etmeye çalışmak çok daha zor. Standart yöntemler kullanarak ağları başarılı bir şekilde tasarlama deneyimini yaşamadan önce ağları tasarlarken çok yaratıcı olmanız kesinlikle tavsiye edilmez ve standart yöntemlerin sınırlarını biliyorsunuzdur (ve muhtemelen bu sınırlamaların neden var olduğunu da biliyorsunuz) yeniden yapmak daha iyidir (ve neden daha iyidir). Aksi takdirde, bir çok problemle karşılaşırsınız. (Bazı deneyimlerden konuşabilirim. Sonunda, basitçe önce işleri basit bir şekilde yapmayı denemeyi öğrendim.)

Soru klasik bir XY Problemi gibi görünüyor . Az önce istediklerinizden başka bir şeyi başarmaya çalışıyorsanız, gerçekten başarmaya çalıştığınız şeyi sorduğunuz başka bir soru oluşturmayı deneyin.


Bunu ilk yorumlayan kişi olduğuma şaşırdım. Bilmek istediğim her şeyi özetledin.
Salketer

-1

Komutu kullanabilirsiniz:

route add 10.10.10.10 MASK 255.255.255.255 20.20.20.20 METRIC ? IF ?

'?' yerine uygun sayıları girmeniz gerekir. Neyin metrik olduğunu ve burada ise öğrendim .

metrik Metrik : Yönlendirme tablosunda, iletilmekte olan bir paketin hedef adresiyle en yakından eşleşen birden çok rota arasından seçim yaparken, rota için bir tamsayı maliyet metriğini (1 ila 9999 arasında değişen) belirtir. En düşük metriğe sahip rota seçilir. Metrik, atlama sayısını, yolun hızını, yol güvenilirliğini, yol akışını veya idari özellikleri yansıtabilir.

if Interface : Hedefin ulaşılabilir olduğu arabirim için arabirim dizinini belirtir. Arabirimler listesi ve bunlara karşılık gelen arabirim dizinleri için, rota yazdırma komutunun görüntüsünü kullanın. Arabirim dizini için ondalık veya onaltılık değerler kullanabilirsiniz. Onaltılık değerler için, onaltılık sayının önüne 0x gelir. İf parametresi ihmal edildiğinde, arayüz ağ geçidi adresinden belirlenir.

route printHangi IF değerini kullanmanız gerektiğini öğrenmek için komutu kullanın.


Bu sadece yalnızca İÇ netwrok için mi? Kullanıyorum: rota ekle 146.112.61.106. MASK 255.255.255.255 216.58.210.35 Tarayıcımda 146.112.61.106 yazdığımda, 216.58.210.35'e yönlendirilmesini istiyorum. Bu nasıl işe yaramazsa: herhangi bir fikir?
yarek

3
Bu işe yaramaz. Birincisi, ikinci makinenin bir yönlendirici olmasını veya kendisinin dışındaki IP'ler için trafiği kabul etmesi için yapılandırılmasını gerektirir, ikincisi ikinci makinenin doğrudan erişilebilir olmasını gerektirir. Ne OP ihtiyacı NAT'dir
qasdfdsaq

Netsh komutuyla mümkün sanırım.
Yarek 11
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.