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

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連線

相關文章


安裝VPN伺服器Poptop(PPTPD) on CentOS目前有 26 個評論

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

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

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

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

  3. 要的話 敲我的skype…嘿嘿

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

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

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

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

發表迴響

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

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Go back to top