学习Linux最佳方式就是通过虚拟机管理软件,创建一个虚拟机安装Linux系统。常用的Linux管理软件有VMware。在VMware中,给我们提供了三种网络连接方式:Bridged(桥接模式)、NAT(网络地址转换模式)和Host-Only(仅主机模式)。首先给大家提供三个网址,主要讲解VM中的网络连接模式。
Bridged模式
NAT模式
Host-Only
我们在VM软件上方的《编辑》里面有《虚拟网络编辑器》,点开会发现有三种网络连接模式,如下图所示:

同时在我们电脑上的《更改适配器设置》里面会发现,多了两个网卡:VMware Network Adapter VMnet1和VMware Network Adapter VMnet8。

Bridge模式
https://www.linuxidc.com/Linux/2016-09/135521.htm
概念
物理机网卡:我们电脑自身的网卡,即我们上网的网卡。如果是无线网络上网,就是无线网络的网卡;如果是本地连接,就是本地连接的网卡。
虚拟机网卡:即 VMnet0。
桥接模式:物理机网卡 与 虚拟机网卡 通过虚拟网桥进行通信。
在此模式下,虚拟机的IP地址与物理主机在同一个网段中;如果虚拟机要上网,则网关与DNS需要与主机网卡一致。
我们可以我们的物理机比喻成一台交换机,每一个虚拟机就是一台电脑,多个虚拟机可以相互访问而互不干扰。

设置桥接模式
物理机方面
物理机网卡信息:
- IP地址:192.168.1.100
- 子网掩码:255.255.255.0
- 网关:192.168.1.1
- DNS服务器:202.117.112.3

虚拟机方面
1、设置连接方式

2、设置虚拟机IP地址
- 动态IP:编辑
/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="90fe912b-6f1d-4206-a0e8-d41b5e6b72cd"
DEVICE="ens33"
ONBOOT="yes"
这些是安装Linux的时候,设置IP获取方式为动态获取,最后一行为开机自启,设置字段的值为yes。
重启网络服务
service network restart
测试:

- 静态IP:编辑
/etc/sysconfig/network-scripts/ifcfg-ens33,内容如下:
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.102"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1="202.117.112.3"
NAME="ens33"
UUID="90fe912b-6f1d-4206-a0e8-d41b5e6b72cd"
DEVICE="ens33"
ONBOOT="yes"
重启网络服务
service network restart
测试:

缺点
桥接模式占用一个IP地址,如果IP资源比较缺乏,这种连接方式是不建议使用的。
NAT模式
https://www.linuxidc.com/Linux/2016-09/135521p2.htm
概念
NAT模式:是借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。
在NAT模式下,物理机网卡与虚拟NAT设备连接,然后虚拟NAT设备与虚拟DHCP服务器连接在虚拟交换机(VMnet8)上,这样就实现了联网。
VMware Network Adapter VMnet8虚拟网卡的作用:实现物理机与虚拟机之间的通信。

设置NAT模式
VMware软件的设置
NAT的设置:

DHCP的设置:

虚拟机的设置
虚拟中设置NAT模式。

- 静态IP模式,修改
/etc/sysconfig/network-scripts/ifcfg-ens33文件,内容如下
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.102.202"
NETMASK="255.255.255.0"
GATEWAY="192.168.102.2"
DNS1="8.8.8.8"
NAME="ens33"
UUID="90fe912b-6f1d-4206-a0e8-d41b5e6b72cd"
DEVICE="ens33"
ONBOOT="yes"
重启网络服务
service network restart
测试

- 动态IP模式,修改
/etc/sysconfig/network-scripts/ifcfg-ens33文件,内容如下
TYPE="Ethernet"
BOOTPROTO="dhcp"
NAME="ens33"
UUID="90fe912b-6f1d-4206-a0e8-d41b5e6b72cd"
DEVICE="ens33"
ONBOOT="yes"
重启网络服务
service network restart
测试

物理机与虚拟机连接
通过NAT模式,虚拟机联网是不需要物理机的,但是要想让物理机和虚拟机进行通信,我们需要设置物理机中的VMware Network Adapter WMnet8网卡的信息,此ip地址、子网掩码、网关需要和VMware设置NAT的一致,设置情况如下图所示:

测试物理机ping虚拟机

测试虚拟机ping物理机

如果物理机ping不同虚拟机,确保VMware Network Adapter VMnet8网卡配置信息和VMware软件中NAT模式下的IP在同一网段下,可以重启一下这个网卡。
如果虚拟机ping不通物理机,VMware Network Adapter VMnet8网卡配置信息和VMware软件中NAT模式下的IP在同一网段下,可以重启一下这个网卡;如果此方式不行,可以关闭物理机的防火墙。
优点
不占用IP地址
Host-Only模式
https://www.linuxidc.com/Linux/2016-09/135521p3.htm
概念
Host-Only模式 = NAT模式 - 虚拟NAT设备
Host-Only模式中物理机中的VMware Network Adapter VMnet1虚拟网卡 与 虚拟机的VMnet1虚拟交换机 进行连接,达到通信效果。Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通信。如下图所示:

设置Host-Only模式
VMware软件的设置
打开虚拟网络编辑器,对VMnet1进行编辑,如下图所示:

设置虚拟机网络适配器

虚拟机设置
- 静态IP的设置,设置内容如下:
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.137.137"
NETMASK="255.255.255.0"
NAME="ens33"
UUID="90fe912b-6f1d-4206-a0e8-d41b5e6b72cd"
DEVICE="ens33"
ONBOOT="yes"
虚拟机的默认网关和物理机网卡WMware Network Adapter VMnet1的默认网关保持一致。
- 动态IP的设置
TYPE="Ethernet"
BOOTPROTO="dhcp"
NAME="ens33"
UUID="90fe912b-6f1d-4206-a0e8-d41b5e6b72cd"
DEVICE="ens33"
ONBOOT="yes"
物理机设置
在物理机上设置网卡WMware Network Adapter VMnet1的信息,设置为自动获取,并进行重启。

测试
- 物理机ping虚拟机

-
虚拟机ping物理机
图片.png
ping不通,解决方案还是NAT模式下的解决方案,重启对应的网卡或关闭物理机的防火墙。
虚拟实现联网
到目前为止,我们的虚拟机还不能上网,所以接下来我们将使虚拟机能够上网。
使虚拟机联网,主要是通过共享网络实现。
1、设置网络共享

通过这一步,会发现网卡WMware Network Adapter VMnet1的IP地址强制修改为192.168.137.1。
2、设置虚拟机中IP信息
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.137.137"
NETMASK="255.255.255.0"
GATEWAY="192.168.137.1" # 是网卡WMware Network Adapter VMnet1的IP地址
DNS1="192.168.137.1" # 是网卡WMware Network Adapter VMnet1的IP地址
NAME="ens33"
UUID="90fe912b-6f1d-4206-a0e8-d41b5e6b72cd"
DEVICE="ens33"
ONBOOT="yes"
3、测试

缺点
联网需要进行网络共享
