Pptpd安装部署文档

简述:

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

检查 MPPE
modprobe ppp-compress-18 && echo ‘ok! MPPE was found !’

[root@elain tools]# modprobe ppp-compress-18 && echo ‘ok! MPPE was found !’
ok! MPPE was found ! //说明系统存在MPPE

若不存在,请按以下方式安装

wget http://cdnetworks-kr-1.dl.sourceforge.net/project/poptop/mppe%20module%20builder/dkms-2.0.10-1/dkms-2.0.10-1.noarch.rpm
wget http://surfnet.dl.sourceforge.net/project/poptop/mppe%20module%20builder/kernel_ppp_mppe-1.0.2%20dkms-2.0.6/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -e kernel_ppp_mppe
yum install kernel-devel
rpm -ivh dkms-2.0.10-1.noarch.rpm

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

下载编译安装:
wget http://downloads.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz
tar zxvf pptpd-1.3.4.tar.gz
cd pptpd-1.3.4
./configure –prefix=/elain/apps/pptpd –enable-bcrelay –with-libwrap
make && make install

配置:
编译安装完成后,首先需要手工建立一些目录以及复制原始的 pptpd 配置文件:
mkdir -p /elain/apps/pptpd/etc
cp /root/tools/pptpd-1.3.4/samples/options.pptpd /elain/apps/pptpd/etc/
cp /root/tools/pptpd-1.3.4/samples/pptpd.conf /elain/apps/pptpd/etc/

pptpd.conf 是 pptpd 的基本配置文件;
options.pptpd 是 pptpd 的扩展功能属性配置文件。

设置pptpd.conf

vi /elain/apps/pptpd/etc/pptpd.conf

####################################

pptpd.conf

option /elain/apps/pptpd/etc/options.pptpd
debug
stimeout 30
localip 111.122.130.122
remoteip 10.0.0.100-200

####################################
说明:
option /elain/apps/pptpd/etc/options.pptpd
指定 pptpd 扩展属性配置文件 options.pptpd 的位置。
debug
开启调试模式,有关 pptpd 的信息和错误都会记录在 /var/logs/message 中,方便排错和调试。
stimeout 30
设置客户端连接 pptpd server 时的最长连接等待时间(连接超时时间),30 秒。
localip 111.122.130.122
pptpd server 所在服务器的 IP 地址,可以设置为服务器上绑定的任意一个 IP 地址。
remoteip 10.0.0.100-200
设置客户端连接到 pptpd server 后可供分配的 IP 地址范围( 10.0.0.100 - 110.0.0.200 ),也可这样设置

配置options.pptpd

vi /elain/apps/pptpd/etc/options.pptpd

#####################################

options.pptpd

name pptpd
debug
logwtmp
logfile /var/log/pptpd.log
lock
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4

######################################
说明:
lock
锁定客户端 PTY 设备文件。
debug
开启调试模式,相关信息同样记录在 /var/logs/message 中。
logwtmp
该功能项的作用是“使用wtmp记录客户端的连接与断开信息
logfile
log日志存放位置
refuse-pap
拒绝 pap 身份验证模式。
refuse-chap
拒绝 chap 身份验证模式。
refuse-mschap
拒绝 mschap 身份验证模式。
require-mschap-v2
在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证。
require-mppe-128
MPPE 模块使用 128 位加密。
proxyarp
建立ARP代理键值
nobsdcomp
禁用 BSD 压缩模式。
novjccomp
禁用 Van Jacobson 压缩模式。
ms-dns 8.8.8.8
ms-dns 8.8.4.4
ppp 为 Windows 客户端提供 DNS 服务器 IP 地址,第一个 ms-dns 为 DNS Master,第二个为 DNS Slave。

添加 pptpd server 连接帐户。

pptpd server 连接帐户控制文件位于:/etc/ppp/chap-secrets
chap-secrets 文件是有格式的,分别为:
用户名、服务器名称*、密码、客户端分配到的 IP 地址。

*注意:
1、服务器名称必须和 pptpd.conf 中 name 处设置的名称一致,否则登录验证无法通过;
2、密码以明文填写,不需进行加密。

添加一个客户端帐户:
vi /elain/apps/pptpd/etc/chap-secrets

PPTP User Accounts

username server_name password ip

elain pptpd 123456 *

iptables 添加规则:
iptables -A INPUT -p tcp -dport 1723 -j ACCEPT
iptables -A INPUT -p tcp -dport 47 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT –to-source 111.122.130.122

启动 pptpd server
/elain/apps/pptpd/sbin/pptpd –conf /elain/apps/pptpd/etc/pptpd.conf –option /elain/apps/pptpd/etc/options.pptpd

检查 pptpd server 是否启动成功:

netstat -nlp
[root@elain etc]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 23549/pptpd
如果看到有进程 tcp 1723 端口监听就说明 pptpd server 已经启动成功了!

注意:
1、服务器防火墙必须对外开放允许 TCP 1723 端口的连接请求!
2、如果 pptpd server 位于网关或者其他前置设备之后,则必须在相应设备上开启 PPTP 穿越!
四、测试连接
在 Windows XP/2003/Windows 7/linux 中新建一个 VPN 连接,填写相应的 pptpd server IP 地址、用户名、密码进行连接测试。

附上启动脚本:

#!/bin/bash

#pptp.sh

#auther:elain

#date:2010.11.16

. /etc/init.d/functions
pptpd=/elain/apps/pptpd/sbin/pptpd
conf=/elain/apps/pptpd/etc/pptpd.conf
option=/elain/apps/pptpd/etc/options.pptpd

E_NOARGS=65

if [ -z “$1” ] || [ “$#” -ne 1 ];then
echo “Usage:basename $0 start|stop”
exit $E_NOARGS

fi

case “$1” in

start)
$pptpd –conf $conf $option;
action pptpd
;;
stop)
kill -9 ps -C pptpd -o pid|sed 1d;
action pptpd
;;

*) echo “Usage:basename $0 start|stop”
;;
esac

FAQ:
1、执行modprobe命令时出现
FATAL: Could not load /lib/modules/2.6.18-238.12.1.el5.028stab091.1/modules.dep: No such file or directory
答:mkdir /lib/modules/uname -r && depmod -a

文章目录
  1. 1. 若不存在,请按以下方式安装
  2. 2. rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
  • pptpd.conf
  • options.pptpd
  • PPTP User Accounts
  • username server_name password ip
  • ,