大家好,欢迎来到IT知识分享网。
虚拟机网络模式
- 主机必须连接到某个网络中,主机和虚拟机才能互通。
- 更换网络后,主机和虚拟机的IP地址均会发生变化,因此远程访问工具中的IP需要同步进行修改。
为解决上述痛点,我们需要调整虚拟机的网络模式和配置静态IP。
1 主机网络环境
下面为大家介绍路由器中的两个十分重要的角色。
- DHCP
全称Dynamic Host Configuration Protocol ,动态主机配置协议,该协议用于给联网的设备自动分配(私网)IP地址和其他网络配置。家用路由器中一般就会集成DHCP服务,因此设备只要连接上路由器,便能自动获取IP地址等网络配置。
- NAT
全称Network Address Translation,网络地址转换,该技术主要用于缓解IPv4地址短缺,有了NAT之后,可以令多个网络设备共享一个公网IP地址,家庭路由器中也都集成了该服务。
2 VMware中的三种虚拟网络模式
2.1 桥接模式
这个桥接模式我们也一再提到,我们之前说,那它模拟出来的效果就是让虚拟机直接接入到这个主机所在的网络当中。或者说的直白一点,就是让虚拟机直接接入这个主机所在的路由器当中。没错,但实际上这个说法离真相还是有一点距离的。
这种模式下,VMware虚拟出了一个交换机。首先,该虚拟交换机通过主机的物理网卡连接到主机所在的网络中, 然后所有的虚拟机都通过虚拟交换机接入到主机所在网络中。 所以在该模式下,虚拟机和主机位于同一网络中,因此在主机接入网络的前提下,虚拟机和物理机是可以互通的。
好,我们可以看一下这张图,那这个桥接模式下VMware到底做了什么呢?实际上是这样的,VMware它虚拟出了一个交换机。交换机的概念大家还记得吧?那我们前面给大家简单介绍过一下,我们说这个交换机可以用来扩展路由器的LAN口。
好了,那这就是VMware当中的这个桥接模式真正的一个原理图。
2.2 NAT模式
这种模式下,VMware虚拟出了一个交换机,一个DHCP服务以及一个NAT服务,相当于构成了一个虚拟路由器。 虚拟路由器通过主机的物理网卡连接到主机所在的网络,虚拟机则全部连接到虚拟路由器上,组成了一个子网。 此时所有的虚拟机位于同一网络,因此彼此之间可以互通,但是主机不能与虚拟机互通。 为使主机能够和虚拟机互通,VMware又在主机中虚拟出了一个网卡,并连接到了这个虚拟路由器中,这时主机便可虚拟机互通了。
可以看到这个模式原理图看起来要复杂一些,对吧?那首先需要明确的一点,就是在这种模式下边, VMware它不仅虚拟出来了一个交换机,它还同时虚拟出来了一个 DHCP 服务以及一个 NAT 服务。
好,那显然他们并没有处在同一级的网络当中,对吧?那所以说在这种情况下,这个主机是没有办法和这个虚拟机去进行互通的。
好,那为了让这个主机和虚拟机进行互通, VMware又做了一件事。他做什么事了呢?好,他在这个主机上边又虚拟出来了一个网卡(图中物理机-03),然后通过这个虚拟网卡接入到了这个虚拟的路由器当中。好了,那这样一来的话,这个宿主机是不是也就位于这个虚拟路由器所创建出来的子网当中了呀?对不对?也就是他和这个虚拟机目前就位于同一级网络里边了,这个时候那他们之间就可以毫无障碍地进行互相通信了。
好,那这个虚拟网卡呢?其实我们也能够看得到。给大家去看一下。VMware虚拟出来的网卡如下:
那这个网卡实际上就会接入到我们刚所提到的这个虚拟的路由器当中。好,那也就是说我们目前这个主机在 NAT 模式下边,其实是处在两个网络当中的,一个是我们这个虚拟网络,还有一个是咱们这个真正的物理网络,这一点大家要理解一下。
在 NAT 模式下边,不管主机是否接入到某个网络当中,那我们的主机和虚拟机之间都可以进行相互通信,为什么呀?因为咱们看这个图就能看出来,对吧?如果物理机-03这块他没有接入到某个网络当中,好,但是我这个虚拟路由器是不是还在,对不对?那我的主机(图中物理机-03),我的虚拟机是不是都接入到了这个虚拟的路由器当中了呀?那他们是不是就位于同一网络当中?那所以说它们之间进行相互通信是没有任何问题的。
OK,只不过说如果你主机它不接入到这个网络当中,那我们的虚拟机它没有办法去访问互联网而已。好了,那这就是 NAT 模式下边的一个特点,大家要理解。
2.3 仅主机模式
这种模式,和NAT模式十分相似,唯一的区别是,虚拟路由器并未连接到主机所在的网络中, 因此主机和虚拟机之间可以互通,但是虚拟机不能访问互联网。
那至此VMware的三种网络模式就给大家介绍完毕了,那大家现在应该已经知道了他们各自的原理以及各自的特点了。好,那现在问大家一个问题,你说为了方便我们将来的学习或者是工作,对吧?那我们用哪种模式要更好一些呢?那实际上应该是不是 NAT 模式要更好一些,因为在 NAT 模式下边,不管主机是否联网,那我们的主机和虚拟机之间是不是都能够实现互通?那当然了,能实现这个效果的其实并不只有NAT,仅主机也行,对吧?仅主机,不管你主机是否联网,那主机和虚拟机是不是都位于这个虚拟网络当中,那所以说它们之间也都是能互通的。但是仅主机它有一个缺点。缺点就是你的虚拟机是没有办法去访问互联网的,对吧?没办法连接外网。
3 网络模式选择及配置NAT模式
为保证主机未联网的情况下,主机和虚拟机也能实现互通;同时保证主机联网的情况下虚拟机也能访问互联网,我们最好选择上述三种模式中的NAT模式,具体配置如下。
3.1 VMware虚拟网络配置
首先第一项就是我们得在VMware的虚拟网络编辑器里边去做一些相关的配置,在这儿我们其实主要就是配置这个虚拟出来的 DHCP服务,以及虚拟出来的 NAT服务。
- 点击VMware菜单栏中的
编辑,选择虚拟网络编辑器
2.打开虚拟网络编辑器后,赋予管理员权限
3.配置VMnet8子网
这种情况下我们的主机就不会加入到这个虚拟网络了。OK,那这样一来的话,那主机跟虚拟机之间就没有办法进行网络通信了。OK,进而我们就没有办法去使用这个 SSH 的客户端去远程访问咱们这个虚拟机了。能理解各位,OK,所以说这个咱们必须得给他勾选上。好,那我们再给他勾上之后再点击应用。好,那这个需要稍微的等一会,那等一会之后那左侧这个位置就会重新出现 VMNET8。
注意事项
NAT网关IP须位于VMnet8子网IP范围内。
3.2 虚拟机选择网络模式
- 修改虚拟机所使用的网络模式
- 选择NAT模式
3.3 Windows主机网络配置
上述配置中,VMware已将Windows主机连接到虚拟网络中了,此处只需查看Windows主机中的虚拟网络网卡配置是否正确即可。
- 打开网络适配器配置面板
Win+R打开运行窗口,输入ncpa.cpl,然后按回车键 - 查看VMnet8虚拟网络适配器
- 查看IpV4配置
然后这儿有一个小细节大家一定要注意到,就是这个 IP 地址并不是通过咱那个虚拟的 DHCP 自动获取的。你看他没有勾选这个自动获取 IP 地址的选项,对吧?好,你勾选了他之后,那主机的 IP 地址就是由虚拟的 DHCP 给你分配了。好,然后他这儿并没有勾选,它这相当于是怎么样?是手动的写死了一个 IP 地址,那这样一来的话,那我们这个主机每次这个启动起来之后,它的 IP 地址永远都是固定的这一个。那这其实是我们去配置这个 IP 地址的两种方式。那这种方式我们通常称之为静态IP,因为你写死之后这个 IP 地址它永远都不会变,对吧?然后上面这种通过这个 DHCP 服务自动去获取IP,那这种配置 IP 的方式我们称之为是动态IP。
注意事项
主机IP须位于VMnet8子网IP范围内。
4 配置静态IP
NAT模式下,虚拟机的IP地址,默认情况下是由虚拟DHCP服务自动分配的,虚拟机的IP地址不固定,这对于SSH远程访问也不友好,所以通常情况下,我们不使用虚拟DHCP服务,而是手动为虚拟机配置静态的IP地址。具体操作如下。
- 确定网络配置文件
在终端输入如下命令
ifconfig命令,查看当前的网络接口,内容如下
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.100 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::5fdd:f01e:a4fb:966 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:fc:a3:fe txqueuelen 1000 (Ethernet) RX packets 1526 bytes (133.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1907 bytes (133.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 68 bytes 5916 (5.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 68 bytes 5916 (5.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:ea:8a:fb txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 其中ens33是目前的以太网接口,故其配置文件为
vim /etc/sysconfig/network-scripts/ifcfg-ens33。 - 修改网络配置文件
打开配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33内容如下
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=bf-e095-4e58-865a-e6b07248a514 DEVICE=ens33 ONBOOT=yes需要修改的内容如下
- 修改
BOOTPROTO参数为static - 修改
ONBOOT参数为yes - 增加如下内容
IPADDR=192.168.10.100 NETMASK=255.255.255.0 GATEWAY=192.168.10.2 DNS1=192.168.10.2注意事项
IPADDR需要位于前文VMnet8子网IP范围内,GATEWAY需要配置为前文的NAT服务的网管IP。
- 修改
- 重新启动网络服务
在终端执行以下命令,重启network服务
[root@localhost ~]# systemctl restart network - 观察网络配置是否生效
在终端执行
ifoconfig命令,观察ens33的网络接口的IP地址是否为前文所配置的IPADDR。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120922.html







然后这儿有一个小细节大家一定要注意到,就是这个 IP 地址并不是通过咱那个虚拟的 DHCP 自动获取的。你看他没有勾选这个自动获取 IP 地址的选项,对吧?好,你勾选了他之后,那主机的 IP 地址就是由虚拟的 DHCP 给你分配了。好,然后他这儿并没有勾选,它这相当于是怎么样?是手动的写死了一个 IP 地址,那这样一来的话,那我们这个主机每次这个启动起来之后,它的 IP 地址永远都是固定的这一个。那这其实是我们去配置这个 IP 地址的两种方式。那这种方式我们通常称之为静态IP,因为你写死之后这个 IP 地址它永远都不会变,对吧?然后上面这种通过这个 DHCP 服务自动去获取IP,那这种配置 IP 的方式我们称之为是动态IP。