更换手机热点后secureCRT无法连接centOS7系统
一、问题描述
某些情况下,我们可能使用手机共享热点而给电脑联网。本来用一个手机热点共享网络时,SecureCRT可以正常连接到CentOS 7虚拟机,当更换一个手机热点时,突然发现SecureCRT无法连接到CentOS 7虚拟机。
二、解决方案
SecureCRT无法连接到CentOS 7虚拟机的主要原因可能是网络配置问题。具体来说,以下是一些可能导致SecureCRT无法连接的原因及相应的解决方法:
1、网络配置问题:
1)IP地址不在同一网段:
确保虚拟机的IP地址和物理机的IP地址在同一网段。可以通过修改虚拟机的网络配置来实现这一点。例如,可以修改虚拟机的IP地址、子网掩码和默认网关,使其与物理机相匹配。具体操作如下:
2)打开虚拟机,编辑网络配置文件(通常位于/etc/sysconfig/network-scripts/ifcfg-ens32或ifcfg-enp0s3或ifcfg-eno16777736)。
[root@manager1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.190.119
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
DNS1=8.8.8.8
DNS2=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=43f2469a-7ff2-418f-ac9a-3bc5a3f14d46
DEVICE=enp0s3
ONBOOT=yes
3)设置BOOTPROTO=static,并指定IPADDR、NETMASK和GATEWAY,使其与物理机的设置相同网段。
4)更换另一手机热点时:设置BOOTPROTO=static,并指定IPADDR、NETMASK和GATEWAY,使其与物理机的设置相同网段。
[root@manager1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.43.119
NETMASK=255.255.255.0
GATEWAY=192.168.43.1
DNS1=8.8.8.8
DNS2=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=43f2469a-7ff2-418f-ac9a-3bc5a3f14d46
DEVICE=enp0s3
ONBOOT=yes
2、虚拟网络编辑器设置未同步:
确保在VMware中更改虚拟网络设置后,物理机上的设置也需要相应更新。可以通过查看物理机的网络适配器设置,并确保与虚拟机的设置一致。
3、防火墙设置:
防火墙阻止连接:检查物理机和虚拟机的防火墙设置,确保没有规则阻止SSH端口(默认是22)。如果使用了其他端口,需要在防火墙中开放该端口。以确保linux防火墙设置,没有规则阻止SSH端口。
在Linux系统中,配置防火墙以允许SSH端口(默认是22端口)通常是为了确保远程管理服务的安全性。根据你的Linux发行版和使用的防火墙软件(例如iptables、firewalld等),设置方法会有所不同。下面是一些常见Linux发行版如何配置防火墙以允许SSH端口的方法。
1)使用iptables:如果你使用的是较老的系统或者手动管理iptables规则,可以按照以下步骤操作:
# 查看当前的iptables规则
sudo iptables -L
# 允许SSH端口(默认22)的流量:
sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT
# 保存iptables规则(取决于你的系统,可能需要使用iptables-save或service iptables save):
sudo iptables-save > /etc/iptables/rules.v4
# 重新加载或重启iptables:
sudo systemctl restart iptables
2)使用firewalld:对于使用firewalld的现代Linux发行版(如Fedora、CentOS 7及以上版本),可以按照以下步骤操作:
# 查看当前的防火墙规则:
sudo firewall-cmd --list-all
# 允许SSH端口:
sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
# 重新加载防火墙规则:
sudo firewall-cmd --reload
3)使用ufw(Uncomplicated Firewall):对于使用ufw的Ubuntu和Debian系统,可以按照以下步骤操作:
# 查看当前的ufw规则:
sudo ufw status
# 允许SSH端口:
sudo ufw allow 22/tcp
# 重新加载ufw规则(此步骤通常是自动进行的):
sudo ufw reload
4)确保没有其他规则阻止SSH端口
在添加或修改防火墙规则后,确保没有其他规则会阻止SSH端口。你可以通过查看所有规则来检查这一点,特别是检查是否有任何拒绝(DENY)或拒绝(REJECT)规则可能会影响SSH端口。例如,在iptables中,你可以使用:sudo iptables -L -n -v | grep 22 来查看所有与端口22相关的规则。
# 关闭防火墙
systemctl stop firewalld
# 临时禁用SELinux
sudo setenforce 0
# 或者禁用AppArmor:# 设置为宽容模式
sudo ln -s /etc/apparmor.d/disable /etc/apparmor.d/force-complain
4、网络服务未重启:
重启网络服务:在修改网络配置或更改IP地址后,需要重启虚拟机的网络服务。可以使用命令service network restart来重启网络服务。
# 重启网络服务
systemctl restart network
# 或者
service network restart
5、其他常见问题:
1)检查网络连接:
确保物理机和虚拟机之间的网络连接是正常的。可以尝试ping目标服务器的IP地址,以检查网络连通性。
2)检查SSH服务状态:
确保虚拟机的SSH服务正在运行。可以使用命令systemctl status sshd来检查服务状态,并使用systemctl start sshd来启动服务。
# 查看 ssh 服务状态
systemctl status sshd
# 启动ssh 服务
systemctl start sshd
# 停止 ssh 服务
systemctl stopt sshd
# 重启 ssh 服务
systemctl restart sshd
3)检查SecureCRT配置:
确保SecureCRT中的SSH设置正确(尽量使用SSH2安全连接),包括端口号、加密算法。