由于嵌入式实验须要搭建开发环境,因而须要将虚拟机通过网线联接到开发板,同时由于更新的须要,也要将虚拟机联接至Internet,所以写了一下自己的解决方式
注:我的虚拟机为VMware,装的是Linux系统(Ubuntu)
目录
背景知识:虚拟机的几种联接模式
(此处引用了的内容)
VMware桥接模式
VMware桥接模式,是将虚拟机的虚拟网路适配器与主机的化学网路适配器进行交接,虚拟机中的虚拟网路适配器可通过主机中的化学网路适配器直接访问到外部网路。简而言之,这就似乎在上图所示的局域网中添加了一台新的、独立的计算机一样。为此,虚拟机也会占用局域网中的一个IP地址,但是可以和其他终端进行互相访问。桥接模式网路联接支持有线和无线主机网路适配器。假如你想把虚拟机当作一台完全独立的计算机看待,但是容许它和其他终端一样的进行网路通讯,这么桥接模式一般是虚拟机访问网路的最简单途径。
VMwareNAT模式
NAT,是NetworkAddressTranslation的简写,意即网路地址转换。NAT模式也是VMware创建虚拟机的默认网路联接模式。使用NAT模式网路联接时,VMware会在主机上构建单独的专用网路,用以在主机和虚拟机之间相互通信。虚拟机向外部网路发送的恳求数据"包裹",就会交由NAT网路适配器加上"特殊标记"并以主机的名义转发出去,外部网路返回的响应数据"包裹",也是先由主机接收,之后交由NAT网路适配器按照"特殊标记"进行辨识并转发给对应的虚拟机,因而,虚拟机在外部网路中毋须具有自己的IP地址。从外部网路来看,虚拟机和主机在共享一个IP地址linux操作系统版本,默认情况下,外部网路终端也难以访问到虚拟机。
据悉,在一台主机上只容许有一个NAT模式的虚拟网路。为此,同一台主机上的多个采用NAT模式网路联接的虚拟机也是可以互相访问的。
默认情况下,外部网路难以访问到虚拟机linux虚拟网络设备,不过我们也可以通过自动更改NAT设置实现端口转发功能,将外部网路发送到主机指定端口的数据转发到指定的虚拟机上。例如,我们在虚拟机的80端口上"构建"了一个站点,只要我们设置端口转发LINUX社区,将主机88端口上的数据转发给虚拟机的80端口,就可以让外部网路通过主机的88端口访问到虚拟机80端口上的站点。
VMware仅主机模式
仅主机模式,是一种比NAT模式愈发封闭的的网路联接模式,它将创建完全包含在主机中的专用网路。仅主机模式的虚拟网路适配器仅对主机可见,并在虚拟机和主机系统之间提供网路联接。相对于NAT模式而言,仅主机模式不具备NAT功能,因而在默认情况下linux虚拟网络设备,使用仅主机模式网路联接的虚拟机未能联接到Internet(在主机上安装合适的路由或代理软件,或则在Windows系统的主机上使用Internet联接共享功能,依然可以让虚拟机联接到Internet或其他网路)。
在同一台主机上可以创建多个仅主机模式的虚拟网路,假如多个虚拟机处于同一个仅主机模式网路中,这么它们之间是可以相互通信的;假如它们处于不同的仅主机模式网路,则默认情况下难以进行相互通信(可通过在它们之间设置路由器来实现相互通信)。
1.配置虚拟机的虚拟网路
虚拟机默认的VMnet0是桥接模式、VMnet8是NAT模式,下边对VMnet0(假如其他虚拟机有用到VMnet0,可以添加网路VMnet2、VMnet3、........只需把下边所有操作的VMnet0换成对应的网路即可)和VMnet8进行设置:
选择编辑->虚拟网路编辑器
点击修改设置,授予管理员权限:
将VMnet0设置为桥接模式,而且选择桥接到有线网卡(设备不一样,此处的有线网卡名称也不一样,只要确定是笔记本上的有线网卡即可)
将VMnet8设为NAT模式
2.配置虚拟机设备:
在虚拟机->设置
首先将网路适配器设置为NAT模式
点击“添加”
选择“网络适配器”
将新添加的网路适配器的网路联接设置为VMnet0
3.打开虚拟机,更改Linux的网路配置:
编辑网路设置文件,可以在Linux终端输入:
$ sudo gedit /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0 #我感觉eth0这么写不太严谨,但是不知道怎么修改,但是这个样子成功了
auto eth1 #根据具体要求设置
iface eth1 inet static
address 192.168.100.192
netmask 255.255.255.0
gateway 192.168.100.192
network 192.168.100.0
broadcast 192.168.100.255
dns-nameservers 192.168.100.192
重启网路服务,在终端输入:
sudo service network-manager restart