以下是一次记录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. centos7.5安装java JDK、tomcat、mysql

    参考资料: https://www.cnblogs.com/sxdcgaq8080/p/7492426.html https://blog.csdn.net/ds986619036/article/d ...

  2. OsharpNS轻量级.net core快速开发框架简明入门教程-切换数据库(从SqlServer改为MySql)

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

  3. Elasticsearch由浅入深(五)_version乐观锁、external version乐观锁、partial update、groovy脚本实现partial update

    基于_version进行乐观锁并发控制 先构造一条数据出来 PUT /test_index/test_type/ { "test_field": "test test&q ...

  4. CentOS7 Hive 安装

    hive的安装模式有2种,一种是使用自带的derby数据库,另一种是使用mysql作为元数据库.derby方式一般没人用,因为它是单用户模式.这里主要讲解mysql方式. hive仅仅是一个客户端工具 ...

  5. golang ---timeb

    golang 提供了以下两种基础类型 - 时间点(Time) - 时间段(Duration) 除此之外 golang 也提供了以下类型,做一些特定的业务 - 时区(Location) - Ticker ...

  6. Eureka和ZooKeeper的区别

    首先我们先说下: RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则(A:原子性.C:一致性.I:独立性.D:持久性.). NoSql==& ...

  7. nginx 配置反向代理,负载均衡实战解析

    前言:NGINX的反向代理和负载均衡是网站架构中经常用到的一种高并发,高可用的方案,下面我们直接实战操作,当然理论也是要的. 一.反向代理 过程:反向代理:客户端 一>代理 <一> ...

  8. 如何让SQL语句不执行默认排序,而是按照in语句的顺序返回结果

    Oracle: ')order by instr('111,222,333,444,555,666',order_id); Mysql: ') order by instr(',111,222,333 ...

  9. 浅谈Vue.js2.0核心思想

    Vue.js是一个提供MVVM数据双向绑定的库,专注于UI层面,核心思想是:数据驱动.组件系统. 数据驱动: Vue.js数据观测原理在技术实现上,利用的是ES5Object.defineProper ...

  10. 关于ORACLE图形化安装过程中出现的竖线的处理办法

    这种情况上传个jre 并指定下就好了 ~/database/runInstaller -jreLoc /usr/local/jre1.8.0_191/