Muitos programas de máquinas virtuais vêm com um driver "de ponte" ou "filtro" especial que se conecta a interfaces de rede existentes e permite que o programa envie e receba pacotes (quadros Ethernet) diretamente. Para o VirtualBox no Linux, isso é feito pelo módulo do kernel vboxnetflt
quando você escolhe "Rede em ponte" nas configurações do VBox. Com este modo, o convidado estará na mesma rede IP que o host.
Outra função igualmente comum é NAT - isso funciona em um nível mais alto e sem nenhum driver. Sempre que o convidado tenta iniciar um handshake TCP, o VirtualBox simplesmente abre uma conexão TCP como se fosse um programa comum. (Semelhante ao UDP e a um determinado nível ICMP.) O VirtualBox até responde às solicitações DHCP do convidado.
O VirtualBox tem suas próprias interfaces de rede virtual, como o VMWare - elas podem ser criadas no modo "somente em rede do host" e geralmente são denominadas vbox*
. Novamente, isso precisa de um driver de kernel, vboxnetadp
no Linux.