看了这么久的各种基础,总要动动手才行,搭建个pptp吧。
以下所有命令匀在root权限下执行
1、检查环境
OVZ:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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
5
6
7
|
modprobe ppp-compress-18 &&echo ok
|
显示ok表示支持pptp
如否 执行以下命令后再检测
1
2
3
4
5
6
7
|
yum -y install kernel-devel
|
2、安装pptp及相关的包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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
9
10
11
|
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
9
10
11
|
vi /etc/pptpd.conf
localip 10.8.1.1
remoteip 10.8.1.100-200
|
若是OVZ下 拨号如果出现Error:800 则要注释掉下面这条,因为虚拟机内核不支持mpPE,无法使用加密。
1
2
3
4
5
6
7
|
require-mppe-128
|
配置客户端DNS
1
2
3
4
5
6
7
8
9
10
11
|
vi /etc/ppp/options.pptpd
ms-dns 8.8.8.8
ms-dns 8.8.4.4
|
配置pptp账号密码
1
2
3
4
5
6
7
8
9
|
vi /etc/ppp/chap-secrets
username pptpd passwords * #注意如果密码中有特殊字符需要用引号包含,如"ansen.org"
|
将pptpd加入开机启动
启动pptpd服务
5、启用转发
1
2
3
4
5
6
7
8
9
10
11
12
13
|
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
##以下为OVZ VPS 需要做的改动##
net.ipv4.tcp_syncookies = 1 #注释掉此条
|
保存后执行下面的命令生效
6、配置iptables转发规则
XEN & KVM:
1
2
3
4
5
6
7
|
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 -j MASQUERADE
|
OVZ:
1
2
3
4
5
6
7
8
9
|
#将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
7
8
9
|
service iptables save
service iptables restart
|
ok,pptpd服务器就配置好了,记录一下。
感谢google提供如此方便的资料查询库
PS:如果连接不上请把windows客户端的加密设置为可选,如图: