以下是一次记录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. OsharpNS轻量级.net core快速开发框架简明入门教程-切换数据库(从SqlServer改为MySql)

    OsharpNS轻量级.net core快速开发框架简明入门教程 教程目录 从零开始启动Osharp 1.1. 使用OsharpNS项目模板创建项目 1.2. 配置数据库连接串并启动项目 1.3. O ...

  2. find命令常用参数

    目录 -name -type -size -empty -inum -links -perm -user -group -atime -ctime -mtime -amin -cmin -mmin - ...

  3. 【MySQL】Mariadb安装

    Mariadb安装 1.解压 [root@oradb bin]# tar zxvf mariadb-10.3.18-linux-x86_64.tar.gz [root@oradb bin]# mv m ...

  4. Java中Deque特性及API

    美人如斯,文章如斯! 定义 双向队列:支持插入删除元素的线性集合 特性: 插入.删除.获取操作支持两种形式:快速失败和返回null或true/false 既具有FIFO特点又具有LIFO特点,即是队列 ...

  5. golang--生成某区间的随机数

    import ( "crypto/rand" "fmt" "math" "math/big" ) func main() ...

  6. 【08】Kubernets:Service

    写在前面的话 在 K8S 第一节的时候我们简单提到过 Service 的工作模式有三种:userspace / iptables / ipvs.并且已经知道在目前新版本中默认是 ipvs,前提是在按照 ...

  7. [转] linux 查找文本过滤grep正则表达式命令详解用法

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用 ...

  8. What are regsvr32, regasm and gacutil using for?(转载)

    What are regsvr32, regasm and gacutil using for? Regasm.exe is used to create COM Callable Wrapper ( ...

  9. handle句柄

    若是你向我问起 Win32 程序设计中印象最深(最坑爹)的一个概念是什么,那么我会毫不犹豫地告诉你——句柄(Handles).究其原因,无论是 MSDN 还是 维基百科,对于“句柄”这个词的解说都显得 ...

  10. ABP——切换MySQL数据库

    我是一名.net新手,应公司要求开始学习.net,使用的是土耳其大牛写的框架ASP.NET Boilerplate 简称ABP,是基于DDD的现代ASP.NET开发框架,ABP提供了一个启动模板用于新 ...