PPP以及pptp相关的设置


对于PPP和pptp的内容,我们这里来简单讲解一下,当然,对于安装和配置的分析是少不了的了。PS:pptpd启动后使用的是1723端口,l2tpd使用的是1701端口,启动服务后可以使用 netstat -tnl 来查看端口启动情况)另外:还有配置文章见:http://blog.chinaunix.net/u2/69106/showart_1751714.html

现在使用linux的环境越来越多,比如总部使用linux,但由于分支机构位置分散,不便于管理,所以还是使用windows,通常情况下我们都 是通过VPN的方式把分支机构与总部连接起来。通常情况下VPN有PPTP VPN,IPSEC VPN,L2TP VPN几种,PPTP最简便,IPSEC VPN最通用,各个平台都支持,L2TP VPN最安全,本人经过多次实验,终于成功,今天拿来给大家分享。

下面我们来看看具体配置过程:

(一)下载与安装

由于Linux本身并没有集成PPTP功能,所以需要安装相关组件以让我们的RedHat支持PPP,根据内核的版本,下载相应的安装包,我这里内核是kernel2.6.9-5.EL及2.6.14 ,所用组件如下:

dkms-2.0.6-1.noarch.rpm

kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

ppp-2.4.3-5.rhel4.i386.rpm

pptpd-1.3.0-0.i386.rpm

1.PPTP需要PPP支持,虽然系统本身有PPP功能,但它并不支持MPPE,所以需要更新系统的PPP组件,下载ppp-2.4.3-5.rhel4.i386.rpm安装命令如下:

# rpm -Uvh ppp-2.4.3-5.rhel4.i386.rpm

2.安装内核MPPEMicrosoft Point to Point Encryption,微软点对点加密)补丁,安装命令如下:

#rpm –ivh dkms-2.0.6-1.noarch.rpm

#rpm –ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

用以下命令检查内核MPPE补丁是否安装成功,MPPE module可否载如:

#modprobe ppp-compress-18 && echo success

3.安装pptpd,命令如下:

#rpm –ivh pptpd-1.3.0-0.i386.rpm

4.用以下命令检查PPP是否支持MPPE:

#strings '/usr/sbin/pppd'|grep -i mppe|wc --lines

46 <如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,我这里为46>。

(二)修改配置文件

1. 编辑 /etc/pptpd.conf 文件,确定本地VPN服务器的IP地址和客户端登录后分配的IP地址范围。pptpd.conf是PPTP服务PPTPD运行时使用的配置文件,常用选项如下(#号后是选项说明):

option /etc/ppp/options.pptpd #PPP组件将使用的配置文件

#stimeout 10 #开始PPTP控制连接的超时时间,以秒计

debug #把所有debug信息记入系统日志/var/log/messages

localip 192.168.1.4 #服务器VPN虚拟接口将分配的IP地址

remoteip 192.168.1.254 #客户端VPN连接成功后将分配的IP,如果是地址范围可表示为192.168.1.200-234的形式

2. 编辑 /etc/ppp/options.pptpd 文件,它是PPP功能组件pppd将使用的配置文件,由于PPTP VPN的加密和验证都与PPP相关,所以PPTP的加密和验证选项都将在这个配置文件中进行配置。

lock

debug

name vpn1

refuse-pap

refuse-chap

refuse-mschap

rrequire-mschap-v2

require-mppe-128

proxyarp

3. 编辑 /etc/ppp/chap-secrets文件,在此配置能够连接到VPN服务器的用户、密码和IP等信息:

# Secrets for authentication using CHAP

# client server secret IP addresses

aaa vpn1 "qazxsw123456" *

(三)启动PPTP服务

service pptpd start

用 #netstat –an命令查看,TCP 1723端口是否处于监听状态。

(四)防火墙配置

要让外部用户能连接PPTP VPN,还需要在防火墙中加入以下规则也就是将Linux服务器的1723端口和47端口打开,并打开GRE协议):

(五)在PPTP服务器上开启NAT服务,以便于客户端上网

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -j SNAT --to XXX.XXX.XXX.XXX

安装动态域名客户端软件

(六)由于PPTP客户端需要知道PPTP服务器的IP,但这里的ADSL拨号又是动态IP,所以我们需要安装一个动态域名客户端软件,这样 PPTP客户端只要知道服务器的动态域名就行了。

可以使用金万维的免费动态域名,这样ADSL拨号之后动态域名客户端软件将自动更新域名和IP对应 值。。。

==========================================================

到这里Linux pptp vpn server的设置就完成了,剩下任务的就是用Windows客户端进行测试

相关内容