CentOS上搭建PPTP VPN及使用pptpsetup建立连接的方法

安装PPP,PPTP

# yum install -y ppp
# rpm -ivh http://static.ucloud.cn/pptpd-1.3.4-2.el6.x86_64.rpm

注:32位请安装i686版本,将上面链接中的“x86_64”改为“i686”即可,请根据自己的OS安装相应的版本。
编辑pptp.conf,在最后加入以下两行代码

# vim /etc/pptpd.conf
localip 10.8.0.1
remoteip 10.8.0.10-100

编辑options.pptpd,在最后加入以下两行代码

# vim /etc/ppp/options.pptpd

ms-dns 8.8.8.8
ms-dns 8.8.4.4

编辑chap-secrets,account为pptp登录帐号,password为登录密码,其他默认

# vim /etc/ppp/chap-secrets
# client server secret IP addresses
account pptpd password *

编辑sysctl.conf,开启网络转发功能

# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p

配置NAT

# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# iptables-save > /etc/sysconfig/iptables

启动PPTP服务

# service pptpd start

设置为开机启动

# chkconfig pptpd on
# chkconfig iptables on


使用pptpsetup建立VPN连接
过去在自己的CentOS6上要连接远端的VPN服务器,但是在安装了下面的两个包以后,在连接配置中选择VPN连接类型的时候没有PPTP的选项

$ sudo yum install pptp
$ sudo yum install NetworkManager-openswan

查了一下也没有弄明白为啥,后来在使用"sudo yum search pptp"命令查找包的时候发现了一个叫pptp-setup的包,抱着试试看的心安装了一下

$ sudo yum install pptp-setup

然后试着连了一下VPN服务器,竟然很容易就连上了,下面是我的使用方式

$ sudo pptpsetup --create --server --username --password --start

* 其中tunnel是一个别名,自己可以随便起。
* 最后一个参数--start意思是配置完后立刻启动。
运行上面命令后,会得到类似下面的提示

Using interface ppp0
Connect: ppp0 /dev/pts/3
CHAP authentication succeeded: Access granted
CHAP authentication succeeded
local IP address 192.168.0.151
remote IP address 192.168.0.1

此时表明连接已经建立,可以使用ifconfig查看连接情况。
如果想删除连接,可以使用下面的命令来删除

$ sudo pptpsetup --delete