banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Linux] CentOS配置VPN代理伺服器

之前講到使用 VPS 的 SSH 加密通道實現透明代理來輕鬆實現翻越 GFW,但是未越獄的 iphone 設備卻無法使用 SSH,只能使用 VPN,為了使自己的 iphone 能夠翻越 GFW,最近我在自己的 VPS 上使用 PPTP 搭建了 VPN 服務,搭建過程相對還是比較簡單的,我這裡使用的是 CentOS 6.4, 其他發行版本 linux 的配置基本一致。

1. 首先確認 VPS 的 PPP 和 TUN 設備是否安裝正確

ls /dev/ppp
ls /dev/net/tun

#

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

如果提示 “No such file or directory” 或 “No such device or address” 則表示未安裝,一般來說可以直接向你的 VPS 提供商發工單要求打開即可。 2. 安裝 pptp,由於 pptp 依賴於 ppp,因此需要先安裝 ppp

yum install -y ppp
yum install -y pptp

3. 創建 VPN 專用管道

mknod /dev/ppp c 108 0

如果連接 VPN 時出現 619 錯誤的話,也可以執行以上

4. 修改 /etc/sysctl.conf,打開 ipv4 轉發 打開文件後找到以下內容,並修改。

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

生效對 /etc/sysctl.conf 的修改(可選)

sysctl -p

或者執行

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/tcp_syncookies

5. 修改 /etc/pptpd.conf 文件,設置 VPN IP 地址。寫入

localip XXX.XXX.XXX.XXX
remoteip XXX.XXX.XXX.XXX-XXX

localip 為本地 IP,即本機 IP remoteip 為遠程主機會被分配的 IP, 通常設置為連續 ip 段

6. 修改 /etc/ppp/options.pptpd 文件,完成 VPS 伺服器 DNS 修改

ms-dns 8.8.8.8
ms-dns 8.8.4.4

7. 編輯 /etc/ppp/chap-secrets,配置 VPN 連接的使用者 格式為

username pptpd password *

username: 使用者名稱 password: 密碼

或者執行

echo "username pptpd password *" >> /etc/ppp/chap-secrets

8. 修改 iptables 設置,打開防火牆

iptables -A FORWARD -s XXX.XXX.XXX.XXX/XX -p tcp -m tcp --tcp-flags
FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

#save
service iptables save

其中 XXX.XXX.XXX.XXX/XX 為第 5 步設置的遠程 IP

9. 配置開機啟動服務(可選)

chkconfig iptables on
chkconfig pptpd on

10. 啟動或重啟 pptp 和 iptables 服務

# service iptables start

service pptpd start#

service iptables restart
service pptpd restart

最後提供一個 CentOS/RHEL 適用的一鍵安裝腳本 http://www.diahosting.com/dload/pptpd.sh

用法:

wget http://www.diahosting.com/dload/pptpd.sh
sh pptpd.sh

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。