ssh和mysql登录慢问题解决过程总结1.docx
- 文档编号:11167669
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:13
- 大小:1.09MB
ssh和mysql登录慢问题解决过程总结1.docx
《ssh和mysql登录慢问题解决过程总结1.docx》由会员分享,可在线阅读,更多相关《ssh和mysql登录慢问题解决过程总结1.docx(13页珍藏版)》请在冰点文库上搜索。
ssh和mysql登录慢问题解决过程总结1
Ssh和mysql登录慢问题解决过程
1.问题1
2.组网1
3.Ssh访问慢的问题解决过程1
4.Mysql登录慢的问题6
5.感受10
1.问题:
公司分别有同事提出访问内网的ssh和mysql登录比较缓慢,怀疑是网络问题,让协助解决。
2.组网:
3.Ssh访问慢的问题解决过程:
首先在办公区域的pc,ping要访问的ssh服务器,显示正常。
抓包看reply的时间正常。
确定网络层没有问题,对比正常的ssh18.250.0.4访问和这个不正常的172.104.201.109的访问并抓包。
如下图:
ssh协议,使用端口为22。
抓包并过滤tcp.port==22
因为wireshark过滤出来的包大多序号不连续,改时间格式为距开始抓包开始的时间偏移量。
上图中使用18.250.0.4访问ssh正常,对话的请求和响应间隔很快。
发现加密的对话验证身份过程中客户机的请求发出,服务器回response时间间隔太长,10秒钟。
后面的对话间隔比较短。
后面的对话request和reponse之间,为毫秒级。
由此判断是ssh应用层问题导致接入慢。
查询ssh协议的知识了解到,客户端和服务器进行交互秘钥后,使用加密会话进行身份验证过程,身份验证过后,进入正常的会话过程,加密采用客户端request和服务器回response的方式进行。
由于加密会话中采用加密数据传输,看不到数据特征,推测此例中是服务器的ssh进程在处理身份验证过程中时间太长导致。
查询网上关于ssh登录慢的问题处理方法,有修改sshd_config对应的配置文件中参数,然后重启ssh服务器的方法。
再次登录172.104.201.109服务器,查看对应文件如下图:
用vi编辑ssh_config,并查看其中两个选项。
发现两项都已经修改,重新抓包观察时间。
登录很快,观察抓包没有发现加密会话中有请求和响应有长时间的不响应现象,同事已经修改此配置,问题解决。
4.Mysql登录慢的问题:
隔天,有同事问,同样这台服务器,安装有tis和虚拟机,访问发现mysql登录很慢,以前在旧的办公环境登录很快,搬到新的办公环境后,登录就慢了,通过vpn访问北京总部的mysql服务器也很快,怀疑是网络问题,已经有抓包,要求协助解决。
由于是同一台服务器172.104.201.109,已经证明网络没有问题,通过ssh问题的解决判断一般是服务器侧配置问题,为说明问题,对比正常的环境抓包看是否能看出问题?
看他的抓包如下图:
他们mysql服务器的端口改成23306,所以过滤tcp.port==23306
看到的是tcp的包,看不出mysql的流程,强制解析23306为mysql协议。
选中包,右键选decodeas。
点击应用apply后如下图:
发现握手后,服务器10秒后发greetingproto,后面进行root用户名和密码的认证过程,毫秒级完成。
用navicat登录已有的服务器18.250.0.4,抓包对比问题包。
Navicat很快连接上,看抓包情况。
抓包显示如下:
正常的访问,发现两者区别就是有问题的greetingproto消息回的慢造成,应该是mysql的配置问题。
告知同事去非网络原因,去修改mysql的配置看能否实现快速访问?
自己上网搜对应的问题,发现有这样的说法,mysql安装时默认开启dns的查询功能(根据ip查询url地址的反向查询),可以的/etc/f中添加跳过dns语句解决此问题。
登录问题服务器,查看netstat-tuapn|grep23306,发现有连接,询问同事,说已经修改,访问速度正常了。
想仿真一下问题,但此台服务器已经启用,不知道他们数据库的密码,并且添加访问ip地址比较麻烦,所以在自己的管理的服务器18.250.0.4测试。
未加关闭dns反向检测时,在服务器上的抓包如下:
192.168.206.1原来公司的网关地址,有dns功能,现在192.168.206.1是三层交换机的vlan的地址,没有dns功能,所以会回icmp的端口不可达消息。
My.conf里添加跳过dns解析语句后的访问抓包:
感觉不正常的抓包中延迟了10秒,对比/etc/resolv.conf发现延迟大的服务器里配置了两个dns的地址,模拟在18.250.0.4上配置两个dns192.168.206.1和114.114.114.114后,重启服务器后抓包如下:
整体看tcp握手后,延时10秒发起greetingproto消息,跟不正常的抓包相符合。
模拟了开两个dns,mysql开启dns的反向查询,会延时10秒才能连接。
5.感受:
●要理解清楚网络协议的七层结构,网络层仅是传输的通道,是双向的,没有数据包时,不工作,当有数据传输时,开启双向传输。
传什么,什么时间传输由应用层决定,网络层有问题的表现是通或者不通,以及传输的质量有问题,延时大或者有丢包,这种应用层的延时消息,应该是应用层的配置有问题。
●Ssh采用加密算法,会话的发出应答应该很快,秘钥生成后,双方的通过秘钥进行双向鉴权验证过程是通过加密会话过程,非明文抓包中没办法看到。
●Mysql的默认开启dns查询,当设置一个dns时,查询很快,两个dns时,第二个设置的dns无效,每个dns延时5秒,两个dns会延时10秒左右。
●Wireshark默认的协议端口,非默认端口的抓包,要强制decodeas某种协议来完成信令过程的解析。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ssh mysql 登录 问题解决 过程 总结