zoukankan      html  css  js  c++  java
  • 访问不上服务器的任何端口

               访问不了服务器端口问题

    遇到一个问题:

    客户反馈能够ping通服务器,但远程连接不上服务器(整个公司能有一两个client端能连上服务器),也访问不了服务器上的其他端口

    排查过程如下:

    1.让客户提供telnet端口报错信息,显示超时(通过超时能判断些问题)

     

    2.判断网络连通性,client端可以ping通服务器

     

    3.检查服务器端口是否监听,端口监听正常

     

    4.是否系统内防火墙和pam模块有限制,检查发现系统内iptables/ufwpam模块默认策略 没有问题

    5.检查系统内hosts.denyhosts.allow是否有对客户ip做相关限制,发现没有限制

    6.检查系统内相关日志,也没有异常日志,但客户尝试登陆的日志并没有记录到auth.log里,从这里看估计请求都没有到达七层应用层面去,不然日志服务正常的话肯定会记录。

    7.让客户连接然后在服务器端抓包发现,服务器能收到syn包,但是没有回应。这就能定位是系统层面限制导致的了,只要找到这个限制就行(结合第五条分析,基本判断限制是在系统层面的,不是应用层面的限制了)

     

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    一番抓耳挠腮 N个小时之后,通过客户提供的主机权限,发现/etc/sysctl.conf文件在客户反馈问题的当天有做配置修改。

     

    接着进行配置查看发现net.ipv4.tcp_rw_recycle = 1这个内核参数值为1,由于客户公司内网办公环境是通过NAT转换成一个固定公网ip外出访问,但开启了这个参数之后,服务器会对收到的包进行时间戳比对,但NAT环境中多台主机同时请求就会出现TPC/IP时间戳不连续,造成服务端丢弃数据包 不做响应,刚好克制这种NAT环境,让客户把rw_recycle的值改成0在测试就好了。

    之前还问过客户有没有做相关配置改动,客户一个劲说 没有 没有啊!

    进一步学习tcp_rw_recycle和tw_reuse参数可以参考这篇文章:

    https://www.cnblogs.com/Tao9/p/8267121.html

    请问世界上什么最硬??  那肯定是客户的嘴啊!

    不过这客户还是很有爱的哈哈哈

  • 相关阅读:
    Django Admin 日期字段格式化(转载)
    关于跨域请求和django处理跨域请求最佳解决方案的总结(转载)
    19.循环语句例题
    18.条件分支例题-道理:开发有两个要求:1能实现功能 2.代码最优
    17.循环语句-while循环 do while循环
    16.循环语句---for循环 for break 、for continue 、 for continue配合label写法
    15.条件?value1 : value2 三目运算符-判断语句
    14.switch case break 判断语句
    13.if 条件判断语句if 、if else
    12.经典计算题
  • 原文地址:https://www.cnblogs.com/Tao9/p/8075751.html
Copyright © 2011-2022 走看看