欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mac os下VMware Fusion虚拟机和本机ping不通 解决办法

程序员文章站 2022-05-10 10:50:01
...

前提


在学习在线项目中fastdfs文件储存的时候涉及到了使用cenos6虚拟机, 但在安装后发现虚拟机的和mac本机ping不同的问题, 网上找了下解决办法, 记录下

安装环境


macOS 10.13.6
VMware Fusion 11.1.0
系统 CenOS6


基础知识: VMware Fusion连接模式(了解一下就行了)


vmware下虚拟机有三种网络适配器连接模式:Nat,仅主机,桥接,以下转发一些搜集自网络的概念

VMware 桥接模式

VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(例如图中所示的局域网和Internet,下同)。简而言之,这就好像在上图所示的局域网中添加了一台新的、独立的计算机一样。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。桥接模式网络连接支持有线和无线主机网络适配器。如果你想把虚拟机当做一台完全独立的计算机看待,并且允许它和其他终端一样的进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。

VMware NAT模式

NAT,是Network Address Translation的缩写,意即网络地址转换。NAT模式也是VMware创建虚拟机的默认网络连接模式。使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。

此外,在一台主机上只允许有一个NAT模式的虚拟网络。因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的。

前面我们已经提到,默认情况下,外部网络无法访问到虚拟机,不过我们也可以通过手动修改NAT设置实现端口转发功能,将外部网络发送到主机指定端口的数据转发到指定的虚拟机上。比如,我们在虚拟机的80端口上"建立"了一个站点,只要我们设置端口转发,将主机88端口上的数据转发给虚拟机的80端口,就可以让外部网络通过主机的88端口访问到虚拟机80端口上的站点。

VMware 仅主机模式

仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到Internet(在主机上安装合适的路由或代理软件,或者在Windows系统的主机上使用Internet连接共享功能,仍然可以让虚拟机连接到Internet或其他网络)。

在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的;如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信)。


解决ping不通办法


  1. 先确定自己主机IP地址为多少, 打开设置–网络–高级–TCP/IP, 根据子网掩码决定主机的IP的地址段范围是: 172.16.12.1-172.16.12.12(后面会用到, 记录下)
    mac os下VMware Fusion虚拟机和本机ping不通 解决办法

  2. 打开VMware Fusion,启动你的虚拟机,并在“设置–网络适配器中”选择“桥接模式网络连接”,如下图,划线的IP就是主机IP
    mac os下VMware Fusion虚拟机和本机ping不通 解决办法

  3. 手动给虚拟机linux配置一个IP,这个IP必须要与主机在同一个网段(172.16.12.1-172.16.12.12)中,否则无法桥接通连,配置方法如下:
    cd /etc/sysconfig/network-scripts
    查看虚拟机linux的网卡, 如下, 我的是ifcfg-Auto-eth2
    sudo vi ifcfg-Auto-eth2(此处Auto-eth2具体看个人网卡, 不要改ifcfg-lo)
    mac os下VMware Fusion虚拟机和本机ping不通 解决办法
    在ifcfg-Auto-eth2文件尾配置IP以及路由网关内容, 有则修改, 无则新增:
    改之前

    HWADDR=00:0c:29:cc:16:f0
    TYPE=Ethernet
    BOOTPROTO=none
    IPADDR=192.168.25.133   #改为172.16.12.3 更改的IP必须在172.16.12.1-172.16.12.12的地址段内选择
    PREFIX=24
    GATEWAY=192.168.25.2    #改为172.16.12.1
    DNS1=192.168.25.2       #改为172.16.12.1  首选DNS, 也就是上面图中的路由器IP
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    NAME="eth0"
    UUID=6e6f9829-0737-4943-ab21-61d6173ba8c4
    ONBOOT=yes
    LAST_CONNECT=1438160743	
    

    改之后

    HWADDR=00:0c:29:cc:16:f0
    TYPE=Ethernet
    BOOTPROTO=none
    IPADDR=172.16.12.3
    PREFIX=24
    GATEWAY=172.16.12.1
    DNS1=172.16.12.1
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    NAME="eth0"
    UUID=6e6f9829-0737-4943-ab21-61d6173ba8c4
    ONBOOT=yes
    LAST_CONNECT=1438160743
    
  4. 此时,主机和虚拟机就可以ping通了,而且都可以连接到外部网络
    mac os下VMware Fusion虚拟机和本机ping不通 解决办法