Bij het maken van een virtuele machine (VM), heb je veel opties met betrekking tot netwerken. U kunt uw VM zo instellen dat hij gewoon als een andere computer in uw netwerk fungeert, deze achter een interne router en firewall beveiligen of zelfs een volledig aangepast real-world netwerk simuleren.
Deze handleiding behandelt specifiek de netwerkopties in VirtualBox, maar dezelfde concepten zijn ook van toepassing op andere virtualisatieprogramma's.
Netwerkadresvertaling (NAT)
Dit netwerktype is de standaard voor nieuwe VirtualBox-instanties en is vrij eenvoudig te begrijpen. Het stelt het gast-besturingssysteem eenvoudig in staat om toegang te krijgen tot internet, op dezelfde manier als uw computer er toegang toe heeft achter uw thuisrouter.
Uw computer kan bijvoorbeeld het IP-adres
192.168.1.5
op uw thuisnetwerk hebben. Uw router krijgt een IP toegewezen door uw ISP, zoals
73.45.123.123 Wanneer u verbinding maakt met een externe service, verta alt uw router uw interne IP-adres naar het openbare externe IP-adres dat u gebruikt om mee te communiceren. (Technisch gezien gebruikt het een extensie van NAT, genaamd Port Address Translation, maar het concept is hetzelfde.)

In zekere zin is dit precies hetzelfde als het plaatsen van uw VM's achter een extra router. Pakketten die vanaf de VM's worden verzonden, ondergaan twee vertalingen: eerst om het privé-IP-adres van de VM te vertalen naar het privé-IP-adres van de host en vervolgens om het privé-adres van de hosts te vertalen naar het openbare adres van uw gateway. Uiteindelijk maakt dit internetconnectiviteit voor de virtuele machine mogelijk. Voor zover de VM weet, is het precies hetzelfde als een apparaat in een thuisnetwerk.
NAT-modus geeft de host (of een andere lokale machine) geen toegang tot services die op een VM draaien, net zoals een service die op je lokale netwerk draait niet publiekelijk toegankelijk is vanaf het open internet. Als u wilt dat een toepassing toegankelijk is, moet u de poorten waarop deze draait doorsturen en ze binden aan de lokale poorten van de host. Dit is zowel een goede als een slechte zaak: aan de ene kant is het veel veiliger op deze manier, omdat zelfs lokale apparaten geen toegang hebben tot de VM-services, maar het handmatig openen van poorten is misschien niet wat je wilt. Als dit een probleem lijkt, is de overbrugde modus een mogelijke oplossing. Je kunt gastdiensten ook blootstellen aan het open internet door je router een poort door te sturen om een poort door te sturen naar de hostmachine, die de verbinding verder naar de gast zal doorsturen.
Hoewel alle andere communicatierichtingen mogelijk zijn, geeft de NAT-modus geen gast-naar-host-toegang.
Je moet NAT kiezen als je basis internettoegang nodig hebt, maar toch de VM gescheiden wilt houden van andere machines in je netwerk.
NAT-netwerk
In NAT-modus is de interne router geconfigureerd voor elke virtuele machine. Eén VM heeft geen toegang tot services die op een andere virtuele machine worden uitgevoerd. In feite kan elke machine exact hetzelfde privé IP-adres hebben, omdat het uiteindelijk allemaal wordt vertaald.
NAT De netwerkmodus volgt hetzelfde principe van NAT, maar in plaats van elke VM logisch in zijn eigen netwerk te scheiden, gebruikt NAT Network één netwerk voor alle VM's die op hetzelfde NAT-netwerk zijn geconfigureerd (hoewel niets u ervan weerhoudt om meerdere afzonderlijke netwerken).
Dit maakt gast-naar-gast-toegang mogelijk via een virtuele switch, net zoals een computer die is aangesloten op de eerste ethernet-aansluiting van uw router, toegang kan krijgen tot een machine die is aangesloten op de tweede aansluiting. Anders werkt deze modus precies hetzelfde als NAT; host-to-guest-toegang kan alleen worden bereikt via port forwarding (hoewel u deze keer moet kiezen naar welke VM u wilt doorsturen).

Het enige grote verschil is dat, omdat er meerdere VM's in één netwerk zijn, elke VM een ander adres moet hebben. Dit vereist dat de host een DHCP-server uitvoert (nogmaals, net zoals je zou vinden in je thuisrouter), die dynamisch interne IP-adressen toewijst aan elke VM in het netwerk. Dit kan desgewenst worden uitgeschakeld en handmatig worden geconfigureerd.
Je moet NAT-netwerk kiezen boven basis-NAT als je gast-naar-gast toegang nodig hebt.
Overbrugd
Bridged-modus is uniek onder de netwerkmodi, omdat het de enige modus is die de virtuele machines op geen enkele manier isoleert. In de bridged-modus communiceert uw VM rechtstreeks met externe services via de netwerkinterface van de host.
Dit betekent dat VM's voor uw router verschijnen als een volledig afzonderlijk IP-adres, hoewel ze naar dezelfde machine worden gerouteerd. Hierdoor kunt u services hosten op de VM's en toegang krijgen tot uw lokale netwerk met behulp van een adres en poortnummer, wat bridged netwerken zeer flexibel maakt.
Deze netwerkmodus wordt gebruikt door veel VPS-providers, zoals AWS, omdat het hen in staat stelt een grote krachtige server op te delen in meerdere kleinere servers die aan klanten kunnen worden verkocht. Elke machine heeft zijn eigen unieke IP-adres op het netwerk. Voor services zoals AWS zijn er echter veel extra beveiligingen en systemen ingesteld om te voorkomen dat u toegang krijgt tot de virtuele machines van andere klanten, en de orde van grootte is ingewikkelder dan dit.

Hoewel de host wordt gebruikt om de pakketten terug naar de server te routeren, interfereert deze op geen enkele manier met hen, waardoor het gast-besturingssysteem wordt weergegeven als gewoon een andere computer in uw netwerk. Omdat er echter niets de VM van het externe netwerk isoleert, is er geen andere inherente firewall of bescherming dan de firewall van uw gateway en eventuele firewalls die handmatig zijn geconfigureerd op het gast-besturingssysteem.
De meeste servers worden geleverd met veel ethernetpoorten en meerdere fysieke interfaces. Omdat de overbrugde modus eenvoudig een van deze fysieke interfaces overbrugt, kan deze worden gebruikt om virtuele machines op volledig afzonderlijke netwerken te laten draaien, afhankelijk van uw echte bekabeling.
Kies Bridged-netwerken als je volledige ongehinderde toegang wilt. Ook handig als je gewoon meerdere "virtuele" servers wilt draaien met dezelfde hardware, net zoals een VPS-provider dat zou doen.
Alleen host-adapter
In de Host-Only-modus hebben de virtuele machines geen toegang tot internet. Echter, host-naar-gast en gast-naar-host communicatie is nog steeds mogelijk, en is de belangrijkste reden om deze modus te gebruiken.

In deze modus wordt meestal een DHCP-server gebruikt om IP-adressen aan de gasten te geven, en communicatie tussen gasten is ook eenvoudig via het internetnetwerk.
Je moet de modus Alleen host kiezen als je veel bidirectionele communicatie tussen host en gast nodig hebt, maar geen internettoegang op de host wilt. Als u bidirectionele communicatie nodig hebt maar externe toegang nodig hebt, kunt u hetzelfde effect bereiken met de bridged-modus, die volledige toegang mogelijk maakt.
Intern (gesimuleerd) netwerk
Intern netwerk wordt gebruikt om echte netwerken te modelleren. Out of the box, het is volledig gescheiden van de buitenwereld; meerdere gasten die in hetzelfde netwerk zijn geïmplementeerd, hebben toegang tot elkaar, maar niet tot de host of internet, of omgekeerd. Dit is op zich handig omdat het netwerken kan simuleren die volledig losgekoppeld zijn van de wereld, maar het interne netwerk kan worden geconfigureerd om internettoegang te geven aan de privémachines.
Door een nieuwe virtuele machine te maken en deze als router te configureren (zoals met
iptables), kunt u alle andere machines in het virtuele netwerk vertellen dat ze de nieuwe router-VM moeten gebruiken als hun standaard gateway. Om daadwerkelijk toegang te krijgen tot externe netwerken, moet u een afzonderlijke netwerkinterface maken met behulp van een internet-verbonden modus (NAT, Bridged, enz.) En deze aan de router koppelen. Technisch gezien is het interne netwerk op zichzelf niet wat internettoegang geeft, maar VM1 en VM2 hebben in dit voorbeeld geen netwerkinterfaces die directe internettoegang mogelijk maken.

In zekere zin verschilt deze setup niet veel van de NAT-netwerkmodus, maar alles wordt handmatig afgehandeld.
Kies Intern netwerk als je een virtueel netwerk wilt simuleren of modelleren, of als je gewoon de flexibiliteit nodig hebt om alles zelf in te stellen. Intern netwerk is erg handig voor trainingsdoeleinden, omdat het iedereen in staat stelt zijn eigen netwerk te configureren zonder naar Radioshack te gaan om de hardware te kopen die ze nodig hebben.