Ağ geçidi belirtmeden Windows statik yolları (sonraki atlama)


15

Aşağıdaki senaryo var:

Bilgisayar A:, 198.51.100.8ağ maskesi 255.255.255.0
Bilgisayar B:, 203.0.113.9ağ maskesi 255.255.255.0
Her iki bilgisayar da aynı LAN segmentindedir; her iki durumda da varsayılan ağ geçidi belirtilmez.

Bu iki bilgisayarın birbiriyle iletişim kurmasını sağlamak için iki statik yol ekledim, şöyle:

route add 203.0.113.9 mask 255.255.255.255 198.51.100.8

Ancak, bir ağ geçidi IP adresi belirtmek yerine bir ağ arabirimi belirterek statik yolları eklemeyi tercih ederim .

Bu Linux ile aşağıdaki gibi bir komut kullanarak mümkündür:

ip route add 203.0.113.9 dev eth0

ve benzer şekilde FreeBSD'de:

route add 203.0.113.9/32 -iface fxp0 -cloning

Ancak, bunu Windows ile nasıl yapacağım konusunda kayboluyorum. İdeal olarak şöyle bir şey yapmak istiyorum:

route add 203.0.113.9 mask 255.255.255.255 if 2

ama bu sadece routekomutun kullanımını basar , bu da bana yanlış yaptığımı söyler. Ben de kullanmaya çalıştım netsh, ki bana:

> netsh routing ip add persistentroute 203.0.113.9 255.255.255.255 "Local Area Connection"
Specify the next-hop for non point-to-point interfaces.

Herhangi bir düşünce veya öneriniz var mı?


Güncelleme : Bu soruyu ilk olarak gönderdiğimde Windows XP kullanıyordum. Ama bundan bahsetmeyi ihmal ettim.

Orijinal sorum için doğru olduğu için Grizly'nin orijinal cevabını bırakacağım. Ancak Windows'un XP / 2003'ten daha yeni bir sürümünü kullanıyorsanız, diğer yanıtlardan birini deneyin.

Yanıtlar:


7

Pencerelerle bu mümkün olmayabilir

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx

Alıntı: Yerel olarak bağlı alt ağ yolları için, ağ geçidi adresi, alt ağa bağlı arabirime atanan IP adresidir.


Hey Grizly - cevap için teşekkürler! Her iki komutu da denedim, ama aldım: "Güzergah ekleme başarısız oldu: Ya arayüz dizini yanlış ya da ağ geçidi arayüzle aynı ağda yer almıyor. Makinenin IP Adres Tablosunu kontrol edin." Makinede sadece iki arayüz var, 0x1 (MS TCP Geri Döngü arayüzü) ve 0x2 (Intel (R) PRO / 1000 MT Ağ Bağlantısı), bu yüzden "2" kullanmak istediğim şey olduğundan eminim. Başka düşünceniz var mı?
fizyon

Sadece "2 metrik 1" bölümünü dikkate almayın. -P olmadan da test etmek en iyisidir. (Bu ısrarcı olur)
Grizly

Aynı sonucu "metrik 1 2 ise" bölümü olmadan elde ederim.
fizyon

Ohh, benim kötü, ağ geçidi arayüzün ip gibi görünüyor .. cevap güncellendi.
Grizly

Doğru, zaten yaptığım şey ve kaçınmayı umduğum şey buydu. Yine de teşekkürler.
fisyon

21

Pencerelerde 0.0.0.0, ağ geçidi olarak geçerek arayüzü bilmeden arayüze dayalı bir rota ekleyebilirsiniz.

bu böyle bir şey verir:

route add <IPtoRoute> mask <MaskOfTheIp> 0.0.0.0 IF <InterfaceNumber>

route add 203.0.113.9 mask 255.255.255.255 0.0.0.0 IF 2

2
Bunu Windows 7 x64'te denedim. İşe yarıyor! Komutum: route ADD 176.31.111.111 0.0.0.0 IF 25Geri döndü OK!ve yönlendirme tablosunda beklendiği gibi yeni bir giriş belirdi
Dmitry

6

Aynı şeyi Juniper Junos Pulse VPN istemcisi ile Windows 7 Enterprise'da aldım.
Tüm olası IPv4 adreslerini yakaladığı ve çevirmeli bağlantıya yönlendirdiği için bir sorun yaşadım:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          1.0.0.0        255.0.0.0         On-link       XX.XX.XX.XX     11
          2.0.0.0        254.0.0.0         On-link       XX.XX.XX.XX     11
          4.0.0.0        252.0.0.0         On-link       XX.XX.XX.XX     11
          8.0.0.0        248.0.0.0         On-link       XX.XX.XX.XX     11
         16.0.0.0        240.0.0.0         On-link       XX.XX.XX.XX     11
         32.0.0.0        224.0.0.0         On-link       XX.XX.XX.XX     11
         64.0.0.0        192.0.0.0         On-link       XX.XX.XX.XX     11
        128.0.0.0        128.0.0.0         On-link       XX.XX.XX.XX     11

Tüm trafiğimin VPN'den geçmesini istemedim, bu yüzden herhangi birinin ihtiyacı olması durumunda, bu yolları kaldırmak için küçük bir cmd dosyası yazdım ve sonra bir ağ geçidi belirleyemediğim tek ihtiyacım olanı (10.0.0.0) yükledim , doğru arayüzü belirterek.
Bir arabirimin numarasını dinamik olarak almak için bunu kullanabilirsiniz.

@rem Get the interface number
set IF=
for /f "tokens=1,8 delims=. " %%A in ('route print') do @if /i "%%B" equ "Juniper" set IF=%%A
@rem If interface is not found, terminate quietly
if not defined IF exit /b
for %%A in (1 2 4 8 16 32 64 128) do @route delete %%A.0.0.0
route add 10.0.0.0 mask 255.0.0.0 0.0.0.0 IF %IF%

1
vpn bağlantınızın ip özellikleri bölümünde "zor tünel oluşturmayı" devre dışı bırakabilirsiniz.
garip yürüteç

5

Ondalık sayıdaki Arabirim numarası ile gösterilir route print. Altındaki çıktının üst kısmına bakın Interface List .

Başka bir yol arp -ada onaltılık sayıyı kullanmak ve not etmektir, örneğin:

C:\>arp -a

Interface: 192.168.1.28 --- 0xc  
  Internet Address      Physical Address      Type
<snip>

Her ikisi de aşağıdaki ifargümandan sonra kabul edilir route.exe, örneğin:

route ADD <NET-ID> MASK <mask> <GW-address or 0.0.0.0 for on-link> IF 0xc -P

arp -aNIC'yi tanımlamak daha kolay olduğu için tercih ederim .

Çok sayıda başka yol, ama bu en basit olanı.


0

Kalıcı tabloda ağ geçidini atlayamazsınız. Bazı insanlar, Windows XP'de kabul edilebilir bir arabirim kartı IP'si (kullanıcı tarafı) koymayı teklif ediyor. Ancak artık geçerli değil. İşletim sistemi, en azından önbellek doldurulana kadar, bu durumda her ağ arabirimini çalmaya devam edecektir; iyi bir davranış değildir ve boş yönlendirme tablosuyla hiçbir fark yaratmaz.

Bir ağ geçidi olarak bir hedef IP koymanın sorunu en azından Windows 10'da çözdüğünü öğrendim. Ama şu anda% 100.1 gerçek olarak onaylamak için çok az istatistikim var.

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.