虚拟机可以ping通外网,但Xshell连接不上的解决办法
说在前头的话
首先笔者用的是VMware,今天翻出很久没使用的虚拟机准备弄一弄网络协议,从以往的经验来看,我知道又会要抓头,上次是在virtualbox上因为网络抓狂,果不其然,这次Xshell连接不上虚拟机了
1、对于防火墙的关闭
我们得确保防火墙是关闭的,但是CentOS版本不一样需要注意一下
CentOS6:
service iptables stop
CentOS7:
systemctl disable firewalld.service
永久关闭防火墙
-enable 永久打开防火墙
-stop -start就是关闭和打开了,懂得自然懂,不懂的就试吧,最开始学的时候经常觉得参数是一个很梦幻的东西
systemctl status firewalld.service
查看防火墙的状态,看到dead就好了
2、检查一下ssh
看看自己有没有装ssh,没有的话就
yum install opensshd.server
安装好后在ssh配置文件里进行配置:
vi /etc/ssh/sshd_config
配置的话大家注意Port 22这个地方去掉#号,#号是注释的意思,端口号22咱们是要用的
然后就是PermitRootLogin no这里,去掉#号,并且如果大家要用root用户登录的话,请将no改为yes
保存退出后,再来几条命令:
(1)开启ssh的命令:
systemctl start sshd.service
(2)启动后查看ssh服务是否开启
ps -e | grep sshd
(3)检查一下22号端口是否开启
netstat -an | grep 22
(4)开机自启ssh服务:
systemctl enable sshd.service
这些命令敲完之后,就检查一下能够ping通外网,比如 ping www.baidu.com
查看Xshell的端口号是否能用
netstat -tnl
如果端口号22的状态是LISTEN,则可以使用
3、检查虚拟机和Windows主机是否能互ping
(NAT模式):
如果,虚拟机能ping通Windows主机的IP,但是Windows里面无法ping通虚拟机的IP地址,那么这就是你的虚拟网卡的IP地址未与VMware虚拟机网络编辑器给你分配的地址一致。
(1)先到VMware的虚拟机网络编辑器
(2)进入NAT设置中,查看相关子网IP,子网掩码,网关等信息
(3)记住相关信息
(4)在网络适配器中找到vmnet8,设置ipv4为静态获取地址,将上面的IP地址和子网掩码以及网关输入进去
注意:ipv4的最后一位不填0就行了