环境
host os |
macOS majave |
vm |
oracle virtualbox |
vm os |
ubuntu 16.04 |
网络原理
NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,经过宿主机器所在的网络来访问公网。也就是说,使用NAT模式能够实如今虚拟系统里访问互联网。这种NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,系统的VM NAT Service服务就充当了路由器的做用。负责将虚拟机发到VMNet8的包进行地址转换后发到实际网络上,再将网络上的包进行地址转换后发还给VM。
实际场景:
vm和vm: 各自独立,不能相互访问
vm和host: 虚拟机能够访问宿主机,反之不行
vm能够直接访问internet, 但反之不行
Bridge Adapter(网桥模式)
虚拟机经过宿主机的物理网卡架设一个网桥,vm经过网桥进入到局域网,在局域网中拥有本身的独立IP,其全部网络功能都与真实网段中的物理机同样。它能够访问网内的任何一台机器,若是用自动的DHCP方式,则会自动分配IP地址和宿主机处于同一个网段。使用桥接模式的虚拟机和宿主机的关系,就像连在同一个hub上的两台电脑。
实际场景:
vm和vm: 能够相互访问,vm拥有独立IP, 且处于同一网段中
vm和host: 能够相互访问,vm拥有独立IP, 且处于同一网段中
vm没法访问internet
Host-only Adapter,仅主机模式
这种方式下,虚拟机的网卡链接到宿主的 VMnet1 上,但系统并不为虚拟机提供任何路由服务,所以虚拟机只能和宿主机进行通讯,而不能链接到实际网络上。在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,全部的虚拟系统是能够相互通讯的,但虚拟系统和真实的网络是被隔离开的。 ubuntu
提示:在host-only模式下,虚拟系统和宿主机器系统是能够相互通讯的,至关于这两台机器经过双绞线互连。在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。若是你想利用VirtualBox建立一个与网内其余机器相隔离的虚拟系统,进行某些特殊的网络调试工做,能够选择host-only模式。服务器

实际场景:
vm和vm: 能够相互访问,且处于同一网段中
vm和host: 默认不能相互访问,由于被虚拟机模拟出来的网卡和宿主机处于不一样网段,但能够经过设置静态IP来实现互访
vm没法访问internet
NAT+Bridge
登陆虚拟机使用ifconfig命令能够看到两张网卡的信息,用以实现局域网内的互联和Internet的访问。网络
能够指定enp0s8的静态IP。oracle
ubuntu的指定方式为:spa
sudo vi /etc/network/interfaces调试
sudo service networking restartrest

