Linux系统 SSH网络故障 解析

最近我在连接公司服务器的时候 发现一些网络故障, 以下是我的故障排查整理
大家先了解一下《Linux网络结构特点》

《Linux网络结构特点》

Linux网络结构特点

由于Linux是在Internet上发展成熟的操作系统,因此,它具有与生俱来的网络功能,特别在Internet和Intranet的功能上有明显优势。但是由于Linux的桌面应用和Windows的差距,除了一些Linux专门实验室之外大多数企业应用Linux系统时:往往是Linux和Windows或Unix等操作系统共存形成异构网络。掌握Linux TCP/IP的网络模型,掌握OSI网络模型、TCP/IP模型及相关服务对应的层次对于Linux网络故障分析与排除是非常重要的。据统计,Linux网络故障有35%在物理层、25%在数据链路层、10%在网络层、10%在传输层、10%在对话、7%在表示层、3%在应用层。由此可以看出,网络故障通常发生在网络七层模型的下三层,即物理层、链路层和网络层。对应于实际网络也就是使用的网络线缆、连接模块、网卡、交换机、路由器等设备故障。这些故障可能因为硬件的质量或性能、磨损老化、人为误操作、不正确的网络协议设置、管理问题、Linux软件的BUG、系统受到黑客攻击和Linux病毒等原因造成。OSI的层次结构为网管员分析和排查故障提供了非常好的组织方式。由于各层相对独立,按层排查能够有效地发现和隔离故障,因而一般使用逐层分析和排查的方法。
在这里插入图片描述

现在咱们直接步入主题

Linux系统 ssh网络故障

一、IP能ping通且网络没问题情况下如何检查故障

    1.检查所需要的进程是否已经在主机上开启
    可以使用ps命令。它能显示当前运行中进程的相关信息,包括进程的PID。
    Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。

ps命令能提供一份当前进程的快照。如果想状态可以自动刷新,可以使用top命令。
ps命令

输入下面的ps命令,显示所有运行中的进程:

ps aux | less

其中,

-A:显示所有进程

a:显示终端中包括其它用户的所有进程

x:显示无控制终端的进程

任务:查看系统中的每个进程。
1.ps -A
2. ps -e
在这里插入图片描述
top命令提供了运行中系统的动态实时视图。在命令提示行中输入top:
3. top
在这里插入图片描述
二、查看SSH端口是否开启
输出:
ss -ntlp | grep 22(找出打开套接字/端口应用程序)
netstat -anp | grep 22 (需要安装net-tools)
netstat -anp | grep ssh (需要安装net-tools)
lsof -i:22
图片我就不一一举例了,上方命令本人已试验成功
在这里插入图片描述

三、端口开启情况下

Ⅰ.telnet 22+端口 是通的情况下
(一)已经连接上 打^] 退出 情况
1.检查用户名密码错误
2.检查 (是/否) 禁止ROOT用户直接登陆
3.检查远程用户:用户过期或者用户密码过期 (时效30天-90天)
4 .是否多次登陆失败 导致锁死
解决方法2种
1.重启sshd
2.重设密码

Ⅱ、connect refuse 访问拒绝情况
1 .检查有没有加端口
4. 是否协议不认
3 否认我们的IP网段
5. IP是否被屏蔽
6. ip是否冲突

Ⅲ、 known_hosts 错误
REMOTE HOST IDENTIFICATION HAS CHANGED 翻译:远程主机标识已更改
以下是解决方法
1.vi /root/.ssh/known_hosts 编辑相关IP的哪一行!
删除对应ip的相关rsa信息
优点:其他正确的公钥信息保留
缺点:还要vi,还要找到对应信息,稍微优点繁琐
ansible 执行脚本的时候 需要known不输入这个yes
2.ssh-keygen -R 192.168.0.100
优点:快、稳、狠
缺点:没有缺点
请除旧的公钥信息
3.rm -rf ~/.ssh/known_hosts
最差选项处理
优点:干净利索
缺点:把其他正确的公钥信息也删除,下次链接要全部重新经过认证

Ⅳ、 能Ping通 但是ssl 证书不对
问题解析:
我们的客户端的证书过老,或者是客户端不支持
1.SecureCRT 版本过老! 16年之前的版本 可能会有这种问题
解决方法:证书报错 只能升级工具解决问题
2.putty的版本过老 16年之前的版本 可能会有这种问题
解决方法:证书报错 只能升级工具解决问题

Ⅴ.Telnet 不通情况下
1.检查防火墙 iptable 防火墙
在cen OS 7中,安装一个IPtable防火墙,一堆水贴,真的是误人子弟。
正确的方法:
(1)cen OS7因为自带Firewalls,所以需要先停用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
(2) 安装IPtable防火墙
首先安装IPtable防火墙相关组件:
yum install -y iptables-services iptables-devel.x86_64 iptables.x86_64
systemctl enable iptables ##启用iptables
systemctl start iptables ##启动iptables
systemctl status iptables ##查看iptables状态

在这里插入图片描述
2.检查物理防火墙是否阻拦

3.也有可能sshd 服务故障或127.0.0.1拒绝连接

(1)启动 sshd服务正常:
问题分析:
中间的数据传输有问题,
不成功 ssh客户端可能有问题。

(2)不成功 sshd服务端有问题 sshd假死

4.互ping不同或两端互相ping对端的网关/配置对端网关的路由

四、端口未开启情况下

Ⅰ.检查服务是否开启
检查命令:ps -ef | grep 进程 有没有
Ⅱ.服务没安装情况下
执行命令如下:
rpm -qa | grep 服务
tar.gz make && make install
dpkg -i deb的包 ---- apt-get
find / -name “关键字” 会输出部分不想关的信息 /proc/
pip python的时候相关

Ⅲ.服务启动报错:有可能版本不支持 软件不兼容 安装不成功
Ⅳ.检查端口是否禁用
Ⅴ.检查dev proc 的配置

五、查看tcp/ip网络是否畅通

1.没有回包 导致无法访问
.没有回包 导致无法访问 →防火墙 禁止数据回传 →ping 单通 →子网掩码问题→常用的是 /24 255.255.255.0

2.ping 单通ping →单通 路由回程路由不对

3.没有回包 导致无法访问 →nginx 499错误

4.查看tcp/ip网络是否畅通→检查防火墙上是否禁用了ssh协议 保留了tcp/ip协议

六、网络故障不能ping通

Ⅰ.查看是否禁ping →可以telnet telnet+端口 →是通的
1 . 已经连接上 打^] 退出 情况
(1) 用户名密码错误
(2) 禁止ROOT用户直接登陆
(3)一样是远程用户 用户过期或者用户密码过期 30-90
(4) 多次登陆失败 导致锁死解决方法:重启sshd / 重设密码
2. connect refuse 访问拒绝
(1)没有加端口
(2)协议不认
(3)不认我们的IP网段
(4)IP被屏蔽
(5)ip冲突
3.known_hosts 错误→REMOTE HOST IDENTIFICATION HAS CHANGED
1.vi /root/.ssh/known_hosts 编辑相关IP的哪一行!
删除对应ip的相关rsa信息
优点:其他正确的公钥信息保留
缺点:还要vi,还要找到对应信息,稍微优点繁琐
ansible 执行脚本的时候 需要known不输入这个yes
2.ssh-keygen -R 192.168.0.100
优点:快、稳、狠
缺点:没有缺点
请除旧的公钥信息
3.rm -rf ~/.ssh/known_hosts
最差选项处理
优点:干净利索
缺点:把其他正确的公钥信息也删除,下次链接要全部重新经过认证
4.能Ping通 但是ssl 证书不对→我们的客户端的证书过老,或者是客户端不支持

Ⅱ…查看是否禁ping →可以telnet telnet+端口 →不通
1.检查防火墙 iptable 防火墙
在cen OS 7中,安装一个IPtable防火墙,一堆水贴,真的是误人子弟。
正确的方法:
(1)cen OS7因为自带Firewalls,所以需要先停用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
(2) 安装IPtable防火墙
首先安装IPtable防火墙相关组件:
yum install -y iptables-services iptables-devel.x86_64 iptables.x86_64
systemctl enable iptables ##启用iptables
systemctl start iptables ##启动iptables
systemctl status iptables ##查看iptables状态

在这里插入图片描述
2.检查物理防火墙是否阻拦

3.也有可能sshd 服务故障或127.0.0.1拒绝连接

(1)启动 sshd服务正常:
问题分析:
中间的数据传输有问题,
不成功 ssh客户端可能有问题。
(2)不成功 sshd服务端有问题 sshd假死

七、不能ping通→telnet 22口 不通

Ⅰ.服务未开启

Ⅱ.服务开启→网络不通
1.路由不通
2.IP 冲突
3.网关或者广播地址冲突→广播地址冲突 导致的广播风暴 导致局域网内集体无法连接→192.168.0.255/24 被占用 地址段的最后一个地址被占用 会导致广播地址冲突 从而广播风暴 192.168.0.128/25 被占用 192.168.0.64/26被占用
4.网线不通→看网口的灯儿 绿色 闪烁 视为正常
5.网卡是否启动→需要ifup
6.检查IP是否生效
7.先ping网关,继续ping下一个网关, 继续ping下一个网关→中间的某一跳网络不通→一跳一跳的ping过去, 一个一个网关的ping过去,确定是在那个交换机路由器处发生的问题

耗时1周 整理的网络故障思维导图,供大家参考

在这里插入图片描述
在这里插入图片描述

先为成功的人工作,再与成功的人合作,最后是让成功的人为你工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章