淘先锋技术网

首页 1 2 3 4 5 6 7

导读

        小编之前使用过 VMware workstation 工具搭建 Centos 7 版本的虚拟机集群,各项功能都正常,用完了也就清除了(节约本地空间)。因为最近学习大数据,需要从新安装虚拟机,结果发现并不如第一次那么顺利。所以,借助这个机会我查阅了很多资料,准备将这个常见的网络问题攻克一下,为大家的开发提供便利。


正文

        经过我系统的学习和实践,针对虚拟机的网络问题,包括但不限于:虚拟机无法联网,本地无法ping通虚拟机IP,本地xshell无法连接虚拟机等问题,我总结了下面4种可能的情况,可以按照下面的顺序进行排查和配置。

xshell无法连接虚拟机的问题截图

情况一:确保虚拟机设置了静态IP

        首先,要在虚拟机的网络设置里面对网络进行设置一下,不能使用默认的动态IP,否则每次重启服务器,xshell都要重新连接一次。

        设置虚拟机IP的时候,也不是随意设置的,要去VM网络设置里面看一看自己的IP属于哪个网段。

第1步:打开虚拟机中的【编辑】 –> 【虚拟网络编辑器】

  • 设置NAT模式;

  • NAT设置,查看网关IP,对应配置文件里的参数:GATEWAY和DNS1;

         如果你足够熟练的话,你会发现:所有的网关IP最后一位都是2,也就是子网IP最后一位变为2就可以了,建议不清楚的还是多动手查一查。

  • DHCP设置,查看静态IP可用范围(静态IP要在这个范围内),对应配置文件里的参数:IPADDR;

第2步:配置虚拟机网络

  • 在根目录下,使用下面的命令进入网络配置文件;

[root@hadoop200 ~]# ​vi /etc/sysconfig/network-scripts/ifcfg-ens33​

  • 按照如下样例更改网络配置,保存;

第3步:重启网络,查看ip

  • 重启网络,让新ip生效;

[root@hadoop200 ~]# service network restart

  • 查看ip,如果可以看到设置的ip,说明静态ip配置完成;

[root@hadoop200 ~]# ip addr

情况二:确保虚拟机关闭防火墙

        关闭防火墙,是为了可以在外面对虚拟机ip进行访问,后续为了实现集群互联,防火墙都是需要关闭的。

// 关闭防火墙,本次生效

[root@hadoop200 ~]# systemctl stop firewalld

// 关闭防火墙,以后开机不自启

[root@hadoop200 ~]# systemctl disable firewalld

情况三:确保虚拟机开启SSH服务

        这个不用多解释了,不管是xshell还是finalshell都需要通过ssh服务连接虚拟机。ssh服务是默认开启的,但是不排除会在这里出现问题的可能,建议检查一下。

[root@hadoop200 ~]# service sshd start

情况四:确保本地VM网络启用

        这个经常会被忽略,一般首次安装VM会默认【开启】,但是关机以后可能变成【禁用】。如果是【禁用】状态就会发生像我一样的问题:虚拟机网络正常,但是本地ping不通,导致本地xshell无法访问虚拟机。

  • 控制面板 –> 网络和 Internet –> 网络连接,启用VMware网络;


总结

        正常安装一台虚拟机,最后都会按照上面4种情况的顺序配置网络。我总结了几种常见的情况,如果遇到,其实可以直接定位问题:

  1. 虚拟机网络异常,无法 ping 通 www.baidu.com:这种属于情况1,需要将虚拟机网络配置成NAT模式,并设置静态IP;
  2. 虚拟机网络正常,但是本地无法 ping 通虚拟机:这种情况2-3-4都有可能,可以按顺序排查。ping 不通虚拟机网络,会导致本地xshell无法连接的情况;