在VM虚拟机中网络的连接方式,主要包括:桥连接、NAT模式、仅主机模式等,如下图所示:
下面简单介绍下桥连接、NAT模式、仅主机模式3种方式:
使用此网络连接方式,虚拟机中的Linux是可以和其他的系统主机通讯的,因为Linux系统的IP和虚拟机所在物理机器IP在同一个IP地址段,并且是自动分配的,所以可能会出现虚拟机IP地址和其他系统主机IP地址冲突(局域网内主机数量越多,出现概率越大)。
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。
此种模式是网络地址转换方式,该模式下Linux可以访问外网,不会造成IP地址冲突,实际工作中推荐使用此种方式。
特别说明:
⑴、宿主主机的虚拟网卡VMnet8与其物理网卡是相互独立的,通过IP可以看出二者并不在同一网段, VMnet8仅用作主机连通虚拟机,虚拟机连接主机依然是通过虚拟NAT服务器完成的,而非Vmnet8。将虚拟网卡VMnet8禁用后不影响虚拟机访问外网和宿主主机,但是主机却不能连通虚拟机。
⑵、虚拟NAT服务器相当于一个路由器的作用,将各虚拟机对外网的请求转换为主机对外网的请求,NAT服务器的IP地址就是各虚拟机的网关。一般来讲网关就是一台机器所连路由器的IP地址。
当设置为Host-only上网时,虚拟机只能和主机进行通信,不可以上网,也不可以和其他机器进行通信,此时主机使用VMnet1与虚拟机通信。
下面重点讲解虚拟机NAT模式下Linux网络配置
(1)、打开vmware,点击“编辑”->“虚拟网络编辑器”,如下图所示:
(2)、由于主机和虚拟机是靠VMnet8通信的,因此虚拟机VMnet8应该属于同一个子网,即子网IP相同。
在主机下通过ipconfig命令可得知VMnet8的子网IP地址,如下图所示:
由上图可得知VMnet8的子网IP为192.168.65.0。
(3)、一般来说虚拟网络编辑器中会自动出现VMnet8名称,如果没有的话,可以点击“添加网络”,找到要添加的VMnet8,如下图所示:
(4)、然后进行NAT和DHCP设置,如下图所示:
完成以上步骤后,点击“确定”即可。
(5)、点击“虚拟机”->“设置”,如下图所示:
(6)、在弹出的虚拟机设置对话框中,选择“硬件”选项卡,点击“网络适配器”,右侧选择“NAT模式(N):用于共享主机的IP地址”,然后点击“确定”,如下图所示:
(7)、接下来我们以root用户进入Linux,如下图所示:
(8)、输入指令vim /etc/resolv.conf,如下图所示:
按下i键,然后输入以下内容:
# Generated by NetworkManager
#nameserver 192.168.65.2
#GOOGLE的DNS
nameserver 8.8.8.8
nameserver 8.8.4.4
#中华电信
nameserver 168.95.1.1
nameserver 168.95.192.1
最后按Esc键,然后输入 :wq! 保存退出,如下图所示:
(9)、我们接着修改网卡配置文件,我们首先通过指令查找配置文件所在目录/etc/sysconfig/network-scripts/及名称ifcfg-ens33(名称可能根据机器不同而由不同),如下图所示:
通过 vim /etc/sysconfig/network-scripts/ifcfg-ens33来编辑并添加配置信息,如下图所示:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=1e5a9615-391a-4726-90f5-5d305b76a270
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.65.183
GATEWAY=192.168.65.2
NETMASK=255.255.255.0
HWADDR=00:0C:29:36:D4:5E
PREFIX=24
DNS1=192.168.65.2
编辑完成后按Esc键后,输入:wq! 命令保存退出。
(10)、最后使用命令service network restart 重启网络服务,如下图所示:
(11)、此时我们在终端中输入ifconfig后,可以看到刚才我们设置的IP地址已经生效了,如下图所示:
(12)、我们通过ping命令来检查设置的IP地址是否可以访问,如下图所示:
(13)、我们Linux系统宿主的主机上的虚拟网卡VMnet8,其IP地址如下图所示:
我们在Linux中ping以下主机,可以访问,如下图所示:
(14)、那我们Linux上可以访问外网嘛?我们通过ping来测试以下百度是否可以访问,如下图所示:
此时很不幸,提示“未知的名称或服务”,什么原因呢?因为主机上虚拟网络的地址转换服务没有开启,如下图所示:
我们开启即可,然后我们再次ping,可以访问,如下图所示:
至此,Linux下NAT模式的网络配置就完成啦!
该文同步发布至百家号平台,更多技术文章,参见