安裝VPN伺服器Poptop(PPTPD) on CentOS

作者: | 2010-11-11
Logo

Poptop – The PPTP Server for Linux

架設點對點PPP撥接式VPN伺服器這類文章其實很多了,而且我googlecode的檔案下載很多次了,想說貼上來做個筆記吧。 :P

Step.1 首先測試是否能安裝PPTPD

modprobe ppp-compress-18 && echo ok

如果有回應ok就是代表核心支援PPP,不支援也可以試試看就是了,然後輸入以下兩行指令。

點偶放大

cat /dev/ppp
cat /dev/net/tun

如果回應是如下的狀況就是可以安裝PPTPD了~ :)

cat: /dev/ppp: No such device or address
cat: /dev/net/tun: File descriptor in bad state


點偶放大


點偶放大

Step.2 安裝基本套件

yum install -y ppp iptables

Step.3 依照系統安裝PPTPD

32位元系統
rpm -ihv http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm

64位元系統
rpm -ihv http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

Step.4 建立PPTPD主設定檔

vi /etc/ppp/options.pptpd

直接使用官網的推薦模式即可,DNS可修改為咕狗或其他的,內容以下:

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 4.4.2.1
ms-dns 4.4.2.2

Step.5 建立PPTPD的虛擬IP設定檔

vi /etc/pptpd.conf

這邊也是直接使用官網的推薦模式即可,內容以下:

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

Step.6 建立使用者

vi /etc/ppp/chap-secrets

按照原始檔裡面的說明來增加使用者,格式是一行一個帳號,範例帳號whoami、密碼lulala

# Secrets for authentication using CHAP
# client server secret IP addresses
whoami pptpd lulala *

Step.7 修改PPTPD使用的MTU值

vi /etc/ppp/ip-up

在第16行空白的地方加入如下內容

/sbin/ifconfig $1 mtu 1400

Step.9 設定伺服器可IP轉發

cp /etc/sysctl.conf /etc/sysctl.conf.bak
vi /etc/sysctl.conf

找到以下兩個選項設為1啟動IP轉發

net.ipv4.ip_forward = 0 改成 1
net.ipv4.tcp_syncookies = 0 改成 1

存檔後輸入以下指令啟用IP轉發

/sbin/sysctl -p

Step.10 設定iptables規則,要注意的是第二行的1723端口是必須開放的,有使用其他防火牆的記得要開放1723端口;另外第三行的eth0要對應到你實際使用的網路介面。

iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
service iptables save
service iptables restart

OpenVZ規格的主機則依照下面設定,第三行8.8.8.8的部分要改成主機的真實IP

iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 8.8.8.8
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
service iptables save
service iptables restart


點偶放大

Step.11 加到服務後啟動PPTPD :D

chkconfig --level 345 pptpd on
service pptpd start

然後用這個指令測試PPTPD有沒有運作成功 (F)

ps ax |grep pptpd
netstat -atunp | grep pptpd


點偶放大

如果撥號時提示錯誤619,可以先SSH連線過去後輸入下列指令試試看

rm -rf /dev/ppp
mknod /dev/ppp c 108 0
service pptpd restart

還是不行的話再編輯pptpd.conf

vi /etc/pptpd.conf

將logwtmp加上註解:

#logwtmp

最後在重新啟動PPTPD就應該正常了。

service pptpd restart

VPN番外篇 – Win7設定VPN連線

臉書回應

篇回應

26 thoughts on “安裝VPN伺服器Poptop(PPTPD) on CentOS

  1. 779

    唔~~~ 卡在619錯誤….
    剛剛的我也做了 還是這樣@@
    難道是公司的FIRWWALL太強嗎

    回覆
  2. 窮苦人家的小孩 文章作者

    779哥~ 看一下第一步的回應是什麼先~! (Y)

    唔~~~ 卡在619錯誤….
    剛剛的我也做了 還是這樣@@
    難道是公司的FIRWWALL太強嗎

    回覆
  3. 779

    cat: /dev/ppp: No such file or directory

    噗~~~~

    剛剛受到VPS商的訊息 他們沒有開PPP……………..

    只好轉用OPENVPN….

    回覆
  4. 779

    喔耶 我找到一個用xen的主機商了 也在日本
    不過他說他是雲端類
    只說給你1 vCPU + 80G HDD

    回覆
  5. 779

    用top去看
    是說 ram 1G / SWAP 8G 看樣子 明天回到台灣再來玩

    回覆
  6. 窮苦人家的小孩 文章作者

    真的現在啥米事情都要搞到暈端才帥氣丫! :pu 而且日本主機不限頻寬的,雖然出國可能有差一些,但台灣到日本我覺得還算是很穩定的,就我之前租XREA.COM的虛擬主機經驗來說都很順暢 (F)

    喔耶 我找到一個用xen的主機商了 也在日本
    不過他說他是雲端類
    只說給你1 vCPU + 80G HDD

    回覆
  7. 779

    可惡@@
    SAASES的 是XEN 想說裝一下
    結果RPM安裝完後之後 並沒有出現可以執行的pptpd…..
    這是哪招 冏

    回覆
  8. 窮苦人家的小孩 文章作者

    XEN照理說都能裝啊…發TICKET去問問吧 :er

    可惡@@
    SAASES的 是XEN 想說裝一下
    結果RPM安裝完後之後 並沒有出現可以執行的pptpd…..
    這是哪招 冏

    回覆
  9. 779

    RPM跑完 但是在/etc/init.d/裡面卻沒有pptpd的可執行檔 什麼跟什麼??

    回覆
  10. 779

    把1.72移掉 換成你的 pptpd有出現
    可是變成619…. :kao

    回覆
  11. 779

    全部按到照你的作
    只是沒有iptables那段…. :kao

    回覆
  12. 窮苦人家的小孩 文章作者

    那你現在的PPTPD有啟動起來嗎? :| IPTABLE那段還是要做VPN才會運作的唷!

    全部按到照你的作
    只是沒有iptables那段…. :kao

    回覆
  13. 窮苦人家的小孩 文章作者

    對吼!0.0 我忘了你那台是只能從SU登入的,那你乖乖跟小日本發TICKET聊一下風俗吧! GY

    因為SU拿到ROOT是不能用IPTABLES的 冏

    回覆
  14. 779

    什麼鬼風俗 冏 你要去風俗店的話去東京的小巷就很多了[喂
    我後來找到辦法把它改成可以用root進去了….
    過兩天再TRY一次看看

    回覆
  15. 窮苦人家的小孩 文章作者

    是你自己很熟風俗的唷!不是我 GY

    什麼鬼風俗 冏 你要去風俗店的話去東京的小巷就很多了[喂
    我後來找到辦法把它改成可以用root進去了….
    過兩天再TRY一次看看

    回覆
  16. 779

    是你自己很熟風俗的唷!不是我
    我蝦麼都不知道….

    Saases用起來不錯 從CN連過去也比我之前的DTI快…..
    準備移動……
    也知道怎麼取得root
    問題是port要怎麼弄 一開始選全開 再來慢慢殺 還是??

    回覆
  17. 窮苦人家的小孩 文章作者

    如果你有ROOT了就不用擔心PORT的問題吧~ 一開始先開基本的HTTP、FTP、VPN服務用的PORT,或是利用APF來做管理也很方便,我也是利用APF來管理IPTABLES的 (Y) 搜尋一下,網路很多教學~ (*)

    是你自己很熟風俗的唷!不是我
    我蝦麼都不知道….

    Saases用起來不錯 從CN連過去也比我之前的DTI快…..
    準備移動……
    也知道怎麼取得root
    問題是port要怎麼弄 一開始選全開 再來慢慢殺 還是??

    回覆
  18. 779

    嘿嘿嘿 另外一個KVM也可以玩了 你要玩嗎??

    回覆
  19. 779

    :kao
    遇到鬼打牆了 一台pptp的VPN
    在公司可以連到 在家連不到 這是什麼跟什麼啊@@

    回覆
    1. 窮苦人家的小孩 文章作者

      就跟你說要放乖乖了,不聽~ 哼!(丟筆) FUCK

      遇到鬼打牆了 一台pptp的VPN
      在公司可以連到 在家連不到 這是什麼跟什麼啊@@

      回覆
  20. 779

    終於修好了…
    BTW, 小憂的照片….怎麼一付是正在爽的樣子[咦 :kao

    回覆

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

(A)  :@  (brb)  (U)  (:cc)  :S  (H)  :-(  :cute  (6)  :-#  :$  :er  8-)  FUCK 
(})  ({)  GY  (L)  :kao  (K)  :cc  :pu  (F)  :(  ^o)  :-*  :O  +o(  |-) 
:)  (*)  :D  *-)  (N)  (Y)  :P  :|  (W)  ;)  XD