虚拟机或docker容器上网有2种方式:桥接和NAT
(1)桥接的基本原理
配置成桥接网络连接模式的虚拟机可以当作主机所在以太网的一台独立主机,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑,可以像主机一样访问以太网中的所有共享资源和网络连接,可以直接共享主机网络的互联网接入线路访问互联网,互联网也可以独立的访问该虚拟机。各虚拟机通过默认的VMnet0虚拟网卡与主机以太网连接,虚拟机间的虚拟网络为VMnet0。虚拟主机只需要配置与实体机同网段ip,相同的子网掩码,DNS和网关。需要做的事(设置虚拟机VMnet0网桥桥接到物理网卡->设置虚拟机网卡桥接到网桥->配置虚拟机ip地址,DNS和网关->可能需要开启本地主机的本地连接的VMware Bridge Protocal)
设置一个虚拟机可以配置多个虚拟网卡从而获得多个ip地址,只需要需改/etc/network/interfaces文件添加eth0的虚拟子网即可:
auto eth0
iface eth0 inet static
address 10.66.47.8
netmask 255.255.0.0
gateway 10.66.255.254
dns-nameservers 192.168.1.1
auto eth0:1
iface eth0:1 inet static
address 10.66.47.7
netmask 255.255.0.0
gateway 10.66.255.254
dns-nameservers 192.168.1.1
auto eth0:2
iface eth0:2 inet static
address 10.66.47.6
netmask 255.255.0.0
gateway 10.66.255.254
dns-nameservers 192.168.1.1
(2)NAT方式
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网,但是互联网不能访问虚拟机。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。