以下是一次记录pptpd vpn无法连接后的心酸历程:

pptp client拨号发现一直无响应,查看日志

  因为pptpd服务端是一台高质量公网地址,所以平时拨入vpn连接都非常快,今天发起拨号请求后却迟迟无相应,所以迅速登录服务端进行排查,发现有以下大量日志:

Jun  5 21:29:38 Linux kernel: pptpctrl[25540]: segfault at 0 ip 00007fc8fd35cbdc sp 00007ffdae051df8 error 4 in libc-2.17.so[7fc8fd1fb000+1c2000]
Jun 5 21:29:39 Linux kernel: pptpctrl[25541]: segfault at 0 ip 00007f8f622b9bdc sp 00007ffc046fc1a8 error 4 in libc-2.17.so[7f8f62158000+1c2000]
Jun 5 21:29:40 Linux kernel: pptpctrl[25543]: segfault at 0 ip 00007fb1f8f6fbdc sp 00007fffdbb25888 error 4 in libc-2.17.so[7fb1f8e0e000+1c2000]
Jun 5 21:29:41 Linux kernel: pptpctrl[25545]: segfault at 0 ip 00007fbe200c6bdc sp 00007ffde8a4c418 error 4 in libc-2.17.so[7fbe1ff65000+1c2000]
Jun 5 21:29:42 Linux kernel: pptpctrl[25547]: segfault at 0 ip 00007fee8be1cbdc sp 00007fffb5f20be8 error 4 in libc-2.17.so[7fee8bcbb000+1c2000]
Jun 5 21:29:43 Linux kernel: pptpctrl[25549]: segfault at 0 ip 00007f691543ebdc sp 00007ffe86de6ef8 error 4 in libc-2.17.so[7f69152dd000+1c2000]
Jun 5 21:29:45 Linux kernel: pptpctrl[25551]: segfault at 0 ip 00007f9315618bdc sp 00007fff606f7ab8 error 4 in libc-2.17.so[7f93154b7000+1c2000]
Jun 5 21:29:46 Linux kernel: pptpctrl[25553]: segfault at 0 ip 00007fb6fe23ebdc sp 00007ffdef6334e8 error 4 in libc-2.17.so[7fb6fe0dd000+1c2000]
Jun 5 21:29:47 Linux kernel: pptpctrl[25555]: segfault at 0 ip 00007f036e287bdc sp 00007ffebb2d5d28 error 4 in libc-2.17.so[7f036e126000+1c2000]
Jun 5 21:29:48 Linux kernel: pptpctrl[25556]: segfault at 0 ip 00007fae58ad6bdc sp 00007ffe71a1eaa8 error 4 in libc-2.17.so[7fae58975000+1c2000]
Jun 5 21:29:49 Linux kernel: pptpctrl[25559]: segfault at 0 ip 00007f6b5cfe4bdc sp 00007ffe5827ce08 error 4 in libc-2.17.so[7f6b5ce83000+1c2000]

  此条日志在pptpd服务启动后就会频繁出现,于是开始查看pptpd进程状态是否正常。

查看服务运行状态

ps aux|grep pptpd

root      21285  0.0  0.0  10732   932 ?        Ss   20:09   0:00 /usr/sbin/pptpd -f
root 25267 0.0 0.0 6472 664 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25269 0.0 0.0 6472 664 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25271 0.0 0.0 6472 664 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25273 0.0 0.0 6472 660 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25275 0.0 0.0 6472 660 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25276 0.0 0.0 6472 660 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25278 0.0 0.0 6472 664 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25280 0.0 0.0 6472 660 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25282 0.0 0.0 6472 656 ? S 21:27 0:00 pptpd [192.168.1.1]
root 25284 0.0 0.0 6472 660 ? S 21:27 0:00 pptpd [192.168.1.1]
root 26608 0.0 0.0 112708 992 pts/1 S+ 21:41 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn pptpd

  此处由于涉及到公网IP地址信息,所以将公网IP换成了内网,根据当前的进程信息可以看出除了pptpd主进程之外,还有十个pptpd的进程,此时还不能定位这些进程的作用。

systemctl status pptpd

● pptpd.service - PoPToP Point to Point Tunneling Server
Loaded: loaded (/usr/lib/systemd/system/pptpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2019-06-05 20:09:24 CST; 1h 34min ago
Main PID: 21285 (pptpd)
CGroup: /system.slice/pptpd.service
├─21285 /usr/sbin/pptpd -f
├─25267 pptpd [192.168.1.1]
├─25269 pptpd [192.168.1.1]
├─25271 pptpd [192.168.1.1]
├─25273 pptpd [192.168.1.1]
├─25275 pptpd [192.168.1.1]
├─25276 pptpd [192.168.1.1]
├─25278 pptpd [192.168.1.1]
├─25280 pptpd [192.168.1.1]
├─25282 pptpd [192.168.1.1]
└─25284 pptpd [192.168.1.1] Jun 05 21:27:34 centos-bj pptpd[25267]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:35 centos-bj pptpd[25269]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:36 centos-bj pptpd[25271]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:37 centos-bj pptpd[25273]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:38 centos-bj pptpd[25275]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:39 centos-bj pptpd[25276]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:40 centos-bj pptpd[25278]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:42 centos-bj pptpd[25280]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:43 centos-bj pptpd[25282]: CTRL: Client 192.168.1.1 control connection started
Jun 05 21:27:44 centos-bj pptpd[25284]: CTRL: Client 192.168.1.1 control connection started

对当前状态进行判断

  此时我已经非常合理的对这是个进程,和这个IP产生了怀疑,并且这个问题无论是重启服务器或者pptpd服务都不能解决,为了尽快恢复,我拒绝了这个IP的所有访问。

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='36.102.10.136' reject"

  拒绝了此IP的所有访问后,发现重启服务,没有此报错了。

● pptpd.service - PoPToP Point to Point Tunneling Server
Loaded: loaded (/usr/lib/systemd/system/pptpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2019-06-05 22:02:16 CST; 1s ago
Main PID: 28830 (pptpd)
CGroup: /system.slice/pptpd.service
└─28830 /usr/sbin/pptpd -f Jun 05 22:02:16 centos-bj systemd[1]: Started PoPToP Point to Point Tunneling Server.
Jun 05 22:02:16 centos-bj pptpd[28830]: MGR: Maximum of 100 connections reduced to 10, not enough IP addresses given
Jun 05 22:02:16 centos-bj pptpd[28830]: MGR: Manager process started
Jun 05 22:02:16 centos-bj pptpd[28830]: MGR: Maximum of 10 connections available

  此时查看VPN服务正常了,并且注意到了MGR: Maximum of 10 connections available也就是可用的最大连接数只有10个,我的进程都被占用了,所以连接失败了,调大IP池以及连接数,这个问题就解决了。

pptpd pptpctrl[25553]: segfault at 0 ip 00007fb6fe23ebdc sp 00007ffdef6334e8 error 4 in libc-2.17.so[7fb6fe0dd000+1c2000] pptp拨号连接失败的更多相关文章

  1. 解决CentOS 7安装zabbix 3.0 无法启动zabbix-server的问题[segfault at 18 ip 00007f78842b4bd0 sp 00007fff1995a818 error 4 in libpthread-2.17.so[7f78842ab000+16000]]

    解决CentOS 7安装zabbix 3.0 无法启动zabbix-server的问题 [root@localhost sbin]# service zabbix-server start Redir ...

  2. Ubuntu 16.04升级4.7.0内核后导致Compiz奔溃,问题:compiz[4852]: segfault at 48 ip 00007f88cae087f0 sp 00007ffce354c268 error 4 in libscale.so

    由于硬件的驱动支持问题,升级4.7.0的内核主要是为了能使用Intel HD Graphics 630驱动,但是也出现了相关问题,比如Compiz的特效导致桌面上如果有多个相同程序启动,然后再次点击时 ...

  3. segfault at 0 ip sp error 14

    error 14从未见过.谁能帮我解答什么情况才会出现这个,而且怎么定位崩溃函数地址? 备忘: segfault at 引起故障的地址ip 指令的内存地址sp 堆栈指针地址, 及栈顶指针err is ...

  4. com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

      问题描述:最简单的数据库连接报错,到主机  的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerExcep ...

  5. 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(1)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  6. 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(2)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  7. JDBC:SqlServer连接TCP/IP连接失败,到主机 的 TCP/IP 连接失败。报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。

    作者QQ:1161493927,欢迎互相交流学习. 报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败. j ...

  8. Robomongo 0.9.0 连接mongo数据库时,提示连接失败 的解决方案

    Robomongo 0.9.0 连接mongo数据库时,提示连接失败.(IP和端口号确定是对的) 基本注意点: 1.mongodb服务打开,打开时,指定端口号,默认为27017,使用默认值,则不用指定 ...

  9. 安装PHP sphinx扩展 sphinx-1.1.0/sphinx.c:105:2: error: too few arguments 错误

    表现: /home/sphinx-1.1.0/sphinx.c: In function 'php_sphinx_client_read_property':/home/sphinx-1.1.0/sp ...

随机推荐

  1. JAVA基础系列:Arrays.binarySearch二分查找

    首先,binarySearch方法为二分法查找,所以数组必须是有序的或者是用sort()方法排序之后的 1)  binarySearch(Object[] a, Object key) a: 要搜索的 ...

  2. Nodejs操作MySQL数据库

    https://github.com/mysqljs/mysql   如何用nodejs操作MySql数据呢,其实写法还是简单的, 1.开始在你的node项目中 npm install mysql - ...

  3. Spring Boot 代码覆盖率测试

    代码覆盖率测试是规范软件开发流程里一个必不可少的环节.一般都是在PG末尾阶段,伴随着IT自测产生. ↑以上,是自己yy出来的啊,反正我司是这样要求的.不跑覆盖率,鬼知道你在代码里夹杂了一些什么东西. ...

  4. Isilon Gen6的换盘步骤

    When a drive is faulted and ready for replacement, OneFS will illuminate the Front Panel Fault LED a ...

  5. zipkin微服务调用链分析(python)

    一,概述 zipkin的作用 在微服务架构下,一个http请求从发出到响应,中间可能经过了N多服务的调用,或者N多逻辑操作,如何监控某个服务,或者某个逻辑操作的执行情况,对分析耗时操作,性能瓶颈具有很 ...

  6. EOF的意义及用法

    c/c++ 中EOF的意义及用法 EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束. 在微软的DOS和Windows中,读取数据时终端不会产生EOF.此时,应用程序知道数 ...

  7. python 练习题:使用迭代查找一个list中最小和最大值,并返回一个tuple

    # -*- coding: utf-8 -*- # 请使用迭代查找一个list中最小和最大值,并返回一个tuple from collections import Iterable def findM ...

  8. Java基础之UDP协议和TCP协议简介及简单案例的实现

    写在前面的废话:马上要找工作了,做了一年的.net ,到要找工作了发现没几个大公司招聘.net工程师,真是坑爹呀.哎,java就java吧,咱从头开始学呗,啥也不说了,玩命撸吧,我真可怜啊. 摘要: ...

  9. 在ASP.NET Web API 2中使用Owin OAuth 刷新令牌(示例代码)

    在上篇文章介绍了Web Api中使用令牌进行授权的后端实现方法,基于WebApi2和OWIN OAuth实现了获取access token,使用token访问需授权的资源信息.本文将介绍在Web Ap ...

  10. Message "'OFFSET' 附近有语法错误。\r\n在 FETCH 语句中选项 NEXT 的用法无效。" 解决办法 EntityFrameworkCore

    由于新版的EntityFrameworkCore默认使用的是SqlServer2012或以上版本的Sql语法分页,来提高性能. 所以使用数据库的版本如果低于2012(如Sqlserver2008)需要 ...