用户能ping通和tracert通网站,但打不开

news/2024/5/9 8:54:52/文章来源:https://blog.csdn.net/weixin_34260991/article/details/94273914

问题描述:

最近更换升级了服务器后,一直有个问题,就是很多用户能ping通和tracert通我们的网站,但登陆的时候不正常,偶尔刷新能打开,很不正常。

抓包发现,用户过来的IP能到服务器,但服务器没有回复。

 


  

感谢黄总的分析!!!!

 

以下是从网上找的一些解决方法总结。

 



============================================================================================================================
原文:http://blog.csdn.net/gzh0222/article/details/8000508

针对有些用户能ping通我们的网站,但是连接时超时服务器没有任何响应,怀疑问题处在了了http的三次握手环节,这是决定通过抓包进行分析:

1、有问题机器的截图:

2、正常机器的截图:

3、发现问题

从抓包数据发现,web服务器对出问题机器和正常机器系统的tcp syn包都返回ACK包,但存在问题发出的tcp syn包有时候响应,有时候不响应。不响应时,终端与web服务器之间的tcp连接无法正常建立,导致页面不能打开。对比这两种数据包,就在时间戳上有差异,存在问题的机器发出的tcp syn包带有时间戳,因此怀疑时间戳问题导致的故障。

4、解决问题

既然怀疑是时间戳导致的,那我们就着手分析如果将出现问题的机器的时间戳去掉会不会解决问题。针对带有时间戳的tcp syn包不响应的问题,查阅了相关资料得知产生问题的原因是出问题系统中的注册表中有Tcp1323opts这个选项,会导致其在发包时加入时间戳,经过nat之后,如果前面相同的端口被使用过,且时间戳大于这个链接发出的syn中的时间戳,服务器上就会忽略掉这个syn,不返会syn-ack消息,表现为用户无法正常完成tcp3次握手,从而不能打开web页面。在业务闲时,如果用户nat的端口没有被使用过时,就可以正常打开;业务忙时,nat端口重复使用的频率高,很难分到没有被使用的端口,从而产生这种问题。

目前看有两种方法解决:

(1)    是在服务器上修改变量

首先我们先查看一下我们服务器net.ipv4.tcp_timestamps的默认值,如果该值为0测说名不是该问题导致,如果是1我们需要将该值设置为1。

查看默认值的方法:[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_timestamps

修改该值的方法:vim /etc/sysctl.conf  添加 net.ipv4.tcp_timestamps=0

(2)修改客户端的注册表Tcp1323Opts设置为0。

 

备注:

Tcp1323Opts

说明:该参数控制 RFC 1323 时间戳与窗口缩放选项。默认情况下,启用时间戳与

窗口缩放,但是可以使用标志位进行控制。0 位控制窗口缩放,1 位控制时间戳。

值为0(禁用 RFC 1323 选项)

值为1(仅启用窗口缩放)

值为2(仅启用时间戳)

值为3(两个选项均启用)

 

net.ipv4.tcp_timestamps=0

说明:时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉。

值为0(禁用时间戳)

值为1(启用时间戳)

 

只有客户端和服务端都开启时间戳的情况下,才会出现能ping通不能建立tcp三次握手的情况,所以做为提供服务的公司,不可能保证所有的用户都关闭时间戳,这个功能,所以我们必须关闭时间戳,这样才能给所用用户提供正常的服务。



使用该命令使其立马生效:/sbin/sysctl-p

============================================================================================================================
原文:http://blog.sina.com.cn/s/blog_781b0c850100znjd.html

    近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关;
1. 现象
    第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp timestamp,而模块B开启了tcp timestamp;
    第二个现象:不同主机上的模块C(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1 connect成功,而主机C2 connect失败;

2. 分析
    根据现象上述问题明显和tcp timestmap有关;查看linux 2.6.32内核源码,发现tcp_tw_recycle/tcp_timestamps都开启的条件下,60s内同一源ip主机的socket connect请求中的timestamp必须是递增的。
    源码函数:tcp_v4_conn_request(),该函数是tcp层三次握手syn包的处理函数(服务端);
    源码片段:
       if (tmp_opt.saw_tstamp &&
            tcp_death_row.sysctl_tw_recycle &&
            (dst = inet_csk_route_req(sk, req)) != NULL &&
            (peer = rt_get_peer((struct rtable *)dst)) != NULL &&
            peer->v4daddr == saddr) {
            if (get_seconds() < peer->tcp_ts_stamp + TCP_PAWS_MSL &&
                (s32)(peer->tcp_ts - req->ts_recent) >
                            TCP_PAWS_WINDOW) {
                NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_PAWSPASSIVEREJECTED);
                goto drop_and_release;
            }
        }
        tmp_opt.saw_tstamp:该socket支持tcp_timestamp
        sysctl_tw_recycle:本机系统开启tcp_tw_recycle选项
        TCP_PAWS_MSL:60s,该条件判断表示该源ip的上次tcp通讯发生在60s内
        TCP_PAWS_WINDOW:1,该条件判断表示该源ip的上次tcp通讯的timestamp 大于 本次tcp

    分析:主机client1和client2通过NAT网关(1个ip地址)访问serverN,由于timestamp时间为系统启动到当前的时间,因此,client1和client2的timestamp不相同;根据上述syn包处理源码,在tcp_tw_recycle和tcp_timestamps同时开启的条件下,timestamp大的主机访问serverN成功,而timestmap小的主机访问失败;

    参数:/proc/sys/net/ipv4/tcp_timestamps - 控制timestamp选项开启/关闭
          /proc/sys/net/ipv4/tcp_tw_recycle - 减少timewait socket释放的超时时间

3. 解决方法
    echo 0 > /proc/sys/net/ipv4/tcp_tw_recycle;
    tcp_tw_recycle默认是关闭的,有不少服务器,为了提高性能,开启了该选项;
    为了解决上述问题,个人建议关闭tcp_tw_recycle选项,而不是timestamp;因为 在tcp timestamp关闭的条件下,开启tcp_tw_recycle是不起作用的;而tcp timestamp可以独立开启并起作用。
    源码函数:  tcp_time_wait()
    源码片段:
        if (tcp_death_row.sysctl_tw_recycle && tp->rx_opt.ts_recent_stamp)
            recycle_ok = icsk->icsk_af_ops->remember_stamp(sk);
        ......
       
        if (timeo < rto)
            timeo = rto;

        if (recycle_ok) {
            tw->tw_timeout = rto;
        } else {
            tw->tw_timeout = TCP_TIMEWAIT_LEN;
            if (state == TCP_TIME_WAIT)
                timeo = TCP_TIMEWAIT_LEN;
        }

        inet_twsk_schedule(tw, &tcp_death_row, timeo,
                   TCP_TIMEWAIT_LEN);

    timestamp和tw_recycle同时开启的条件下,timewait状态socket释放的超时时间和rto相关;否则,超时时间为TCP_TIMEWAIT_LEN,即60s;

    内核说明文档 对该参数的介绍如下:
    tcp_tw_recycle - BOOLEAN
    Enable fast recycling TIME-WAIT sockets. Default value is 0.
    It should not be changed without advice/request of technical
    experts.

原文链接:http://blog.sina.com.cn/u/2015038597


============================================================================================================================
原文:http://www.verydemo.com/demo_c167_i3289.html
linux 服务器 无法建立TCP连接 时间戳 net.ipv4.tcp_timestamps


一.情况表现为
    1.在公司内网对站点的http访问:
        linux主机出现故障:curl以及抓包分析,发现服务端不响应linux客户端的请求,无法建立TCP连接,浏览器返回“无法连接到服务器”
        windows主机正常
    2.http访问质量下降:
        基调显示,新架构上线后,访问质量下滑,主要表现为
        2.1.访问提示“无法连接到服务器”
        2.2.仅少数人遇到这种故障,并且一天中不是每次访问都会遇到,而是出现时好时坏的现象

二.处理过程
    直接上google搜索关键字“服务器无法建立TCP连接”。
    翻了几页后,发现这篇博文:“http://www.sunchis.com/html/os/linux/2012/0518/413.html”。
    看了一下,和我们公司内网的表现一模一样,但各种问题(1为这方面基础知识薄弱,2为没有时间验证此配置)
    然后这种问题持续了n久...一直以为是内部设备问题
    后期搞不定了,大胆在线上启用这个参数“net.ipv4.tcp_timestamps = 0”,做了下测试后,发现故障解除,原故障机每次访问都正常了!
    不过还是不明其中原理,只是大意了解,同样处于NAT上网方式的用户里(与别人共用出口IP地址),如果你的时间戳小于别人的,那么服务器不会响应你的TCP请求,要忽略此项,将net.ipv4.tcp_timestamps = 0(/etc/sysctl.conf)
    
三.总结
    后期学习时,看见了一个更加详细的博客,讲的很详细,也引入了新的问题:http://huoding.com/2012/01/19/142
    ====== 小抄 ======
    其实,linux服务器原本对时间戳(timestamps)默认是不开启的,Linux是否启用这种行为取决于tcp_timestamps和tcp_tw_recycle,因为tcp_timestamps缺省就是开启的,所以当tcp_tw_recycle被开启后,实际上这种行为就被激活了。
    net.ipv4.tcp_tw_recycle又是啥呢,搜索了一下基本上是TIME_WAIT连接的回收参数
    当 net.ipv4.tcp_timestamps 没有设置(缺省为开启),并且 net.ipv4.tcp_tw_recycle 也开启时,这个坑爹的错误就出现了,但是注意,只表现在NAT网络环境中。而且,大多数博客,以及一些大牛们,都有说过要开启 net.ipv4.tcp_tw_recycle ...
    ====== 小抄 ======
    
四.未完成的事项
    上文 http://huoding.com/2012/01/19/142 中提到的:
    1.(未验证)关闭timestamps后,tw_recycle功能是失效的问题
    2.(未验证)新的解决TIME_WAIT连接过多的方法:net.ipv4.tcp_max_tw_buckets = 10000 设置一个最大值,不过坏处是系统日志会提示:TCP: time wait bucket table overflow

转载于:https://www.cnblogs.com/xuxyblog/p/4013738.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_762328.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用SharePoint Workspace 2010同步SharePoint网站

你用什么保存你的文档&#xff1f;U盘、网盘&#xff0c;还是FTP、邮箱&#xff08;网络存储&#xff09;&#xff1f;想没有想过&#xff0c;将你的文档“随手”保存在你的网站并且与你的计算机&#xff08;即使你有多台计算机&#xff09;随时同步&#xff1f;如果你像我一样…

django企业门户网站系统项目(二)

一、项目准备 话不多说&#xff0c;我们开始准备项目的开发环境和软件 我的开发环境是&#xff1a;python 3.7.4&#xff0c;pycharm&#xff08;不知道这个软件的可以去官网下载&#xff0c;百度一下就可以找到&#xff0c;专业版的有学生认证是免费的&#xff0c;不想认证也…

django企业门户网站系统项目(三)

一、引入bootstrap 上一节我们已经可以访问项目在前台显示了。下面来完善我们的项目。 为了节省开发&#xff0c;我们引入bootstrap&#xff0c;去官网下载bootstrap&#xff0c;解压之后找到dist/文件夹里面包含了css、fonts、js等&#xff0c;将这三个文件夹复制到我们的sta…

django企业门户网站系统项目(四)

基于上一篇文章&#xff0c;我们来构建“科研基地”页面 一、科研基地页面 头部我们引入了base.html这个模板 {% extends base.html %} {% load static %}{% block title %}科研基地_恒达科技 {% endblock %}{% block content %}<div class"container-fluid"&g…

django企业门户网站系统项目(五)

接着上一章的内容&#xff0c;我们继续来完善系统&#xff0c;我们接下去的是“公司简介”模块。 在这一模块中我们分为两个页面&#xff1a;企业概况和荣誉资质。 我们在页面的侧边栏可以选择那一页的内容。 一、企业概况 在templates中新建文件夹aboutApp&#xff0c;用于…

Chrome 如何知道网站启用了SPDY 协议?

地址栏输入chrome://net-internals/#spdy在host后查看协议&#xff0c;google和dropbox用https协议的开启了3. 也可以通过安装插件来查看&#xff08;SPDY Indicator&#xff09;

优化LNMP架构采用“Website Baker”为小型公司创建高性能网站方案

优化LNMP架构采用“Website Baker”为小型公司创建高性能网站方案 参考图片&#xff1a;1.一、安装部署各种软件: 1.系统环境: 硬件:HP 360G4/2G System:Centos 5.4 Web:nginx-1.1.6.tar.gz FastCGI:php-5.3.8.tar.gz DB:mysql-5.5.3-m3.tar.gz 2. 安装编译环境 #yum…

开通企业邮箱之前,请登录您企业网站的域名注册服务商的域名管理平台,进行DNS配置及指向设置,谢谢您的配合...

在开通企业邮箱之前&#xff0c;请登录您企业网站的域名注册服务商的域名管理平台&#xff0c;进行DNS配置及指向设置&#xff0c;谢谢您的配合&#xff01; 您的域名管理平台是&#xff1a; 新网万网enamegodaddy其他域名注册商CNAME解析未生效时怎样登录如果您的域名注册商不…

推荐25个免费下载精美网站模板的网站

这篇文章向大家推荐25个免费下载网站模板的网站&#xff0c;这些网站分享了众多精美的网站模板&#xff0c;您可以免费下载使用&#xff0c;相信这些精美的 网站模板 既能够帮助您节省大量的时间和精力&#xff0c;又能有很满意的效果&#xff0c;希望这些网站能帮助到您。 1. …

网站图片变灰的通用CSS解决方案

为什么80%的码农都做不了架构师&#xff1f;>>> <style> html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%); filter: url("data:image/svgx…

antv图表 根据屏幕大小响应式_什么是响应式网站,为什么要做响应式网站?

在如今的智能设备时代&#xff0c;有人用电脑、有人用笔记本、有人用平板、有人用手机&#xff0c;还有人用电视上网&#xff1b;就算是同一个人&#xff0c;有时候也是上班用电脑、下班用手机&#xff1b;或者&#xff0c;各种不同手机&#xff0c;屏幕大小也不一样。那么&…

权重6老站SEO诊断,我的网站突破口在哪里?

SEO在中国互联网起步不足十年&#xff0c;当下SEO市场混象横生、门派体系混乱&#xff0c;一个短期的SEO培训收费一万八&#xff0c;一个不足10页内容的网站SEO诊断收费破两万&#xff0c;这些都反映出SEO在国内曾经如何疯狂扩张。如今2016快要到来&#xff0c;SEOer也从野蛮生…

大型网站技术架构 笔记

2019独角兽企业重金招聘Python工程师标准>>> 大型网站架构演化 特点&#xff1a; 高并发、大流量 高可用 海量数据 用户分布广泛、网络情况复杂 安全环境恶劣 需求快速变更、发布频繁 渐进式开发 演化发展历程 0. 演变原因 在现有架构下&#xff0c;我们来…

关于小米手机网站抢购的一点技术分析

2019独角兽企业重金招聘Python工程师标准>>> 先PS一下&#xff1a;最近小米手机火了&#xff0c;看起来好像地球人已经不能阻止它的发展趋势了 其实本文论述的技术也并非小米手机专用&#xff0c;只是用小米手机来做借鉴&#xff0c;但课题起源于朋友请求帮忙购买小…

百度云服务器网络检查,百度推出网站安全监测平台,为服务器提供安全漏洞扫描...

原标题&#xff1a;百度推出网站安全监测平台&#xff0c;为服务器提供安全漏洞扫描我无意间发现一个检查网站案例的工具&#xff1a;百度云扫描平台。可以为同学们提供网站的安全检查&#xff0c;下面将介绍如何利用这个安全平台为网站提供安全检测。网站安全性一直是互联网重…

ASP.NET网站权限设计实现(一)——使用PowerDesigner进行数据库设计

这里用PowerDesigner做一个初步的设计&#xff0c;后面可能会有修改。1、启动PowerDesigner新建物理数据模型2、工具栏3、新建表模型4、添加第一张表&#xff0c;可以双击表或右键菜单打开下面窗口别忘了把Owner选上dbo&#xff0c;然后切换到Columns选项卡完成后&#xff0c;表…

提高您的网站UX的10个有用的jQuery插件

结合jQuery有效在自己的网站建立良好的界面是一个伟大的方式&#xff0c;使用jQuery插件&#xff0c;帮助用户更加直观和互动显示内容。在这篇文章中&#xff0c;我会告诉你一个jQuery插件插件&#xff0c;提高你的用户体验。 Nivo Slider NIVO Slider是一个jQuery滑块插件&…

百度地图API 学习网站

2019独角兽企业重金招聘Python工程师标准>>> 官方示例&#xff1a;http://developer.baidu.com/map/jsdemo.htm#a1_2 &#xff08;注意&#xff1a;此网页可能由于浏览器问题&#xff0c;源代码编辑器中的代码不能看到。火狐亲测有效&#xff09; http://developer.…

十大好网站(转自豆瓣)

2019独角兽企业重金招聘Python工程师标准>>> 1、礼物街 http://www.giftjie.com/ 还在为送礼发愁吗?在这里和你一起发现礼物.分享礼物.收藏礼物 2、心理网-改变从这里开始 http://www.xinli001.com/        一个简单、温暖的心理网站&#xff0c;心理学爱好者…

奇奇seo优化软件_广东seo自动优化软件

广东seoxaa0c1自动优化软件&#xff0c;这个互联网时代&#xff0c;谁也不愿意在网络上缺席&#xff0c;企业商家更不愿意放弃网络这个巨大的宣传渠道&#xff0c;他们纷纷在网络上建立自己的企业网站&#xff0c;并且对网站进行多种优化&#xff0c;获取更多的流量&#xff0c…