Logo

[CentOS]安裝VPN伺服器Poptop(PPTPD)

Poptop – The PPTP Server for Linux
架設點對點PPP撥接式VPN伺服器這類文章其實很多了,而且我googlecode的檔案下載很多次了,想說貼上來做個筆記吧。 ?
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 ?
chkconfig --level 345 pptpd on
service pptpd start

然後用這個指令測試PPTPD有沒有運作成功 ?
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連線

列印本文 列印本文

關於 窮苦人家的小孩

In every democracy, the people get the government they deserve. ~Alexis de Tocqueville
上一篇:
下一篇:

您可能會喜歡

有坂深雪 Miyuki Arisaka

[Debain]安裝HestiaCP

2021新年快樂 🌞㊗☃ 最近 …