【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置

虽然从WinXP到Win7一直都可以使用VMWARE虚拟机安装Linux系统,记得每次关于Windows与Linux网络设置的问题,都需要在baidu查找相关参考资料,多次折腾后才能实现,相同的工作每次都会花费不少时间和精力,最糟糕的是,隔一段时间后,之前成功实现互通设置的操作又会被遗忘的一干二净。所谓好的经验,虽然当时总以为自己已经针对设置步骤彻底弄明白了,并且看上去也确实不足为奇的简单,但是在没有做记录而遗忘后,才会想起原来竟是这么复杂的。因为一时的所谓轻视和懒惰而导致重复的一次,两次,。。。多次的浪费精力去从零开始,绝对不能再容忍如此了。因此,在今天又成功实现互通设置后,也把自己的经验保留以作记录。

因为是给自己以后作为技术设置参考用的,因此所说的只有自己认为是正确的,对于不能确定原理细节的东西,不妄作猜测。

首先,介绍如何在VMWARE中设置Linux的网络。一般网络选项有Bridged, NAT, host-only几种。本次以我实现的host-only为样本来做详细说明,如下图:

【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置

在选择host-only模式之后,打开VMWARE的网络属性编辑窗口,就可以看到VMnet1网卡已经可见。

此处VMnet1可以设置Subnet的IP为192.168.0.0, mask为255.255.255.0。

关于DHCP选项,此处可以不管,因为我在Linux虚拟机上是用yast来配置静态的ip,如:192.168.0.222(注意:这个静态IP地址必须与Subnet上设置的IP地址在同一网段),如图:

【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置

关于选项中的NAT设置,我是严格按照网络上的建议,设置Gateway IP Address为192.168.0.1(实际上,我也尝试过使用192.168.0.*的任一IP,只要不与主机及Linux虚拟机的ip冲突,都没问题)。如下图

【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置

基本上做完上述VMWARE虚拟机的配置,Linux侧的基于host-only模式的网络配置就可以了。

然后再配置WinDOW本机上新增的网络接口卡VMnet1。此处也只需设置其ip地址为192.168.0.2(必须与之前Subnet ip在同一网段)。如下图:

【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置

至此,Windows本机与Linux虚拟机之间的网络设置就完成了。

当然,仅是如上的设置,可能还不能保证就可以实现Windows与Linux的ping互通问题。这其中就涉及到双方的防火墙问题了。

1、WinDOS侧存在防火墙。如果你发现Windows可以ping通Linux,而Linux不能ping通Windows,则应该是你Windows本机上防火墙策略导致的问题。我本次也是被这个问题折磨了好长一段时间,直到关闭了WinDOSW本机的防火墙,终于就实现ping互通了。关闭本机Windows防火墙的关闭方法如下:

开始 -> 控制面板 -> 系统和安全 -> Windows防火墙 -> 打开或关闭Windows防火墙 -> 关闭Windows防火墙

【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置 

2、Linux侧存在防火墙。此时可能出现Linux能ping通Windows,但是Windows却不能ping通Linux。

检查Linux是否有防火墙的方法是:

iptables -L 命令查看当前Linux系统的策略。

我这里不需要各种防火墙策略,因此直接简单设置防火墙规则如下:

iptables -F //清空当前防火墙规则

iptables -X //删除系统配置的所有防火墙规则

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

只要配置成开机自动执行上述命令,则启动后Linux系统当前的防火墙策略就如下:

【Linux 虚拟机】关于Win7与虚拟机Linux互通ping的网络设置

这样,就解除了Linux的防火墙设置。

现在,就可以实现Windows Linux系统之间的IP互通了。在Linux上开启ssh服务,samba服务,都可以从Windows上正常登陆了。