一、PPTP介绍

       PPTP( 点对点隧道协议 )是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。通过该协议,远程用户能 够通过 Microsoft Windows NT 工作站、Windows xp 、 Windows 2000 和windows2003操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地 ISP,通过 Internet 安全链接到公司网络。 PPTP只能在两端点间建立一条隧道。

二、安装PPTP Server

1、下载源码包 http://www.num123.com/uploadfiles/pptpd-1.3.4.tar.gz ,如果觉得源码包安装不方便可以下载rpm包来安装。

2、解压并安装

[root@linux ~]# tar zxvf pptpd-1.3.4.tar.gz   

[root@linux ~]# cd pptpd-1.3.4

[root@linux pptpd-1.3.4]# ./configure --prefix=/home/pptpd  \

--enable-bcrelay \    /*开启广播包中继功能*/

--with-libwrap   /*Use libwrap (tcp wrappers) */

[root@linux pptpd-1.3.4]# make       /*编译*/

[root@linux pptpd-1.3.4]# make install    /*安装*/

3、配制pptp

mkdir /home/pptpd/etc

vi /home/pptpd/etc/pptpd.conf        /*创建配置文件并添加以下内容*/

############pptpd.conf服务器主配置文件#####################

option /home/pptpd/options.pptpd

#logwtmp   /*该选项最好不要开启,如果开启客户端有可能登录不上*/

localip 192.168.2.1

remoteip 192.168.2.100-200

#############pptpd.conf配置文件结束#######################

vi /home/pptpd/etc/options.pptpd     /*创建并配置options.pptpd文件*/

############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 202.102.224.68
ms-dns 202.102.227.68

############options.pptpd配置文件结束##################

4、添加客户端帐号

[root@linux pptpd]# vi /etc/ppp/chap-secrets

# client        server       secret                  IP addresses
test        pptpd-***       test            192.168.2.100

5、启动pptpd服务器

[root@linux pptpd]# /home/pptpd/sbin/pptpd -c /home/pptpd/etc/pptpd.conf -o /home/pptpd/etc/options.pptpd

6、用netstat -ant查看1723端口是否打开,如果1723端口打开说明pptpd服务启动成功。

7、开启路由转发功能

[root@linux pptpd]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@linux pptpd]# iptables -t nat -A POSTROUTING -j MASQUERADE


特殊情况下要对linux路由器开启pptp转发功能(一般情况下不需要):

modprobe ip_conntrack_pptp
modprobe ip_nat_pptp

三、Windows客户端登录设置

1、在“网上邻居”上面点右键选择属性,然后在弹出的界面上面点击“创建一个新的链接”,如下图:

点击查看原图

2、点击一下步:

点击查看原图

3、按下图选择,然后点击下一步

点击查看原图

4、按下图选择,然后点击一下步

点击查看原图

5、

点击查看原图

6、

点击查看原图

7、

点击查看原图

8、输入用户名和密码即可登录

点击查看原图

 

四、附加说明

1、文件说明

/home/pptpd/etc/options.pptpd   /*pptpd命令运行时选项存放在该文件中*/

/home/pptpd/etc/pptpd.conf      /*pptp服务器主配置文件*/

/home/pptpd/sbin/pptpd      /*pptpd服务器启动进程*/

2、pptpd.confi配置文件参数详解,一共有12个配置选项,可以根据需要选择。

option  filename  

指定一个选项文件,里面的内容作为pptpd进程启动时的命令参数。与执行pptpd命令时使用-o选项指定参数效果是一样的。

stimeout seconds

派生pptpctrl进程处理客户端连接以前,等客户端pptp包的时间,默认为10秒。这个选项主要用于防止Dos***。

debug

启用调试模式

bcrelay  internal-interface

是否启用广播包中继功能。如果启用将把从internal-interface接口收到的广播包转发给客户端。

connections   n

限制客户端连接数,默认100。

delegate

默认情况下,该选项不存在。此时由pptpd进程管理ip地址分配,它将把下一个可分的ip分配给客户端。如果存在该选项,则pptpd进程不负责ip地址的分配,由客户端对应的pppd进程采用radius或chap-secrets方式进行IP分配。

localip   ip-specification

在ppp连接隧道的本地端使用的IP地址。如果只指定一个,则所有的客户端对就的服务端都是这个地址。否则,每个客户端都必须要对应不同的服务器端地址。服务端地址用完后,客户端的连接将被拒绝。如果使用了delegate选项,则该选项失效。

remoteip  ip-specification

指定分配给远程客户端的IP地址。每个客户端都必须分配到一个IP地址,如果使用了delegate选项,则该选项失效。

noipparam

默认情况下,客户端原始的IP地址是传递给ip-up脚本。如果存在该选项,将不传递。

listen  ip-address

指定本地网络接口的IP地址,pptpd进程将只监听这个网络接口的pptpd连接。默认监听所有本地接口。

pidfile  pid-file

指定进程pid文件的位置和文件名

speed   speed

指定PPTP连接的速度,默认是115200bps。在linux系统中,该选项无效。

3、options.pptpd配置参数详解

auth  #需要使用/etc/ppp/chap-secrets文件来验证
lock  #锁定PTY设备文件
debug
Proxyarp  #启动ARP代理,如果分配给客户端的IP地址与内网网卡在一个子网就需要启用ARP代理。
name pptpd  #×××服务器的名字
multilink
refuse-pap  #拒绝pap身份验证
refuse-chap  #拒绝chap身份验证
refuse-mschap  #拒绝mschap身份验证
require-mschap-v2  #注意在采用mschap-v2身份验证方式时可以同时使用MPPE进行加密
require-mppe-128  #使用 128-bit MPPE 加密
ms-wins 192.168.1.2  #在网络邻居中看到的机器的IP填写到这里
ms-dns 192.168.1.2  #DNS服务器地址

ms-dns  202.102.224.68  #第二个DNS服务器地址
dump
logfile /var/log/pptpd.log  #日志存放的路径


注:PPTP ×××穿透路由器和防火墙的能力很差,很多时候会出现连接不上的情况,效果远不如Open×××。