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. Qt 多线程与数据库操作需要注意的几点问题(QSqlDatabase对象只能在当前线程里使用)

    彻底抛弃MFC, 全面应用Qt 已经不少时间了.除了自己看书按步就班做了十几个验证性的应用,还正式做了3个比较大的行业应用,总体感觉很好.Native C++ 下, Qt 基本是我用过的最简便的界面库 ...

  2. 转:Javascript异步编程的4种方法

    你可能知道,Javascript语言的执行环境是"单线程"(single thread). 所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排 ...

  3. Keli Linux与网络安全(2)——初探Keli

    Kali是BackTrack的升级换代产品,按照官方网站的定义,Kali Linux是一个高级渗透测试和安全审计Linux发行版.作为使用者,我简单的把它理解为,一个特殊的Linux发行版,集成了精心 ...

  4. OC 语法基础一

    1.判断字符串开头 或 结尾 测试字符串是否以aString开始 - (BOOL)hasPrefix:(NSString *)aString; 测试字符串是否以aString结尾 - (BOOL)ha ...

  5. 你必须知道的 34 个简单实用的 Ubuntu 快捷键

      ubuntu常用的快捷键: 1. Ctrl + W: 关闭当前 Nautilus 窗口 2. Ctrl+T: 在 Nautilus 打开新的 Tab 3. Ctrl + H: 切换隐藏文件(夹)显 ...

  6. [置顶] java web 动态服务器

    写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...

  7. STL的移动算法

    要在自己定义类型中使用移动算法.须要在元素中提供移动赋值运算符.移动赋值运算符和std::move()详见<c++高级编程>第9章 class mystring { public: str ...

  8. .net dropdownlist 動態顯示,指定字段

    dropdownlist 動態顯示,指定字段 this.ddlPermission.Items.Clear(); ,new ListItem("請選擇","") ...

  9. css3设置box-pack和box-align让div里面的元素垂直居中

    只要设置元素的box-pack和box-align即可,这两个属性当前只有webkit和moz支持,要设置垂直居中的话只需要将这两个属性的值都设置为center即可,需要的朋友可以参考下   以前处理 ...

  10. context.drawImage绘制图片

    context.drawImage(img,x,y)  x,y图像起始坐标 context.drawImage(img,x,y,w,h) w,h指定图像的宽度和高度 context.drawImage ...