Linux虚拟网络模式及NAT模式连接互联网配置

一、调试环境

笔记本电脑(无线网卡连接互联网)+WIN10(笔记本操作系统)+VMware Workstation 16 Player(虚拟环境)+RedHat7(虚拟机操作系统)


二、基础理论

VMware有四种网络模式实现虚拟机联网:桥接模式、NAT模式、仅主机模式、自定义网络连接模式。

在虚拟化平台中【PLAYER】->【管理】->【虚拟机设置】->【网络适配器】查看如下图:

        在VMware中,虚拟机的网络连接主要是由VMware创建的虚拟交换机(也叫做虚拟网络)负责实现,VMware可以根据需要创建多个虚拟网络。当我们安装VMware时,VMware会自动为3种网络连接模式各自创建1个虚拟机网络(可想象为三个虚拟交换机):VMnet0(桥接模式)VMnet8(NAT模式)VMnet1(仅主机模式)。此外,我们也可以根据需要自行创建更多的虚拟网络。所以在完成VMware安装后主机操作系统中会自动出现相关网络适配器,如下图所示:

       为什么在主机上没有VMware Network Adapter VMnet0虚拟网卡呢?

1、桥接模式

       VMware桥接模式,也就是将虚拟机视为局域网中一台新的、独立的计算机。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。

      由于桥接模式下,主机直接使用连接外部网络的网络适配器连接虚拟网络,故解释为什么安装后不自动创建VMware Network Adapter VMnet0虚拟网卡的问题。

2、NAT模式

       NAT,是Network Address Translation的缩写,意即网络地址转换。使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以实现虚拟机与主机及虚拟机与外部网络之间的通信。换言之,所有虚拟机的发送和接收的网络数据包均需经虚拟NAT设备进一步封装和解封装,发送数据包时的封装将虚拟机发来的数据包穿上主机网卡IP的外衣后送去路由器进行传送,接收数据时的解封装将路由器发回的数据包穿着的主机网卡IP的外衣脱去露出真实的虚拟机网卡IP。

       在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信,也就是说下线VMware Network Adapter VMnet8网卡后并不影响虚拟机访问外部网络只是虚拟机和主机之间无法实现通信。

3、仅主机模式

       仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。但也可以通过网络共享的方式实现虚拟机与外部网络的连接。

以上网络模式图片引自:https://blog.csdn.net/weixin_41632560/article/details/92792391?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0.no_search_link&spm=1001.2101.3001.4242.1

以下形象比喻引用自:https://blog.csdn.net/sores/article/details/89249771

(1)桥接模式的虚拟机,就像一个在路由器"民政局"那里"上过户口"的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,可以大摇大摆地直接和外面通信。

(2)NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器"民政局"根本不知道有这么个人,自然也不会主动和它通信。即使虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫做NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。

(3)仅主机模式的虚拟机,纯粹是一个彻彻底底的黑奴,不仅没有户口、路由器"民政局"不知道这么号人,还被主机关在小黑屋里,连信件也不准往外发。


三、NAT模式网络配置(使用dhcp自动分配模式,也可配置为手动模式)

1、主机虚拟网卡配置(如不需要主机与虚拟机通信,可不配)

     在主机系统(此环境中的WIN10)中配置VMware Network Adapter VMnet8虚拟网卡的TCP/IPv4 IP和DNS全部为自动,如下图所示:

2、配置虚拟化环境

在虚拟化平台中【PLAYER】->【管理】->【虚拟机设置】->【网络适配器】设置为【NAT模式】查看如下图:

3、配置RedHat虚拟机

1)使用ifconfig -a指令查看系统当前启用的网卡名称,如下图中红色框部分:

注意:由于在linux系统最小化安装包安装过程中未安装网络工具,导致执行ifconfig -a 时提示“command not found”,可自行参照https://www.lxlinux.net/1799.html安装

2)确认网卡配置

     使用vim编辑/etc/sysconfig/network-scripts/ifcfg-eno166777736,此处文件名对应ifconfig中网卡名称

      执行#vim /etc/sysconfig/network-scripts/ifcfg-eno166777736

3)重启网络服务

#service restart network


四、网络测试

1、确认虚拟机IP

同样使用ifconfig -a指令查看,此处为192.168.43.128

2、确认主机VMware Network Adapter VMnet8虚拟网卡IP,此处为192.168.43.1

3、在虚拟机中ping主机虚拟网卡IP

      如下图,说明虚拟机与主机虚拟网卡通信正常,同时证明虚拟机网卡运行正常且网络配置已生效;

4、在虚拟机中ping www.baidu.com测试虚拟机与外部网络的联通性(此处为本人踩坑处,望引起大家关注)

       由于始终如下图所示,多次尝试重启网卡,重启网络服务,均提示ping 百度100%丢包,怀疑以上网络配置存在问题,参照网络上指引多次调整配置均无法解决该问题,通过下述不懈尝试最终找到问题原因。

5、尝试ping主机无线网卡ip 

      此例中为192.168.1.100正常,证明虚拟机网卡经虚拟网络及NAT服务器访问主机无线网卡正常

6、尝试ping路由器LAN口IP192.168.1.1及WAN口IP192.168.10.228均正常,证明虚拟机数据包可正常传送至路由器WAN口



7、确认笔记本电脑访问百度网页正常情况下使用笔记本cmd ping www.baidu.com,同样无法ping通,推测并非虚拟机访问外部网络问题,而是该网络环境限制了icmp包的传递

8、使用主机和虚拟机telnet www.baidu.com 80测试联通性,均显示成功建立连接,从而验证7)条中推测,并确认虚拟机网络配置成功。



经验:测试外网的网络联通性道路千万条,切忌仅仅通过尝试ping百度来确认网络状态!!!

你可能感兴趣的:(Linux虚拟网络模式及NAT模式连接互联网配置)