CentOS系统安装PPTP(Xen+OpenVZ)完整教程

内容摘要
在VPS上安装PPTP VPN,简直完美的阐释了“会者不难,难者不会”的道理。我谷歌百度必应了好几天,几乎网上大部分教程都不能完全正确,终于在昨天连滚带爬的给整出来了,怕
文章正文

在VPS上安装PPTP VPN,简直完美的阐释了“会者不难,难者不会”的道理。我谷歌百度必应了好几天,几乎网上大部分教程都不能完全正确,终于在昨天连滚带爬的给整出来了,怕忘了,赶紧写下来。

本文适合于能开通TUN和PPP的VPS,仅限Xen和OpenVZ,OpenVZ如果用的是SolusVM控制面板,则可以自己在后台打开。对了,我的操作系统是CentOS6.4 32位。

一、确认开通了TUN和PPP

Xen用户请忽略这一步!


复制代码
代码如下:

cat /dev/ppp

结果输出为: cat: /dev/ppp: No such device or address

复制代码
代码如下:

cat /dev/net/tun

结果输出为: cat: /dev/net/tun: File descriptor in bad state

如果这两项输出的和我给出的不一样,但只要不是“Permission denied”就都没问题,否则是一定不能装的

二、安装PPP,PPTP

建议先卸载自带的PPP

复制代码
代码如下:

yum remove ppp

安装libpcap

复制代码
代码如下:

yum -y install libpcap

安装ppp-2.4.5-5

复制代码
代码如下:

rpm -ivh https://lccss.googlecode.com/files/ppp-2.4.5-5.el6.i686.rpm

或者

复制代码
代码如下:

yum -y install ppp

安装pptpd-1.3.4-2

复制代码
代码如下:

rpm -ivh http://lccss.googlecode.com/files/pptpd-1.3.4-1.el6.nux.i686.rpm

更新一下,如果是CentOS6,可以直接使用yum安装,省得上边这么麻烦。默认的yum是没有pptp的,所以要先升级源:

复制代码
代码如下:

rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm

然后直接安装pptpd即可(ppp和libpcap会一块安装的)

复制代码
代码如下:

yum install pptpd


三、各种配置

箭头左边是需要修改的内容,箭头右边是修改后应该的样子


复制代码
代码如下:

vi /etc/pptpd.conf


去掉#


复制代码
代码如下:

# localip 192.168.0.1 -> localip 192.168.0.1
# remoteip 192.168.0.234-238,192.168.0.245 ->remoteip 192.168.0.234-238,192.168.0.245</p> <p>vi /etc/ppp/options.pptpd


去掉#,并替换为google的dns

复制代码
代码如下:

# ms-dns 192.168.0.1 -> ms-dns 8.8.8.8
# ms-dns 192.168.0.2 -> ms-dns 8.8.4.4</p> <p>vi /etc/ppp/chap-secrets

创建用户名密码和限定IP,格式为:用户名 ppptp 密码 IP地址
每个字段中间用空格分开,最后的IP地址如果不限定,请用*代替,例如:

复制代码
代码如下:

username pptpd password *

这就代表了你创建了一个叫username的用户,密码是password,任何IP都可以连接

复制代码
代码如下:

vi /etc/sysctl.conf
net.ipv4.ip_forward = 0 -> net.ipv4.ip_forward = 1</p> <p>sysctl -p


Xen和OpenVZ的防火墙转发有所不同

OpenVZ请使用:

复制代码
代码如下:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你VPS的IP

Xen请使用:

复制代码
代码如下:

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE

保存并重启防火墙

复制代码
代码如下:

/etc/init.d/iptables save
/etc/init.d/iptables restart

开启pptpd

复制代码
代码如下:

service pptpd start

好了,现在你就可以用电脑连接你的pptp vpn了!

四、其他一些小问题

619错误, 试试:


复制代码
代码如下:

rm -r /dev/ppp
mknod /dev/ppp c 108 0

800错误,我遇到的都是防火墙问题,由于对iptables非常不懂,所以我就用了个傻方法,就是清除掉之前所有的防火墙规则,然后再使用上边的规则,保持重启就好了。清除之前防火墙规则:

复制代码
代码如下:

iptables -F
iptables -X
iptables -Z


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!