今日偶然发现我的机器上,secureCRT无法连接到本机vmware上的centos7,一直是连接超时,如下图所示,
于是我摸索了半天,终于解决了问题,下面介绍怎么解决的。
背景: 我的vmware上搭建了6台centos7 , 全部配置为静态的ip ,以前在学校全部都正常使用,并且secureCRT全部ping通,今天发现一台连接不上时,我试了试,发现其他的通通连接不上,以此为背景。
解决:
首先,由于过往可以正常使用,并且随后我一直没有动过vmware ,所以排除了在本机的服务中禁止了vmware的服务的情况。和虚拟机防火墙打开以及端口22不能被外界访问的问题。
因为换了新的居住环境, 于是怀疑,会不会是虚拟机的ip不对或者网卡不对,我启动了两台虚拟机,使用 ifconfig命令,发现
ip地址,都存在(如果你使用的是动态分配,就需要此步骤),又使用ping命令,发现两台虚拟机之间可以互相ping通,并且虚拟机可以ping通百度等网站,说明虚拟机的网卡是正常工作的。
这就奇怪了,于是我又用主机ping虚拟机,发现了问题:
如上图所示,主机无法ping通虚拟机,似乎发现了引发不能连接的原因。---ip地址有问题
首先,我打开本机的网络连接,发现并没有 虚拟机的网络连接(即虚拟网卡),如下图所示的虚拟机的连接:
这里存在是因为,我又添加了啊。。。。
添加虚拟网卡如下:
打开vmware,编辑--> 虚拟网络编辑器 ,如下图所示,
把 将主机虚拟机适配器连接到此网络 选项勾中,点击应用 确定,vmware就会自动去本机里面添加虚拟机的网络连接 ,并启动。
注意:到这里问题并没有解决。
cmd打开本机的命令行:使用 ipconfig命令查看ip, 此时如果你比较这次和上次的,就会发现,这次里面多了一个虚拟机的网络,如下所示:
请注意,你的虚拟机的ipv4和本机的ipv4应该在同一段中,而我的没改之前就是不在同一段,这就造成,我重新添加了虚拟网络之后还是连接不上。
修改如下图,顺手把DHCP设置也改了:
改完之后,在主机的命令行 使用命令ipconfig ,应该就会发现虚拟机的ipv4和本机的ipv4地址在同一段了,如果还不在的话,就进行如下操作: 打开网络连接, 选择指定如下ip ,然后 将ip设置为同一段,例如:我的主机前三段为192.168.8 ,那就可以在ip地址里面输入 192.168.8.1 子网掩码 255.255.255.0 ,保存,在使用ipconfig命令查看,ip地址就在同一段了。
进行最后一步。 如果你的ip为动态的,重启vmware,再打开centos7.应该就可以了 ,如果你跟我一样,虚拟机的ip设置为静态的话,那就修改虚拟机中的静态ip , vi /etc/sysconfig/network-scripts/ifcfg-ens-33(注意:可能名称不一样 ifcfg-ens16......) ,修改其ip地址,网关等。如下图所示:
修改完之后 wq保存退出,然后重启 network服务 ,使用命令 : service network restart,至此,全部工作完成,重新试试用secureCRT连接centos7 ,注意:使用新的ip地址喔~~
连接成功!
总结: 一般secureCRT连接不上centos ,应该这样排查:
1. 虚拟机防火墙是否打开? 使用service iptables status或者systemctl status firewalld
关闭防火墙:service iptables stop/ service firewalld stop
2. 虚拟机的端口22是否监听? netstat -ant 是否开放: firewall-cmd --query-port=22
3. 测试 是否主机 ,虚拟机ping通。
4. 主机上的虚拟网卡是否启动? 不存在就创建
5. 换了新环境,虚拟网卡和ip地址段和主机的是否一样?(主要原因)
6. 虚拟机的ip段是否和主机一致?