Nota: questo è il mio laboratorio di informatica domestica e non un ambiente aziendale / di produzione. Sono più che felice di romperlo e risolverlo di nuovo, quindi qualsiasi suggerimento è il benvenuto!
SOMMARIO
Ho aggiunto questo breve riepilogo perché questa domanda sta diventando piuttosto lunga. Se desideri ulteriori dettagli su tabelle di routing, configurazioni IP, ecc., Guarda sotto.
Ho alcune schede di rete su un computer. Una scheda di rete è 172.16.200.1 / 24. Quando provo a eseguire il ping 172.16.200.2 (un host esistente sulla rete), ricevo una risposta. Fin qui tutto bene.
Quando provo a connettermi al 172.16.200.5 (o qualsiasi altro host che non esiste), il computer tornerà al mio percorso predefinito (0.0.0.0 tramite il mio gateway predefinito 192.168.0.1) - questo verrà quindi inviato da il mio router di casa dove poi si perde in un ciclo di routing nella mia rete di ISP. Di seguito vengono forniti molti più dettagli, se necessario, ma immagino che ci sia un guru là fuori che può già rispondere a questo ...
La mia domanda è:
Come posso impedire al mio computer di tornare al gateway predefinito per una rete privata quando non c'è risposta da un host su quella rete. Queste reti private hanno già percorsi espliciti con metriche inferiori.
Ho provato questo su alcune macchine (Server 2008 R2, Windows 7, Hyper-V Server 2012 R2, Windows Server 2012) e si comportano tutti allo stesso modo. Sto iniziando ad accettare che si tratta di un "comportamento normale" per i computer Windows, ma sono curioso di sapere se può essere interrotto.
Ho creato una macchina virtuale Ubuntu con la stessa configurazione delle mie macchine virtuali Windows: la macchina virtuale Ubuntu non ritorna alla route predefinita come fanno le macchine virtuali Windows. Ho aggiunto le tabelle di routing e i risultati per la macchina virtuale Ubuntu e Windows 8.1 nella parte inferiore di questo post.
MAGGIORI DETTAGLI
Ho fatto ricerche approfondite su questo argomento e la domanda più vicina che ho visto è qui: Ciclo di routing: TTL scaduto in transito , ma sfortunatamente non risponde a come fermare il problema o alterare il comportamento sul computer. La risposta suggerisce di correggere il routing. Posso cambiare il mio router per eliminare tutto ciò che è destinato agli indirizzi IP privati (o inoltrarlo agli IP dei miei coinquilini, hehehe), ma ciò non cambierà il comportamento del mio computer. (Ho anche letto la grande guida alla sottorete che era di riferimento nella risposta originale, che può essere trovata su /server/49765/how-does-ipv4-subnetting-work )
Ho problemi a capire perché i miei computer tenteranno di connettersi a indirizzi IP privati su Internet una volta che hanno provato a utilizzare gli adattatori interni (per un breve periodo), quindi non sono riusciti, ad esempio nel tentativo di eseguire il ping di un host che conosco non esiste sulla mia rete ...
Pinging 172.16.200.32 with 32 bytes of data:
Reply from 172.16.200.1: Destination host unreachable.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.
Ping statistics for 172.16.200.32:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Ma il ping di un host che esiste funziona ...
Pinging 172.16.200.2 with 32 bytes of data:
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Ping statistics for 172.16.200.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
OK, quindi la risposta del 172.16.200.1 sta dicendo che il mio computer non ha ricevuto risposta ... ma poi, perché tenta persino di connettersi tramite la mia connessione Internet? Ho 4 schede di rete e sono sulla rete 172.16.200.0 / 24 su uno di questi ...
Ethernet adapter HyperV External (built in):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::582c:97
IPv4 Address. . . . . . . . . . . : 172.16.1.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Expansion-2 (middle) HomeNetwork:
Connection-specific DNS Suffix . : Home
IPv4 Address. . . . . . . . . . . : 192.168.0.117
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
Ethernet adapter Expansion-3 (bottom) iSCSI-1 :
Connection-specific DNS Suffix . :
IPv4 Address. . . . . . . . . . . : 172.16.100.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Expansion-1 (top) iSCSI-2:
Connection-specific DNS Suffix . :
IPv4 Address. . . . . . . . . . . : 172.16.200.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Quindi, a questo punto, avrebbe senso guardare la tabella di routing ...
===========================================================================
Interface List
16...64 70 02 00 1f 03 ......Gigabit PCI Express Network Adapter #2
15...64 70 02 00 40 48 ......Gigabit PCI Express Network Adapter
23...00 24 1d 1d f8 35 ......TST Onboard
17...64 70 02 00 32 c1 ......Gigabit PCI Express Network Adapter #3
1...........................Software Loopback Interface 1
28...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
26...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
27...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
29...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.117 410
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
172.16.1.0 255.255.255.0 On-link 172.16.1.1 266
172.16.1.1 255.255.255.255 On-link 172.16.1.1 261
172.16.1.255 255.255.255.255 On-link 172.16.1.1 261
172.16.100.0 255.255.255.0 On-link 172.16.100.1 266
172.16.100.1 255.255.255.255 On-link 172.16.100.1 266
172.16.100.255 255.255.255.255 On-link 172.16.100.1 266
172.16.200.0 255.255.255.0 On-link 172.16.200.1 266
172.16.200.1 255.255.255.255 On-link 172.16.200.1 266
172.16.200.255 255.255.255.255 On-link 172.16.200.1 266
192.168.0.0 255.255.255.0 On-link 192.168.0.117 266
192.168.0.117 255.255.255.255 On-link 192.168.0.117 266
192.168.0.255 255.255.255.255 On-link 192.168.0.117 266
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.0.117 266
224.0.0.0 240.0.0.0 On-link 172.16.100.1 266
224.0.0.0 240.0.0.0 On-link 172.16.200.1 266
224.0.0.0 240.0.0.0 On-link 172.16.1.1 261
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.0.117 266
255.255.255.255 255.255.255.255 On-link 172.16.100.1 266
255.255.255.255 255.255.255.255 On-link 172.16.200.1 266
255.255.255.255 255.255.255.255 On-link 172.16.1.1 261
===========================================================================
Persistent Routes:
None
Per prima cosa ho pensato che la metrica della rotta 0.0.0.0 fosse il colpevole - in origine era 6, quindi ho provato a cambiarla in 410 che non ha cambiato il comportamento. (A proposito, non ho mai fatto casini con la tabella di routing su questa macchina prima). L'ho quindi confrontato con una macchina Hyper-V 2012 R2 che ho su 3 delle stesse reti (172.16.1.0, 172.16.100.0 e 172.16.200.0) e ho notato che anche la macchina Hyper-V ha una metrica di 6 per 0,0 Percorso .0.0, quindi suppongo sia normale e corretto ...
Ho quindi provato a cambiare il 172.16.200.0 in modo che fosse un percorso persistente, come di seguito, ma ancora non ha funzionato.
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
172.16.200.0 255.255.255.0 172.16.1.1 1
===========================================================================
Ho anche cercato di aumentare la metrica (so che è più preferibile abbassare, ma solo in caso, eh?) ... certo, senza fortuna.
Nelle "Impostazioni avanzate" nella finestra Connessioni di rete, ho confermato che l'adattatore 192.168.0.117 è il più basso nell'ordine Schede e collegamenti ...
Quindi, dopo aver sbattuto la testa un po ', sono perplesso. Ovviamente l'eliminazione del percorso 0.0.0.0 lo interrompe, ma ovviamente bloccherà anche la mia Internet ...
Come mai posso impedire alla mia macchina di provare a passare attraverso il mio gateway predefinito 192.168.0.1 quando tenta di raggiungere un host il 172.16.200.0 ...
http://technet.microsoft.com/en-us/library/cc779122%28v=ws.10%29.aspx ("La tabella di routing IP: TCP / IP") sembra suggerire che "La route predefinita in genere inoltra un Datagramma IP (per il quale non esiste corrispondenza o percorso locale esplicito) a un indirizzo gateway predefinito per un router sulla sottorete locale. " Quanto più esplicito posso ottenere con quel percorso!
La risposta qui Gateway di route persistente di Windows non disponibile, pertanto la route predefinita utilizzata suggerisce che si tratta di un comportamento normale: quando viene aggiunta una route persistente, tenterà di utilizzare tale route, se possibile, ma ricadrà sulla route predefinita in caso di errore. Sicuramente ciò potrebbe presentare alcuni problemi di traffico piuttosto gravi, per non parlare dei problemi di sicurezza (informazioni private che fuoriescono da Internet, o almeno dalle reti private dei tuoi ISP ...)
Alcune informazioni aggiuntive: questo server esegue NPS / RRAS di solito - disabilitandolo e anche rimuoverlo non ha fatto nulla. Inoltre, ho creato una VM 2008 R2 nuova di zecca, le ho dato due schede di rete, una direttamente sulla rete 192.168.0.0 e l'altra sulla rete 172.16.200.0 e ha fatto la stessa cosa ... Spero che tu possa dire di aver speso un po 'di tempo su questo.
Ho impostato il mio router di casa per inoltrare tutte le cose 172.16.XX al mio computer, ma questa è una soluzione alternativa ...
C'è qualcosa che mi manca? Qualcosa di ovvio, forse? Sto chiedendo l'impossibile?
[AGGIORNAMENTO N. 1 E # 2]
Ho analizzato ogni bit di configurazione sul mio router e non sembra gestire alcuna richiesta ARP proxy - non ha nemmeno alcuna impostazione per quello che posso vedere.
Ho usato MS Network Monitor 3.4 per verificare se il router risponde alle richieste ARP e non lo sono. Riesco a vedere la richiesta ARP inviata quando provo a eseguire il ping di un host inesistente e non ricevo alcuna risposta ARP. Il ping di un host che esiste, mi dà naturalmente una risposta ARP. È sicuro supporre a questo punto che il mio router non stia gestendo le richieste proxy ARP?
La tabella di routing sul router era la seguente:
> route show
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.20.21.36 * 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 * 255.255.255.0 U 0 0 0 br0
default * 0.0.0.0 U 0 0 0 ppp0
Ho aggiunto queste voci di seguito come misura temporanea di stop-gap - impedisce ai miei poveri pacchetti "persi" di andare al mio ISP:
172.16.1.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0
172.16.100.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0
172.16.200.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0
[AGGIORNAMENTO # 3 - Aggiunte tabelle di routing per VM Ubuntu e Win8.1]
OK, quindi ho creato una nuovissima VM Ubuntu e una nuovissima VM Windows 8.1. La VM Ubuntu non tenta di tornare alla sua route 0.0.0.0, ma Windows 8.1 lo fa. Ho provato il vecchio ping-a-inesistente-host e ho guardato il traffico sul router 172.16.1.1. Riceve le richieste ICMP dalla VM di Windows 8.1 e le trasmette, ma non vede mai alcun traffico ICMP dalla VM di Ubuntu.
La tabella di Ubuntu VM è di seguito:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
0.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0 0 0 0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 0 0 0
172.16.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 0 0 0
172.16.200.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 0 0 0
La tabella di Windows 8.1 è di seguito:
===========================================================================
Interface List
9...00 15 5d 01 4c 1c ......Microsoft Hyper-V Network Adapter #2
3...00 15 5d 01 4c 08 ......Microsoft Hyper-V Network Adapter
1...........................Software Loopback Interface 1
4...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.16.1.1 172.16.1.101 5
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
172.16.1.0 255.255.255.0 On-link 172.16.1.101 261
172.16.1.101 255.255.255.255 On-link 172.16.1.101 261
172.16.1.255 255.255.255.255 On-link 172.16.1.101 261
172.16.200.0 255.255.255.0 On-link 172.16.200.1 261
172.16.200.1 255.255.255.255 On-link 172.16.200.1 261
172.16.200.255 255.255.255.255 On-link 172.16.200.1 261
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 172.16.1.101 261
224.0.0.0 240.0.0.0 On-link 172.16.200.1 261
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 172.16.1.101 261
255.255.255.255 255.255.255.255 On-link 172.16.200.1 261
===========================================================================
Persistent Routes:
None