VNP服务器IP地址为:192.168.6.6

一、编译安装:
 
注意:可能需要ppp、libcap、libcap-devel ncurses-devel RPM 包支持,如果没有请安装 libcap、libcap-devel RPM 包!
#yum install -y libcap libcap-devel ncurses-devel ppp
#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

二、配置 PPTP

编译安装完成后,首先需要复制原始的 pptpd 配置文件:
#cp samples/pptpd.conf /usr/local/pptpd/
#cp samples/options.pptpd /usr/local/pptpd/

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

三.修改配置文件

1.对 pptpd.conf 进行设置:
#vim  /usr/local/pptpd/pptpd.conf
在文件末尾添加
localip 192.168.6.6        #VPN服务器IP地址
remoteip 192.168.6.10-15   #客户端连接时VNP服务器分配IP地址范围

2.对 options.pptpd 进行配置:

#vim /usr/local/pptpd/options.pptpd
在文件末尾添加DNS地址
ms-dns 219.141.140.10
ms-dns 202.106.0.20

#说明:
name VPN-Server  pptpd server 的名称。
refuse-pap  拒绝 pap 身份验证模式。
refuse-chap  拒绝 chap 身份验证模式
refuse-mschap  拒绝 mschap 身份验证模式。
proxyarp  建立 ARP 代理键值。
debug   开启调试模式,相关信息同样记录在 /var/logs/message 中。
lock   锁定客户端 PTY 设备文件。
nobsdcomp  禁用 BSD 压缩模式。
novj  
novjccomp  禁用 Van Jacobson 压缩模式。
nologfd   禁止将错误信息记录到标准错误输出设备(stderr)

四.添加帐户

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

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

五.设置IP伪装转发

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

六.启动pptpd server

#/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd

检查 pptpd server 是否启动成功:
# netstat -ntlp|grep 1723
如果看到有进程 tcp 1723 端口监听就说明 pptpd server 已经启动成功了!

将pptpd服务添加到开机启动
#vim /etc/rc.local   #末尾添加如下内容:
/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd

七.此时Windows客户端连接会提示连接不上,可以通过查看/var/log/message 来发现错误根源,一般会提示以下两个错误:

错误1.
#less /var/log/message   #会提示如下错误
/usr/lib/pptpd/pptpd-logwtmp.so: cannot open shared object file: No such file or directory

解决方法:
#mkdir /usr/lib/pptpd -p    #在/usr/lib/目录中新建pptpd 目录
# ln -s /usr/local/lib/pptpd/ppptpd-logwtmp.so /usr/local/lib/pptpd/

停止启动pptpd服务

#pkill pptpd

#/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd

错误2.
再次加载库文件时报版本错误
#less /var/log/message  #提示如下错误:
Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.5

解决方法:

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

#cd /opt/software/pptpd-1.3.4/plugins/      #进入安装源文件目录中
#cp patchlevel.h patchlevel.h.bak           #备份pacthclevel.h
#mv pptpd-logwtmp.so pptpd-logwtmp.so.bak   #重命名pptpd-logwtmp.so
#sed -i 's/2\.4\.3/2\.4\.5/' patchlevel.h   #将patchlevel.h中的#define VERSION   "2.4.3"  改成 #define VERSION     "2.4.5"
#make                                       #编译,在当前目录生成新的pptpd-logwtmp.so 文件
#cp pptpd-logwtmp.so /usr/local/pptpd/lib/pptpd/pptpd-logwtmp.so #复制pptpd-logwtmp.so到指定目录中,替换原文件

重启pptpd服务

#pkill pptpd
#/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd

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

八.Windows客户端连接验证:

新建VPN连接,在VPN连接属性常规选项卡中设置好VPN服务器IP地址:192.168.6.6 点击确定,然后输入用户名:lixuan 密码:123456 连接即可

大功告成!!!!!

linux下配置 PPTP VPN 公网VPN

安装方法前面我都介绍过了,具体可以看前面的文章。 现在我们需要注意以下几点就可以配置公网VPN了。
①:注意pptpd.conf里面的配置
option /app/pptpd/etc/options.pptpd
logwtmp
debug
localip 192.168.6.6
remoteip 192.168.6.10-15
需要把localip 192.168.6.6改为公网IP
然后在remoteip 下面添加一行
listen 公网IP

保存配置

重启pptpd服务生效。

Linux-VPN安装配置方法的更多相关文章

  1. mysql 5.7.13 安装配置方法(linux)-后期部分运维

    mysql 5.7.13 安装配置方法图文教程(linux) 学习了:https://www.cnblogs.com/zhao1949/p/5947938.html /usr/local/mysql是 ...

  2. linux php安装扩展方法 查找配置文件

    如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断 1.判断 ...

  3. Linux下安装配置MySQL5.7服务器

    Linux下安装配置MySQL服务器 一.安装环境 ============ OS:centos6.8 MySQL:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz ...

  4. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  5. 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MongoDB 说实话为什么会装MongoDB呢,因为之前因为公司 ...

  6. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  7. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  8. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  9. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  10. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

随机推荐

  1. centos无法载入 mcrypt 扩展,<br />请检查 PHP 配置,经过各种尝试,终于找到了解决办法

    百度了无数个方法都没有解决问题,也是折腾死我了,最终解决了问题 解决办法:安装php-mcrypt libmcrypt libmcrypt-devel这三个库文件 1.安装第三方yum源(默认yum源 ...

  2. SQL Server 移动系统数据库位置(非master)

    以移动tempdb为例子: -------------------------------------------------------------------------------------- ...

  3. Oracle EBS-SQL (WIP-16):检查期间手工下达的车间任务数.sql

    select WE.DESCRIPTION                                                                任务说明, --DECODE( ...

  4. Oracle EBS-SQL (WIP-2):检查非标任务没挂自己本身.sql

    SELECT WE.WIP_ENTITY_NAME, MSI.SEGMENT1, MSI.DESCRIPTION, WDJ.CLASS_CODE, WDJ.START_QUANTITY, WDJ.SC ...

  5. MYSQL中limit的使用

    limit是mysql的语法select * from table limit m,n其中m是指记录开始的索引,从0开始,表示第一条记录n是指从第m+1条开始,取n条.select * from ta ...

  6. Developer‘s提升开发效率的工具和插件或编程语言

    1.Git 之前也有过不少版本控制的工具.有好的,也有糟糕的.不过它们都或多或少地误入歧途了. 这时候Git出现了.一旦你用上了这个神奇的工具,很难相像你还会碰到比它更好的了. 还没用过Git?试一下 ...

  7. JavaScript-1.最简单的程序之网页弹出对话框,显示为Warning---ShinePans

    代码: <html> <head> <meta http-equiv="content-type" content="text/html;c ...

  8. C++中使用class和structkeyword的不同

    类能够在它的第一个訪问说明符之前定义成员,对这样的成员的訪问权限依赖于类定义的方式.假设我们使用structkeyword,则定义在第一个訪问说明符之前的成员是public的,相反,假设使用class ...

  9. C#学习基础总结

    概念:.net与c#.net/dontnet:一般指.net framework框架,一种平台,一种技术c#(charp):一种编程语言,可以开发基于.net的应用. *java既是一种技术又是一种编 ...

  10. CAD创建不规则形状视口

    选择CAD模型空间中多段线,在指定的布局中创建视口,方法如下: /// <summary> /// 创建视口 /// </summary> /// <param name ...