十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你点一下网络图标看看是不是其中有一个网卡连不上网?如果是这样的话那就是正常的,因为连不上网的哪个是内网网卡,你也不用去动,因为内网网卡本来不是为了上网的,而是和内网机器通信用的。
创新互联专注于扬州企业网站建设,响应式网站,成都商城网站开发。扬州网站建设公司,为扬州等地区提供建站服务。全流程按需网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
阿里云服务器偶尔连接不上的问题出现在我做了一些TCP优化之后,出现了公司内网偶尔会出现连接不上服务器的问题,但是切换其他的网络就可以正常连接。
1,登陆服务器查看资源使用top,vmstat等命令查看了一番发现服务器各项指标都没有异常。于是将问题转向了网络层。
2,本地使用ping服务器外网ip正常返回,无丢包,延迟也正常。
3,登录服务器查看tcp相关数据。
发现在卡顿时有大量tcp syn包被丢弃,数值一直在增长。
在查阅资料并结合实际情况后,发现该服务器同时启用了 tcp_timestamps和tcp_tw_recycle参数。
后想起,之前同事为改善time_wait连接数过多问题曾改过该内核参数。
解决办法是,关闭tcp_tw_recycle:
再观察,发现服务已正常,偶尔连接不上的现象消失。
我们先来man一下这两个参数(man tcp):
cp_timestamp 是 RFC1323 定义的优化选项,主要用于 TCP 连接中 RTT(Round Trip Time) 的计算,开启 tcp_timestamp 有利于系统计算更加准确的 RTT,也就有利于 TCP 性能的提升。(默认开启)
关于tcp_timestamps详情请见:
开启tcp_tw_recycle会启用tcp time_wait的快速回收,这个参数不建议在NAT环境中启用,它会引起相关问题。
tcp_tw_recycle是依赖tcp_timestamps参数的,在一般网络环境中,可能不会有问题,但是在NAT环境中,问题就来了。比如我遇到的这个情况,办公室的外网地址只有一个,所有人访问后台都会通过路由器做SNAT将内网地址映射为公网IP,由于服务端和客户端都启用了tcp_timestamps,因此TCP头部中增加时间戳信息,而在服务器看来,同一客户端的时间戳必然是线性增长的,但是,由于我的客户端网络环境是NAT,因此每台主机的时间戳都是有差异的,在启用tcp_tw_recycle后,一旦有客户端断开连接,服务器可能就会丢弃那些时间戳较小的客户端的SYN包,这也就导致了网站访问极不稳定。
主机A SIP:P1 (时间戳T0) --- Server 主机A断开后
主机B SIP:P1 (时间戳T2) T2 T0 --- Server 丢弃
经过此次故障,告诫我们在处理线上问题时,不能盲目修改参数,一定要经过测试,确认无误后,再应用于生产环境。同时,也要加深对相关内核参数的认识和理解。
本文解决灵感来自于
1、程序占用太多资源;
2、防火墙设置问题。
1、防火墙拦截了。请检查iptables和windows防火墙是否规则设置错误(通过VNC),如果是请关闭防火墙或者修改规则,服务器上有安全狗的话把端口安全策略关掉。
2、安全组(阿里云上的)检查,是不是把 0.0.0.0 允许所有连接这条规则给删除了,如果是请改回来,如果有其他规则请删除。
3、可能就是你本地网络的问题吧,或者是服务器被DDOS进入了黑洞。
4、使用了IIS建站。如果是,必须要设置分页内存,否则会经常性的出现无法访问。方法:计算机右键—属性—点击高级项卡(高级系统设置)—高级—性能—设置,分页内存默认0,把分页内存调大,500-5000或者自定义再调大点。
小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:
远程桌面连接 (Microsoft Terminal Services Client, MSTSC):
采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。
管理终端 VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。
使用远程桌面连接 (MSTSC) 登录实例
打开 开始菜单 远程桌面连接,或在 开始菜单 搜索 中输入 mstsc。也可以使用快捷键 Win+R 来启动运行窗口,输入
mstsc后回车启动远程桌面连接。
在 远程桌面连接 对话框中,输入实例的公网 IP 地址。单击 显示选项。
输入用户名,如小鸟云默认为 niaoyun。单击 允许我保存凭据,然后单击 连接。这样以后登录就不需要手动输入密码了。