Centos 6.5 x64 安装 pptpd VPN

分类:CentOS教程 阅读:16612 次

本教程适用于Openv VPS、Xen VPS或者KVM VPS。

一、运行如下命令:

cat /dev/net/tun

返回的必须是:

cat: /dev/net/tun: File descriptor in bad state

运行:

cat /dev/ppp

返回的必须是:

cat: /dev/ppp: No such device or address

如果上面返回的不是这两个结果的话,请与VPS客服联系开通ppp和tun权限.

二、下载vpn(CentOS6专用)一键安装包

wget http://www.hi-vps.com/shell/vpn_centos6.sh
chmod a+x vpn_centos6.sh

三、运行一键安装包

bash vpn_centos6.sh

会有三个选择:

1. 安装VPN服务
2. 修复VPN
3. 添加VPN用户

首先输入1,回车,VPS开始安装VPN服务.

四、添加VPN用户

bash vpn_centos6.sh

选择3,然后输入用户名和密码,OK

五、修复VPN服务

如果VPN拨号发生错误,可以试着修复VPN,然后重启VPS

bash vpn_centos6.sh

选择2,然后reboot

以上这篇是转自乔大海的,不过有一些细节修改:

1,随机用户名或密码修改添加:

编辑“/etc/ppp/chap-secrets”,按照如下,替换红字部分:

用户名pptpd密码*

重启即可。

2,这个一键安装包有些地方重复了,重新修改下:

#!/bin/bash

function installVPN(){

echo "begin to install VPN services";

#check wether vps suppot ppp and tun

yum remove -y pptpd ppp

iptables --flush POSTROUTING --table nat

iptables --flush FORWARD

rm -rf /etc/pptpd.conf

rm -rf /etc/ppp

arch=`uname -m`

wget -c http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm

wget -c http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

wget http://www.hi-vps.com/downloads/pptpd-1.3.4-2.el6.$arch.rpm

wget http://www.hi-vps.com/downloads/ppp-2.4.5-17.0.rhel6.$arch.rpm

yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers

rpm -ivh dkms-2.0.17.5-1.noarch.rpm

rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

rpm -qa kernel_ppp_mppe

rpm -Uvh ppp-2.4.5-17.0.rhel6.$arch.rpm

rpm -ivh pptpd-1.3.4-2.el6.$arch.rpm

mknod /dev/ppp c 108 0

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

echo "mknod /dev/ppp c 108 0" >> /etc/rc.local

echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local

echo "localip 172.16.36.1" >> /etc/pptpd.conf

echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf

echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd

echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd

pass=`openssl rand 6 -base64`

if [ "$1" != "" ]

then pass=$1

fi

echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`

iptables -A FORWARD -p tcp --syn -s 172.16.36.0/24 -j TCPMSS --set-mss 1356

service iptables save

chkconfig iptables on

chkconfig pptpd on

service iptables start

service pptpd start

echo "VPN service is installed, your VPN username is vpn, VPN password is ${pass}"

}

function repaireVPN(){

echo "begin to repaire VPN";

mknod /dev/ppp c 108 0

service iptables restart

service pptpd start

}

function addVPNuser(){

echo "input user name:"

read username

echo "input password:"

read userpassword

echo "${username} pptpd ${userpassword} *" >> /etc/ppp/chap-secrets

service iptables restart

service pptpd start

}

echo "which do you want to?input the number."

echo "1. install VPN service"

echo "2. repaire VPN service"

echo "3. add VPN user"

read num

case "$num" in

[1] ) (installVPN);;

[2] ) (repaireVPN);;

[3] ) (addVPNuser);;

*) echo "nothing,exit";;

esac

补充下源码下载地址:http://poptop.sourceforge.net/yum/stable/packages/