Bridged vs. NAT: un confronto Virtualbox e VMWare


6

Ho installato VMWare Workstation 7.1.xe Virtualbox 4.0.8 su due host diversi, quindi ho potuto confrontare.

Ho impostato la scheda di rete virtuale su entrambi su NAT, che ha avuto successo per entrambi. Il risultato:

Indirizzo Virtualbox: 10.10.2.13 Indirizzo VMWare: 192.168.0.20

Era previsto l'IP assegnato al guest VMWare. Ma sono rimasto sorpreso dall'indirizzo IP assegnato alla virtualbox. Queste macchine si trovano sulla mia rete domestica, che ha solo indirizzi NAT (192.168.xx), quindi quando ho visto il 10.10.2.x - sono rimasto un po 'stupito.

Quindi ho cambiato entrambe le macchine virtuali per utilizzare il collegamento in rete. Il guest VMWare ha continuato a utilizzare un indirizzo NAT, ma anche Virtualbox ha iniziato a utilizzare un indirizzo NAT.

In breve, suppongo che il comportamento dell'ospite VMWare sia quello che mi aspettavo. Il comportamento di Virtualbox era strano per me. Semmai, mi sarei aspettato che il Virtualbox avesse fatto il contrario (utilizzare un indirizzo NAT per un adattatore LAN NAT e un indirizzo non NAT per la routine con bridge). Non fraintendetemi, sono stato sorpreso di vedere l'indirizzo non NAT con Virtuabox - in qualsiasi configurazione.

Qualcuno può spiegarmi perché ho ottenuto i risultati che ho ottenuto? E come / perché l'indirizzo IP 10.10.2.x "funzionava" sulla mia rete domestica?

Tieni presente che entrambi i guest VM hanno sempre avuto reti di successo.

Risposte:


5

Tutto questo mi sembra normale.

Qualsiasi cosa sotto 10.0.0.0/8 (e anche 172.16.0.0/12) sono indirizzi NAT perfettamente normali. Quando si mettono le VM in modalità NAT, il software agisce essenzialmente come proprio server dhcp per le macchine guest e esegue traduzioni nella rete host, in modo che tutti gli ospiti su un determinato host condividano un IP con l'host. Qualsiasi cosa in una di queste gamme è un gioco equo per NAT. Sembra che VMWare utilizzi un intervallo 192.168.0.0/24 per impostazione predefinita e VirtualBox utilizzi un intervallo 10.0.0.0. Entrambi vanno bene, e nessuno dei due è migliore dell'altro (anche se personalmente preferisco gli intervalli 10.0.0.0 perché ci sono 255 volte più indirizzi disponibili).

Sembra che forse ti aspettavi che la modalità NAT utilizzi il NAT tra la tua rete host e Internet, ma questo non succede. In effetti, questo è ciò che fa la modalità bridge. Passare alla modalità bridge significa che i guest VM sono ora connessi direttamente al server dhcp del router di casa per gli indirizzi. VirtualBox e VMWare ora riceveranno entrambi gli indirizzi dallo stesso posto. Anche VMware sarà cambiato, è solo che la vecchia modalità e la nuova modalità stavano assegnando indirizzi da pool simili.


Sono le 172.16.0.0/16 :-). Anche perché gli indirizzi 10.0.0.0 perché "ci sono più indirizzi disponibili"? Pensi che raggiungerai mai l'importo?
sinni800,

3
@sinni - no, è 172.16.0.0/12, poiché 172.31.255.255 segna la fine dell'intervallo. / 16 terminerebbe con 172.16.255.255. E lavoro su una rete più ampia in cui è conveniente assegnare pool per determinate classi, quindi tutte le stampanti sono in 10.x.15.0, per esempio. Tutti i client in un reparto sono 10.2.0.0, un altro 10.3.0.0. Le stampanti del primo dipartimento sono 10.2.15.0-10.2.15.255, quelle del 2 ° dipartimento sono 10.3.15.0. al 10.3.15.255. Non userò mai tutti gli indirizzi, ma è bello avere più blocchi da assegnare.
Joel Coehoorn,

è 172.16.0.0/16 perché da 16 a 32 sono normalmente tutte le loro sottoreti. Quindi ci sono 16 reti in totale in questo intervallo ... So cosa intendi, ma ci ho pensato un po 'diversamente quando l'hai detto per la prima volta. Subnetting più di una volta ha senso :)
sinni800

L'intero intervallo è 172.16.0.0/12, ma è normalmente considerato un blocco 16 / 16s (172.16.0.0/16, 172.17.0.0/16, ..., 172.31.0.0/16) anziché uno / 12 allo stesso modo 192.168.0.0/16 è generalmente considerato 256/24 e non uno / 16.
David Spillett,

3

L'intervallo 10.xxx è ufficialmente non allocato e destinato all'uso interno esattamente come 192.168.xx, quindi l'utilizzo di indirizzi da questo intervallo non è più strano dell'uso di una sottorete di 192.168.xx (non è così comune - la maggior parte dei dispositivi consumer che utilizza NAT e / o DHCP per impostazione predefinita su a / 24 entro 192.168.0.0/16).

172.16-32.xx sono riservati anche per l'indirizzamento privato, ma sono ancora meno comunemente usati.

L'intervallo 10.10.2.x è visibile solo su virtualbox e le macchine virtuali in esecuzione con una scheda di rete NATed. per le connessioni in uscita, questo viene tradotto, tramite NAT, all'indirizzo utilizzato dalla scheda NIC della macchina host VMWare e le risposte vengono tradotte di nuovo - questo non è diverso da ciò che VMWare sta facendo con un intervallo 192.168.something.0 / 24.


"L'intervallo 10.10.2.x è visibile solo su virtualbox e le macchine virtuali in esecuzione con una scheda di rete NATed." dimmi se ho capito male, ma se ogni VM si trova in quella rete virtuale, potrebbero connettersi tra loro, cosa impossibile in modalità NAT. Ciò è possibile in modalità "Rete host".
sinni800,

IIRC in VMWare in modalità NAT, le VM che utilizzano la stessa interfaccia possono vedersi. In modalità solo host una VM vedrà l'host solo direttamente anche se l'host potrebbe ancora eseguire il routing / NAT in modo che la VM possa accedere a tutto ciò che l'host gli consente (per impostazione predefinita è solo in grado di vedere l'host e nient'altro). Dalla tua descrizione sembra che VB usi "rete NAT" per indicare qualcosa di simile a ciò che VMWare chiama "solo host". In genere utilizzo comunque il bridge per tutto nei miei ambienti, quindi potrei non ricordare con precisione. In entrambi i casi, 10.xxx è valido come 192.168.xx
David Spillett,

0

Qual è un indirizzo "non NAT" nella tua definizione? Intendi indirizzi di "rete locale". Penso che tu stia sbagliando qualcosa qui.

Se si sceglie "NAT" nel riquadro delle impostazioni della soluzione di virtualizzazione, non importa quale tipo di IP fornisce alla fine l'ospite, grazie a NAT. In questo caso si comporta come un gateway (router), nascondendo l'ospite dalla rete esterna ma ottenendo comunque l'accesso a Internet.

NAT esiste perché l'indirizzo di rete locale 192.168.0.20 potrebbe esistere un milione di volte in tutto il mondo. Quindi quelle milioni di volte non interferiscono l'una con l'altra, ma traduce (da qui il termine "traduzione dell'indirizzo di rete") quegli indirizzi "locali" nell'IP Internet che il tuo router riceve dal tuo ISP.

L'articolo di Wikipedia lo descrive meglio di quanto io possa fare.

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.