看了这么久的各种基础,总要动动手才行,搭建个pptp吧。

以下所有命令匀在root权限下执行

1、检查环境

 OVZ:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  
cat /dev/net/tun  
  
cat: /dev/net/tun: File descriptor in bad state  
  
cat /dev/ppp  
  
cat: /dev/ppp: No such device or address

  

显示以上结果表示可以安装pptp,若为“Permission denied”则需要打开tun/tap/ppp功能

XEN & KVM:

1
2
3
4
  
modprobe ppp-compress-18 &&echo ok

  

显示ok表示支持pptp

如否 执行以下命令后再检测

1
2
3
4
  
yum -y install kernel-devel

  

2、安装pptp及相关的包

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
  
yum -y update  
  
yum -y install ppp  
  
yum -y install iptables #如果已安装iptables可以省略此步  
  
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm  
  
#64位系统使用此命令安装pptpd  
  
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

  

3、备份pptp配置文件

1
2
3
4
5
6
7
8
  
cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak  
  
cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak  
  
cp /etc/pptpd.conf /etc/pptpd.conf.bak

  

4、配置pptpd

配置服务器和客户端IP地址

1
2
3
4
5
6
7
8
  
vi /etc/pptpd.conf  
  
localip 10.8.1.1  
  
remoteip 10.8.1.100-200

  

若是OVZ下 拨号如果出现Error:800 则要注释掉下面这条,因为虚拟机内核不支持mpPE,无法使用加密。

1
2
3
4
  
require-mppe-128

  

配置客户端DNS

1
2
3
4
5
6
7
8
  
vi /etc/ppp/options.pptpd  
  
ms-dns 8.8.8.8  
  
ms-dns 8.8.4.4

  

配置pptp账号密码

1
2
3
4
5
6
  
vi /etc/ppp/chap-secrets  
  
username pptpd passwords * #注意如果密码中有特殊字符需要用引号包含,如"ansen.org"

  

将pptpd加入开机启动

启动pptpd服务

5、启用转发

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  
vi /etc/sysctl.conf  
  
net.ipv4.ip_forward=1  
  
##以下为OVZ VPS 需要做的改动##  
  
net.ipv4.tcp_syncookies = 1 #注释掉此条

  

保存后执行下面的命令生效

1
2
3
4
  
sysctl -p

  

6、配置iptables转发规则

XEN & KVM:

1
2
3
4
  
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 -j MASQUERADE

  

OVZ:

1
2
3
4
5
6
  
#将0.0.0.0 改为你的公网IP  
  
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -j SNAT --to-source 0.0.0.0 

  

然后保存规则

1
2
3
4
5
6
  
service iptables save  
  
service iptables restart

  

ok,pptpd服务器就配置好了,记录一下。

感谢google提供如此方便的资料查询库

PS:如果连接不上请把windows客户端的加密设置为可选,如图:

pptp-client