PPTP配置注意事项(附配置文档)

4年前 (2016-02-19) Jason Liu 运维 0评论 已收录 172℃

今天在VPS想测试下弄个pptp vpn翻墙试试。一路yum安装下来,简单修改了下配置文件,在windows机器上配置好了拨号连接后,发现怎么也拨号不上,一直提示619。看了messeages日志后也在网上搜索了下发现问题依旧。晚上回家后想继续折腾下。

首先想是不是买的VPS不支持搭建pptp,于是去vps官网查看FQA。官网明确说明可以搭建pptp的。另一个我在想是不是防火墙的问题,因为我只开放了1723端口可以进来连接,其他的全部拒绝了。因为在我的记忆中记得好像pptp就只需要1723端口,汗。。。

于是把防火墙停止后,再拨号,马上就成功了。再把防火墙开启,再拨,又报619了。到底是防火墙拦截了那个端口货协议呢,折腾了一会也没想起来。上google搜索了下,发现连pptp还需要把gre协议放开。于是在防火墙下添加一条规则: iptables -I  INPUT 6 -p gre -j ACCEPT。再打开防火墙,再拨号,嗯哼,可以了,顺利拨上号了。哈哈。。。

看来搭建pptpd服务是需要用到1723端口和gre协议的。

以前在windows机器上搭建上防火墙都是直接关闭的,所以没有遇到这么多问题。

 

以下附别人的配置稳定,做个记录

http://www.cnblogs.com/hanxianlong/p/3923491.html

1.你所需要的软件 
pppd    ppp拨号服务器
pptpd   在pppd拨号的基础上增加pptpd的支持

2.确定你的内核是否支持mppe

modprobe ppp-compress-18 && echo ok
如果显示ok,那么恭喜,你的内核已经具备了mppe支持。请到第4部分

3.升级内核支持mppe

wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm
wget http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

dkms是一个新的软件,能让你在不编译内核的基础上,外挂一些内核的模块。
kernel_ppp_mppe就是mppe支持的内核模块了。

rpm -ivh dkms-2.0.17.5-1.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

以上二个是为CENTOS加载MPPE[MICROSOFT的加密协议] ..不安装的话就不能使用加密连接
ok后重起你的系统

4.安装ppp

yum install ppp
或者
rpm -Uvh  ppp-2.4.2-b3.i386.rpm

5.安装pptpd
(1)使用yum安装
# vim /etc/yum.repos.d/Doylenet.repo

[doylenet]
name=Doylenet custom repository for CentOS
baseurl=http://files.doylenet.net/linux/yum/centos/5/i386/doylenet/
gpgcheck=1
gpgkey=http://files.doylenet.net/linux/yum/centos/RPM-GPG-KEY-rdoyle
enabled=1

# yum update
# yum install pptpd

(2)rpm下载安装

wget ftp://ftp.ntua.gr/pub/net/poptop/pptpd/pptpd-1.3.1/pptpd-1.1.3-4.i386.rpm
rpm -ivh  pptpd-1.1.3-4.i386.rpm
注意32位或者64位版本,否则吃大亏!鄙人就是在64位服务器上装了32位的pptpd,就给搞了很长时间才发现!!!!

6.配置你的pppd和pptpd

/etc/pptpd.conf中需要配置的地方只有几个

option /etc/ppp/options.pptpd

# logwtmp 如果日志里出现类似以下问题一定要注释掉logwtmp!!!!

#Jun 21 15:39:55 center pppd[1374]: /usr/lib/pptpd/pptpd-logwtmp.so: wrong ELF class: ELFCLASS32
#Jun 21 15:39:55 center pppd[1374]: Couldn't load plugin /usr/lib/pptpd/pptpd-logwtmp.so
localip 192.168.9.1
remoteip 192.168.9.11-30

配置/etc/ppp/options.pptpd
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
ms-dns 8.8.8.8
ms-dns 8.8.4.4

编辑 /etc/ppp/chap-secrets

添加一个测试用户

# Secrets for authentication using CHAP
# client     server   secret      IP addresses
test      pptpd    test           *

第一个test是用户,第二个test是密码 ,*表示任意ip

 

配置文件/etc/sysctl.conf
# vim /etc/sysctl.conf
修改以下内容开启ip转发:
net.ipv4.ip_forward = 1
保存、退出后执行:
sysctl -p

 

7.打开防火墙端口

 

将Linux服务器的1723端口和47端口打开,并打开GRE协议。

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.9.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p UDP --dport 53 -j ACCEPT   ##这个最蛋疼,开始没注意,能连接上怎么都打不开网页,搞了半天才发现DNS端口没有打开,差点昏死过去!!
service iptables save

8.测试pptpd

如果是默认安装,你在任意路径打pptpd就可以了。
如果成功,你就会在
/var/log/messages里面看到
Feb 10 09:51:46 kdfng pptpd[926]: MGR: Manager process started

Feb 10 09:51:46 kdfng pptpd[926]: MGR: Maximum of 100 connections available

 

相关推荐

嗨、骚年、快来消灭0回复。