CentOS搭建pptpd server

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

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

1、检查环境


 OVZ:


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:


modprobe ppp-compress-18 &&echo ok


显示ok表示支持pptp

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


yum -y install kernel-devel


2、安装pptp及相关的包


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配置文件


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地址


vi /etc/pptpd.conf

localip 10.8.1.1

remoteip 10.8.1.100-200


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


require-mppe-128


配置客户端DNS


vi /etc/ppp/options.pptpd

ms-dns 8.8.8.8

ms-dns 8.8.4.4


配置pptp账号密码


vi /etc/ppp/chap-secrets

username pptpd passwords * #注意如果密码中有特殊字符需要用引号包含,如"ansen.org"


将pptpd加入开机启动

启动pptpd服务

5、启用转发


vi /etc/sysctl.conf

net.ipv4.ip_forward=1

##以下为OVZ VPS 需要做的改动##

net.ipv4.tcp_syncookies = 1 #注释掉此条


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


sysctl -p


6、配置iptables转发规则

XEN & KVM:


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


OVZ:


#将0.0.0.0 改为你的公网IP

iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -j SNAT --to-source 0.0.0.0


然后保存规则


service iptables save

service iptables restart


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

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

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

pptp-client