标签:端口 ping tcp 问题 openvpn 服务器 连接
1、问题描述:
2、问题基本情况
2.1 我们的Openvpn是使用 firewalld 做 snat 实现访问内网服务器的。
2.2 操作系统版本
2.3 ssh 版本
3、问题思路
3.1 该问题乍一看以为是openssh 问题和Openvpn自身的问题。ping能通说明网络是通的,我们快速判断问题就需要用到tcpdump抓包工具了。从如下截图看是服务器自身不回包,所以问题原因发生在服务器自身。
3.2 防火墙问题,关闭防火墙在测试发现问题依旧存在。
3.3 selinux问题,检查selinux相关设置。
3.4 如上都操作后发现问题依然,这就不能忍了,必须得上百度下或者谷歌了。
4、问题原因
5、问题解决办法
1、问题描述:
接开发反馈,说是通过Openvpn能ping通服务器,但是ssh连接不上服务器。
2、问题基本情况
遇到问题先自己亲自测试一遍,切记。
2.1 我们的Openvpn是使用 firewalld 做 snat 实现访问内网服务器的。
2.2 操作系统版本
[root@app1-192-168-10-80 ~]# uname -r
3.10.0-957.el7.x86_64
2.3 ssh 版本
[root@app1-192-168-10-80 ~]# ssh -V
OpenSSH_7.9p1, OpenSSL 1.0.2k-fips 26 Jan 2017
3、问题思路
3.1 该问题乍一看以为是openssh 问题和Openvpn自身的问题。ping能通说明网络是通的,我们快速判断问题就需要用到tcpdump抓包工具了。从如下截图看是服务器自身不回包,所以问题原因发生在服务器自身。
3.2 防火墙问题,关闭防火墙在测试发现问题依旧存在。
systemctl stop firewalld
3.3 selinux问题,检查selinux相关设置。
[root@app1-192-168-10-80 ~]# setenforce 0
[root@app1-192-168-10-80 ~]# getenforce
Disabled
vim /etc/selinux/config
3.4 如上都操作后发现问题依然,这就不能忍了,必须得上百度下或者谷歌了。
4、问题原因
原理:问题出在了 tcp 三次握手,ping 的通 icmp ok ,http ssh mysql 都不 ok。经过nat之后,如果前面相同的端口被使用过,且时间戳大于这个链接发出的syn中的时间戳,服务器上就会忽略掉这个syn,不返会syn-ack消息,表现为用户无法正常完成tcp3次握手,从而不能打开web页面。在业务闲时,如果用户nat的端口没有被使用过时,就可以正常打开;业务忙时,nat端口重复使用的频率高,很难分到没有被使用的端口,从而产生这种问题。
只有客户端和服务端都开启时间戳的情况下,才会出现能ping通不能建立tcp三次握手的情况
5、问题解决办法
修改 /etc/sysctl.conf 中的如下两个配置,在测试就可以正常访问了。
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 0
sysctl -p 生效
** 附:如上功能在什么环境下会用到。**
今天用php连接最近新开发的一个服务做测试,发现命令行打印出:Cannot assign requested address
网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端 口号,所以新的连接没办法绑定端口,即“Cannot assign requested address”。是客户端的问题不是服务器端的问题。通过netstat,的确看到很多TIME_WAIT状态的连接。
client端频繁建立连接,而端口释放较慢,导致建立新连接时无可用端口。
网上的解决方法:
执行命令修改如下2个内核参数 (需要root权限)
sysctl -w net.ipv4.tcp_timestamps=1 开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
sysctl -w net.ipv4.tcp_tw_recycle=1 表示开启TCP连接中TIME-WAIT sockets的快速回收
来自为知笔记(Wiz)
标签:端口,ping,tcp,问题,openvpn,服务器,连接 来源: https://www.cnblogs.com/flyinghappysheep/p/10599047.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。