pptp源码安装

1.安装依赖(内网环境 挂载光盘)

本文链接原创:
我照着此文部署 

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel
libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel
libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap 
openldap-clients openldap-servers

2.下载源码包  可以从别的地方下载 xftp上传到服务器

wget http://www.hnisp.net/attachment/pptpd-1.3.4.tar.gz

3.安装

#tar zxvf pptpd-1.3.4.tar.gz
#cd pptpd-1.3.4
#./configure -prefix=/usr/local/pptpd -enable-bcrelay -with-libwrap 
#make
#make install

4.配置ppp

编译安装完成后,首先需要手工建立一些目录以及复制原始的 pptpd 配置文件:
#mkdir /usr/local/pptpd/etc
#cp samples/pptpd.conf / usr/local/pptpd/etc/
#cp samples/options.pptpd / usr/local/pptpd/etc/
上面cp的两个文件是 pptpd 的两个配置文件。
pptpd.conf 是 pptpd 的基本配置文件;
options.pptpd 是 pptpd 的扩展功能属性配置文件。

5.修改配置文件

四. 修改配置文件
1、 对 pptpd.conf 进行设置:
# vim / usr/local/pptpd/etc/pptpd.conf
以下是我的配置文件:
option / usr/local/pptpd/etc/options.pptpd
logwtmp
debug
localip 192.168.0.21
remoteip 192.168.0.220-245

6.

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

7.

2、 对 options.pptpd 进行配置:
# vim / usr/local/pptpd/etc/options.pptpd 
以下是我的配置文件:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 202.106.0.20
ms-dns 202.106.46.151

8.

说明:
name VPN-Server  pptpd server 的名称。
refuse-pap  拒绝 pap 身份验证模式。
refuse-chap  拒绝 chap 身份验证模式
refuse-mschap  拒绝 mschap 身份验证模式。
ms-dns 202.96.209.5 
ms-dns 202.96.209.133p pp 为 Windows 客户端提供 DNS 服务器 IP 地址,第一个 ms-dns 为 DNS          Master,第二个为 DNS Slave。
proxyarp  建立 ARP 代理键值。
debug   开启调试模式,相关信息同样记录在 /var/logs/message 中。
lock   锁定客户端 PTY 设备文件。
nobsdcomp  禁用 BSD 压缩模式。
novj   
novjccomp  禁用 Van Jacobson 压缩模式。
nologfd   禁止将错误信息记录到标准错误输出设备(stderr)
OK,配置好上面的两个文件后,开始添加 pptpd server 连接帐户。

9.添加账户

pptpd server 连接帐户控制文件位于:/etc/ppp/chap-secrets
vi /etc/ppp/chap-secrets 配置文件,添加如下内容:
# client  server   secret   IP addresses
"name"  pptpd    "pw123456"     *

上面第二行代码的四项内容分别对应第一行中的四项。
"client" 是Client端的VPN用户名
"server"对应的是VPN服务器的名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,或者设置成"*"号来表示自动识别服务器;
"secret"对应的是登录密码
"IP addresses"对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为“*”号

10.设置IP转发

配置文件/etc/sysctl.conf
vi /etc/sysctl.conf
  修改以下内容:
net.ipv4.ip_forward = 1
  保存、退出后执行:
/sbin/sysctl -p

11.启动pptp

#/ usr/local/pptpd/sbin/pptpd -c / usr/local/pptpd/etc/pptpd.conf -o /usr/local/pptpd/etc/options.pptpd
检查 pptpd server 是否启动成功:
# netstat -ntlp|grep 1723
如果看到有进程 tcp 1723 端口监听就说明 pptpd server 已经启动成功了!
七.公网连接
1.直接把该台PPTP服务器的1723端口映射到公网IP的1723端口即可。
如:192.168.0.21:1723   到219.240.*.*:1723
在路由上:ip nat inside source static tcp 192.168.0.21 1723 218.240.*.* 1723 extendable

12.

解决问题

附加:解决问题的根本

查看/var/log/message发现报错
/usr/lib/pptpd/pptpd-logwtmp.so: cannot open shared object file: No such file or directory

#mkdir /usr/lib/pptpd/ -p 
#ln -s /app/pptpd/lib/pptpd/pptpd-logwtmp.so  /usr/lib/pptpd/

再次加载库文件时报版本错误
Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.4

Solution
修改下源文件版本信息,重新编译生成pptpd-logwtmp.so并替换现有的
切换到源码包目录,pptpd-logwtmp.so源文件在源码包的plugins目录下
将patchlevel.h中的#define VERSION   "2.4.3"  改成 #define VERSION     "2.4.4"

#cd pptpd-1.3.4/plugins/    (安装源文件夹下)
#cp patchlevel.h patchlevel.h.bak
#mv pptpd-logwtmp.so pptpd-logwtmp.so.bak 
#sed  -i  ‘s/2\.4\.3/2\.4\.4/‘ patchlevel.h
#make
#mkdir /usr/lib/pptpd/
#cp pptpd-logwtmp.so /usr/local/pptpd/lib/pptpd/pptpd-logwtmp.so

启动 pptpd server后
# tail -f /var/log/messages
Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded. (提示加载成功)

[[email protected] plugins]# cat patchlevel.h 
/* upstream patchlevel.h,v 1.60 2004/01/13 04:46:52 paulus Exp */
/* $Id: patchlevel.h,v 1.4 2005/02/24 01:25:34 quozl Exp $ */
#define VERSION         "2.4.4"
#define DATE            "13 Jan 2004"

再次连接,即可正常连接PPTP VPN Server。
时间: 2024-10-13 10:41:18

pptp源码安装的相关文章

centos7.2源码安装openssl1.0.2

centos7.2默认是安装了opensll软件包的,但是部署个别服务时,由于版本太低.会影响服务的正常部署.只能使用源码安装提高openssl软件版本. 因为之前有openssl软件包,所以要先移除之前版本: 删除旧版本: yum remove -y openssl openssl-devel 源码安装openssl需要perl环境编译,如果没有perl环境还是需要安装: yum -y install perl perl-devel 现在新版本openssl: wget https://www

centos6.5 64 源码安装redis服务,建立可远程连接的redis数据库

安装环境:centos6.5 64位 使用的包:redis-2.8.19.tar.gz  tcl8.6.3-src.tar.gz 包的下载链接:http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz http://download.redis.io/releases/redis-2.8.19.tar.gz 本次安装的目录/home/hadoop/redis为任意目录 代码实现: 1,安装需要的支持环境 su root cd /home/h

ubuntu php5.6源码安装

今天又花了一天时间装了php,感觉php的源码安装也挺麻烦的,整个过程各种报错. 下篇文章准备整合所有查找到的报错和解决方法. php和nginx一样,在安装前需要装一堆的依赖.有libmcrypt.mcrypt.mhash.其实远不止这三个包,在后面的configure和make中还会陆陆续续安装一些依赖. 1.安装libmcrypt.mcrypt.mhash(整个过程都在/usr/local/src/php目录下) #创建/usr/local/src/php目录并进入mkdir /usr/l

LinuxMint下的Orionode源码安装

1. Orionode介绍 Eclipse-orion是Eclipse项目下面的一个子项目,orion是一个在在线版的代码编辑环境.其介绍参考http://wiki.eclipse.org/Orion. Eclipse-orion是使用Java语言开发的, Orionode则是使用Node.js开发的一个简易版orion.关于orionode跟orion的特性差异请查考http://wiki.eclipse.org/Orion/Node/Getting_started. 2. Node.js和n

nsq 学习(一)源码安装nsq

1.源码安装nsq go get github.com/tools/godep go get github.com/bmizerany/assert godep get github.com/bitly/nsq/... godep执行之后,如果报错: godep: outdated Godeps missing source code This dependency list was created with an old version of godep. To work around thi

bash-scripts源码安装lamp(apache、php及部分扩展、mysql)

安装包版本:httpd-2.2.29.tar.gzzlib-1.2.8.tar.gzapr-util-1.5.4.tar.gzapr-1.5.1.tar.gzlibpng-1.6.17.tar.gzjpegsrc.v9a.tar.gzlibgd-gd-2.1.1.tar.gzphp-5.6.7.tar.gzfreetype-2.5.5.tar.gzlibmcrypt-2.5.8.tar.gzlibxml2-2.9.2.tar.gzmysql-5.6.23.tar.gz ======安装包下载网站

php源码安装

我是将下载好的软件包放到虚拟机 /home目录下,虚拟机是centos6.4 如果想了解nginx源码安装http://blog.csdn.net/zkg510168343/article/details/43703635 mysql源码安装 http://blog.csdn.net/zkg510168343/article/details/43284071 PHP安装前准备,软件包下载地址 libmcrypt包 http://sourceforge.net/projects/mcrypt/fi

PHP-5.3.27源码安装及nginx-fastcgi配置

源码安装php cat /etc/redhat-release uname -rm wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum install -y zlib-devel libxml2-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel opens

Python源码安装cx_Oracle

最近线上有个数据表一个月竟然没有数据,都没有监控,老大让我做一个监控,让Python写脚本监控oracle数据是否正常. 一.涉及软件包 1.cx_Oracle 下载地址:http://sourceforge.net/projects/cx-oracle/files/?source=navbar 我下载的是最新版的cx_Oracle-5.1.2.tar.gz 2.Oracle_client 使用cx_Oracle必须要安装Oracle_client端,或者你已经安装了Oracle数据库 下载地址