对于很多初学Linux 的同学,大多选择使用虚拟机来展开学习。可以方便的做实验,修改、测试,不必害怕出问题,可以随便折腾!大不了换一个虚拟机,原来的系统不受任何影响。但由于不是实体pc机,使用难免受限。如果配置不好,后期开发必受其累!
比如,在很多程序中都要使用到数据库!MySQL、Redis。与他们建立连接,尤其是远程,必须要指明IP和端口。怎样配置虚拟机可以让windows 和 Linux 互联,方便访问外网而又不会频繁变化呢?
准备阶段
这篇短文讲解的是Vmware虚拟机中,Ubuntu操作系统,图形化网络环境的配置。文中所使用的Vmware版本为15.1.0。Ubuntu系统版本为18.04。
首先,在开始配置前,需要提前做好一个准备,并掌握一块预备知识。
l 准备:确保Ubuntu系统中已经成功安装ssh。可以使用 aptitude 命令来查看。
l 预备知识:成功安装Vmware虚拟机后,我们的pc中可以找到两块网卡。 物理网卡 和 虚拟网卡VMnet8。 物理网卡,连接WLAN。 虚拟网卡VMnet8,连接内部LAN。确保他们都是启用状态。如果未启用,在下图所示图标中,鼠标右键,选择“启用”即可。
桥接模式
桥接模式的配置,最为简单!借助路由器或者交换机自动分配IP,来达成windows、Linux互相访问。
第一步,打开Vmware虚拟机的配置页面。选择桥接模式。
第二步 点击Ubuntu系统中,“网络”图标,选择“有线设置”, 点击弹出页面的“+”号,添加一条有线连接。
第三步,设置新添加有线连接的名称,做到见名知意即可。而后IPv4中使用其默认属性即可。确认无误点击“添加”按钮。
第四步,选择使用,新配置的连接。能在页面中看到新配置对应生成的Linux IP地址。
或者,也可以在Linux系统的终端中,键入“ifconfig”命令查看。
使用“ipconfig”命令在 windows终端下,查看 windows 系统的IP地址:
测试。两个系统使用对端的IP地址,相互 ping。因为使用的桥接模式,可以理解为,你的虚拟机,蒙骗路由器,让路由器认为你的虚拟机是一台实体机,并给它分配一个独立的IP地址。
测试通过后,windows 和 Linux两个系统就可以借助路由器,相互访问了!并且如果路由能连接到外部网络,那么两个系统都可以自由独立的范围万维网。
但,这种连接方式有一定的问题!
1. Linux设置了自动获取IP,当网络环境变化,或者有其他PC 加入网络环境,特定条件满足时,这个IP地址有可能发生变化。那么,我们书写的程序中,所有与IP相关的网络设置都需要修改,重新配置。
2. 如果网络环境设置拨号连接权限设定!如:传智博客的授课课堂!那么就需要两个不同的网络连接账号,才能保证windows-Linux两个环境正常启用网络进行通信。
我们换另外一种NAT的配置方式,可以很好的解决这一问题!
NAT模式
利用Vmware虚拟机给我们提供的“虚拟网络编辑器”,使用NAT模式,可以解决上面的问题,配置稍稍复杂,但使用起来十分便捷!可以支持windows-Linux 固定IP互联的同时,两个系统都能访问外部网络(当然,要保证家中的网络畅通喔)。我们一起来看看吧。
首先,将 Vmware虚拟机的配置页面改为“NAT模式”。
接下来,需要修改 “虚拟网络编辑器”了。选择,并打开。
修改 “NAT设置”,根据自己的喜好,添加一条设置。如图:这里添加了 “192.168.6.2”作为网关的一条NAT设置。
回Linux 系统中,点击“网络”图标,选择“有线设置”, 点击弹出页面的“+”号,再重新添加一条有线连接,这次我们手动设置Linux IP地址:
先给我们新配置的连接,起一个容易识别的名字。叫什么无所谓,主要能方便找到, 一目了然。
接下来,由“自动”改为“手动”,填写自定义IP地址。注意,这里的IP地址必须在前面“NAT设置”中的网段内!并且,按之前指定的网关填写。同时设定DNS服务。都指定好了,点击右上角“添加”。
接下来,在图标中指定使用我们刚刚新建的连接。同时再确认一遍IP地址、路由、DNS信息是否正确。
确认无误,开始测试网络是否通畅。可以拿Google 的 NDS先来试试。能ping 通,那么说明访问外网没有问题了。可以访问windows吗?
注意,这里我们需要再次在windows的终端,键入“ipconfig”命令,查看得到windows中VMnet8 对应的 IP地址。Linux 与windows 互相通信,需要使用这个IP。
Windows下的这个IP是自动分配的。由于我们指定了 “192.168.6.2”为网关。则“192.168.6.1”自动被指定为可用IP。尝试,是可以ping通的。
还可以再试试Linux 的外网。比如百度、淘宝、京东等!此时我们的Linux 是借助Windows 的网络来访问外部网络,所以,只要Windows 网络通畅,Linux系统就可以自由上网,并且能与Windows直接通信了。
这样配置后,由于我们使用的是手动IP地址,除非网络环境发生重大变故,否则IP不会变化。所有程序中使用IP地址相关的代码,不用在测试时频频修改,学习使用起来方便很多!