【原創】RHEL7-PPTP-VPN-Server排錯

第一次寫博客,明顯不知道如何下筆。

    昨天6月21日,突然發現往日運行一切正常的pptpvpn服務器怎么也連不上了,錯誤代碼是619。這個錯誤代碼以前并沒有見過,于是上google查了一下資料,據說有幾種可能:

1,路由器或防火墻干掉了tcp1723;

2,電腦協議棧問題;

3,撥號連接的認證選項有問題;

    由于服務器一直也沒有改動,電腦之前連接都正常,那我猜測應該是被天朝墻掉了。既然如此,找朋友幫忙測試就能真相大白了,于是找了外地的朋友和外國朋友幫忙測試,然而結果卻不容樂觀:不僅外地的朋友619,外國的朋友竟然也是619,真是意料之外。這樣的話,這幾項可能都排除掉了,問題只可能出在服務器上,只好登陸服務器來查個究竟。

連上之后首先查看日志:tail /var/log/messages | grep ppp

Jun 21 12:54:40 ip-172-31-45-110 pptpd[4173]: CTRL: Starting call (launching pp                              d, opening GRE)

Jun 21 12:54:40 ip-172-31-45-110 pppd[4174]: Plugin /usr/lib64/pptpd/pptpd-logwt                             mp.so loaded.

Jun 21 12:54:40 ip-172-31-45-110 pppd[4174]: pptpd-logwtmp: $Version$

Jun 21 12:54:40 ip-172-31-45-110 pppd[4174]: The remote system is required to au                             thenticate itself

Jun 21 12:54:40 ip-172-31-45-110 pppd[4174]: but I couldn't find any suitable se                             cret (password) for it to use to do so.

Jun 21 12:54:40 ip-172-31-45-110 pptpd[4173]: GRE: read(fd=6,buffer=611860,len=8                             196) from PTY failed: status = -1 error = Input/output error, usually caused by                              unexpected termination of pppd, check option syntax and pppd logs

    節選報錯如上:果然認證失敗,說沒有合適的認證方式。但是查看配置文件之后發現配置與正常運行的時候并無二致。難道是進程出的問題?遂重啟進程,然而并沒有什么卵用,依然是619。經過完整的檢查后,配置全部一切正常。

    這可真是出了奇了,一怒之下只好重啟服務器試試。但是即使整機重啟了,再撥號依然是錯誤619。這下可有點束手無策的感覺了。但是這事不能就這么了了啊,咱的解決這個問題,雖然機器是自己的,但畢竟還有別人在用呢。

    重新整理思路,想到了一點:身份驗證的時候是要用到chap-secrets文件來檢查用戶名密碼,而文件里的內容都好好的保存著,日志里卻說不能找到任何合適的密碼,會不會是文件訪問出現了問題?

于是stat /etc/ppp/chap-secrets一看,果然發現了怪異:

[root@ip-172-31-45-110 ppp]# stat chap-secrets

  File: ‘chap-secrets’

  Size: 290             Blocks: 8          IO Block: 4096   regular file

Device: ca02h/51714d    Inode: 17588514    Links: 1

Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2016-06-19 13:41:01.975812200 -0400

Modify: 2016-06-19 13:41:01.975812200 -0400

Change: 2016-06-19 13:41:01.977812153 -0400

 Birth: –

    這個文件的訪問時間竟然還停留在19號,而今天已經是21號,怪不得pptpd進程一直講沒有合適的密碼,這個文件根本就訪問不到!但是為什么呢,仔細回憶之前的操作,19號那天我使用vpnuser del命令刪除了一個用戶名。(在后面的實驗中也驗證了確實是這條命令導致的)

    故障原因找到了,開始著手處理了,我也不知道應該怎么解除這個不能訪問的狀態,于是直接刪除并重新創建了一個chap-secrets文件在ppp下。重新撥號測試,一切恢復了正常。

    vpnuser應該是一個可執行文件(cat之后顯示是亂碼),這樣的話應該是它占用了chap-secrets導致它不能被pptpd訪問,但是為什么重啟了也不能解決,難道是文件屬性被修改了?于是再次使用vpnuser 測試了一下,發現chap-secrets的文件屬性由-rw-r–r–.變成了-rw——-.。這應該是說只有文件的所有者root才可以讀取這個文件,群組和其他人都沒有權限讀取。但是ps -aux查看出pptpd就是由root所運行,這就比較奇怪了。另外vpnuser這個命令為何會修改讀取權限,也是一個未解之謎。

    以下是測試,確實權限變了:

[root@ip-172-31-45-110 ppp]# stat chap-secrets

  File: ‘chap-secrets’

  Size: 290             Blocks: 8          IO Block: 4096   regular file

Device: ca02h/51714d    Inode: 8828791     Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:pppd_etc_t:s0

Access: 2016-06-21 13:37:38.754584806 -0400

Modify: 2016-06-21 13:37:38.754584806 -0400

Change: 2016-06-21 13:37:38.754584806 -0400

 Birth: –

[root@ip-172-31-45-110 ppp]# vpnuser add 1 1

[root@ip-172-31-45-110 ppp]# stat chap-secrets

  File: ‘chap-secrets’

  Size: 298             Blocks: 8          IO Block: 4096   regular file

Device: ca02h/51714d    Inode: 8828791     Links: 1

Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:pppd_etc_t:s0

Access: 2016-06-21 13:37:38.754584806 -0400

Modify: 2016-06-21 13:39:51.623464409 -0400

Change: 2016-06-21 13:39:51.624464386 -0400

 Birth: –

    運行pptpd的用戶也是root:

[root@ip-172-31-45-110 ppp]# ps -aux| grep pptpd

root      4277  0.0  0.0  10672   744 ?        Ss   12:59   0:00 /usr/sbin/pptpd

原創文章,作者:lichenhan,如若轉載,請注明出處:http://www.www58058.com/19290

(0)
lichenhanlichenhan
上一篇 2016-06-23
下一篇 2016-06-23

相關推薦

  • AOP面向方面編程

    1.引言         軟件開發的目標是要對世界的部分元素或者信息流建立模型,實現軟件系統的工程需要將系統分解成可以創建和管理的模塊。于是出現了以系統模塊化特性的面向對象程序設計技術。模塊化的面向對象編程極度極地提高了軟件系統的可讀性、復用性和可擴展性。向對象方法的焦點在于選擇對象作為模塊的主要單元,并將對象與系統的…

    Linux干貨 2015-04-07
  • Linux 目錄結構

    1.    前言      Linux 是一種開源的,且非常流行的操作系統,發行版本眾多。為了統一和規范linux系統的主要目錄名及其用途,提出了FHS標準,FHS是File Hierarchy Standard的簡寫。Linux 目錄結構采用FHS…

    Linux干貨 2016-10-18
  • Linux進程管理命令和性能監控工具的應用

    概述 監控系統的各方面的性能,保障各類服務的有序運行,是運維工作的重要組成部分,本篇就介紹了一些常用的系統監控命令和相關參數的說明 具體包含一下幾個部分 1.進程管理基礎 2.進程管理工具(ps,top,htop,kill) 3.內存監控類工具(vmstat,pmap) 4.系統監控累工具(glances,dstat)…

    Linux干貨 2016-09-26
  • 用戶創建過程&grep練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。     ~]# cp -r /etc/skel /home/tuser1     ~]# ls -la /home/tuser1  &…

    Linux干貨 2016-10-17
  • linux基礎知識之nmcli

           CentOS7才有的功能網絡組:將多塊網卡聚合在一起的方法,從而實現冗錯和提高吞吐量        網絡組不同于舊版中的bonding技術,提供了更好的性能和擴展性        網路組由內核驅動和teamd守護進程實現 &n…

    Linux干貨 2016-09-07
  • ansible基礎應用

    ansible基礎 一、運維主要工作 ansible聚集以上功能于一身,能夠完整輕易的實現應用部署和批量命令功能,適用于主機數量不太多,再大的用puppet。 二、ansible特性 (1)模塊化:調用特定的模塊,完成特定任務; (2)基于python語言實現,由paramiko,PYYAML和JINJa2三個關鍵模塊組成 (3)部署簡單:agentless…

    Linux干貨 2017-01-04
欧美性久久久久