È possibile eseguire il ping solo in un modo tramite un router VM


0

tl; dr

Ho due reti locali (una LAN interna VirtualBox) e una VM Win2K che funge da router tra di loro. Posso eseguire il ping degli host da una rete all'altra, ma non viceversa.

Sommario

Sto eseguendo VirtualBox 4.3.6, con un gruppo di VM su un interno Rete ( 10.0.42.x ). Tutte le macchine virtuali sono Windows 2000 Server SP4 (non è la mia prima scelta, ma uno fa con ciò che si ha). Il mio laptop è in esecuzione Windows 7 Home Premium. Sto provando a configurare uno dei server per il routing tra la rete interna di VirtualBox e la LAN fisica ( 192.168.1.x ) a cui mi riferirò come il esterno rete ai fini di questa domanda. Il router ha una seconda scheda di rete a ponte (quindi appare come se fosse sulla LAN esterna).

Prima che qualcuno chieda, come fanno inevitabilmente, questo è un esercizio di apprendimento.

Attualmente

  • Il router VM può eseguire il ping di qualsiasi destinazione in entrambe le reti.
  • Il mio laptop può eseguire il ping di qualsiasi ospite nella rete virtuale. Ho dovuto aggiungere manualmente un percorso per realizzare questo: route add 10.0.42.0 MASK 255.255.255.0 192.168.1.42. Il router sembra funzionare correttamente per il traffico che va da in la rete interna.
  • Gli ospiti possono eseguire il ping di qualsiasi destinazione nella rete interna, nonché dell'interfaccia esterna del router. Tuttavia, non possono raggiungere alcun host nella rete esterna, ad esempio il mio laptop o il router DSL (nessuno dei quali blocca le richieste di ping).

Le richieste ping falliscono con Request timed out. UN tracert rendimenti:

Tracing route to 192.168.1.69 over a maximum of 30 hops

  1   <10 ms   <10 ms   <10 ms  10.0.42.1
  2     *        *        *     Request timed out.
  3     *        *        *     Request timed out.
  ...

Dove 192.168.1.69 è il mio laptop e 10.0.42.1 è l'indirizzo dell'interfaccia esterna del router. Questo mi suggerisce qualcosa di sbagliato con la configurazione del router, ma tutto ciò che ho fatto è configurare RRAS per il routing LAN e lasciato a quello, e non mi impedisce di eseguire il ping in la rete interna.

Cosa io pensare Posso escludere

  • Firewall (ogni host coinvolto risponde a ping da da qualche parte ).
  • Errori di battitura (ho copiato ampiamente fino al punto di paranoia per evitare errori).

Quello che ho provato

  • Rimozione e amp; riconfigurazione di RRAS.
  • Aggiunto un percorso predefinito per gli ospiti ( route add 192.168.1.0 MASK 255.255.255.0 10.0.42.1 ).
  • Aggiunto il gateway predefinito alle NIC del router (non pensavo che sarebbe stato d'aiuto, e non lo fece).

specifiche

Maggiori dettagli su richiesta; questa domanda è probabilmente abbastanza lunga così com'è.

Il computer portatile
IP 192.168.1.69/24
Default Gateway (router DSL)

Router
IP 192.168.1.42/24
IP 10.0.42.1/24

ospite
IP 10.0.42.128/24
Gateway predefinito 10.0.42.1

Tabelle di percorso

Ho incluso le tabelle di routing per l'ospite che non può eseguire il ping fuori dalla propria rete (questo è in realtà un ospite diverso ( 10.0.42.254 ), ma come tutti gli ospiti oltre al router, ha lo stesso problema):

Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0        10.0.42.1     10.0.42.254       1
        10.0.42.0    255.255.255.0      10.0.42.254     10.0.42.254       1
      10.0.42.254  255.255.255.255        127.0.0.1       127.0.0.1       1
   10.255.255.255  255.255.255.255      10.0.42.254     10.0.42.254       1
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0        10.0.42.1     10.0.42.254       1
        224.0.0.0        224.0.0.0      10.0.42.254     10.0.42.254       1
  255.255.255.255  255.255.255.255      10.0.42.254     10.0.42.254       1
Default Gateway:         10.0.42.1

Hai un acceleratore WAN?
Colyn1337

No, cerco di mantenere le cose piuttosto semplici.
Quick Joe Smith

Risposte:


0

Quando un host esegue il ping con un altro:

Un ICMP Echo Request il pacchetto viene assemblato dal mittente, le tabelle del percorso vengono consultate, viene selezionata un'interfaccia e il pacchetto viene inviato ai livelli OSI inferiori all'host di destinazione.

L'host di destinazione riceve un ICMP Echo Request indirizzato a se stesso, prende nota dell'indirizzo IP del richiedente e formula un ICMP Echo Reply, consulta le sue tabelle del percorso, seleziona un'interfaccia e invia il Reply di nuovo al richiedente.

Il richiedente riceve il ICMP Echo Reply, prende nota del tempo impiegato per completare il ciclo send-receive e lo registra all'utente.

A questo punto, un pacchetto è passato da A a B e un altro è passato da B a A, con successo.

Ciò conferma che A può arrivare a B, e B può arrivare a A.

Questo dovrebbe essere la fine di esso, ma per qualche ragione, B non può inviare un Echo Request A, o A non può inviare un Echo Reply essere.

Verificare quali indirizzi IP vengono utilizzati quando A esegue correttamente il ping di B e assicurarsi che siano ciò che viene utilizzato quando B tenta di eseguire il ping su A.

È un problema con il ping programma? I due sistemi possono raggiungere l'altro via TCP? (telnet B 25 Una connessione rifiutata è prevista, un blocco significa che i dati si perdono durante il percorso.


telnet sull'ospite risponde con Connecting To 192.168.1.69...Could not open a connection to host on port 25 : Connect failed
Quick Joe Smith

Subito, o dopo averlo appeso per diversi secondi?
Nevin Williams

Dopo diversi secondi.
Quick Joe Smith
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.