1. pptp简介
PPTP,Point to Point Tunneling Protocol,点对点隧道协议,这是一种支持多协议虚拟专用网络(VPN)技术。远程用户能够通过装有点对点协议的系统安全访问公司网络。
PPTP使用GRE的扩展版本来传输用户PPP包。这些增强允许为在PAC和PNS之间传输用户数据的隧道提供底层拥塞控制和流控制。这种机制允许高效使用隧道可用带宽并且避免了不必要的重发和缓冲溢出。PPTP没有规定特定的算法用于低层控制,但它确实定义了一些通信参数来支持这样的算法工作
  1. 搭建PPTPD
  1. 实验环境:
  • 一台CentOS6.4-64位的操作系统,有两块网卡,其中eth0为外网网卡,配置固定IP为42.62.5.190/24,还有一块内网网卡,用于和内部网络通信,eth1,IP为172.16.1.1/24
  • 一台XP操作系统,配置IP为42.62.5.191/24,。实际环境中只要服务器固定IP能联网,XP系统能联网就行了
  1. 搭建
  1. 安装相关软件包
在本地光盘中有PPP安装包
可以使用yum直接安装
安装pptpd安装包,这个安装包需要下载,可以在http://rpmfind.net/搜索,然后下载对应的版本
  1. 配置
其中PPTPD的主配置文件为/etc/pptpd.conf,用户文件是/etc/ppp/chap-secrets,/etc/ppp/options.pptpd文件一般用户设置DNS的文件(ms-dns配置项),/etc/init.d/pptpd是启动脚本
  • 配置主配置文件
其中options表示启用/etc/options.pptpd文件;debug表示启用日志追踪,日志保存在/var/log/messages中;localip表示VPN服务器本地IP,可以设置为172.16.1.0/24网段的地址,也可以设置为其他网段;remoteip表示设置一个地址段供客户机连接使用
  • 配置DNS
 
  • 添加用户
用户的格式为:
用户名           服务器名            密码             IP
其中服务器名在/etc/ppp/options.pptpd文件中设置,默认的有pptpd
 
其中*代表随机分配IP地址
这样PPTPD就设置好了。接下来需要配置防火墙规则  
启动服务
  1. 设置iptables防火墙规则
  1. 验证
创建完网络后可以选择稍后再输入用户和密码,也可以现在就输入
右击刚刚创建的网络TESTà属 à 网络 à Internet协议 à 属性 à 高级 à 常规  à 去掉在远程网络上使用默认网关
然后就可以连接使用了
  1. 出现的故障
在搭建好的pptpd中,正常访问没有问题,但是随着连接人数的增多,可能会出现丢包等现象。可以在日志中查看到kernel: ppp: compressor dropped pkt的错误

。下面是解决问题的步骤:
  1. 发现问题
查看日志可以看到丢包错误
同时发现网卡的MTU变成1396
  1. 解决问题1
查看/etc/ppp/ip-up脚本

但是在/etc/ppp/目录下没有ip-up.local脚本
  1. 提供/etc/ppp/ip-up.local脚本

:wq保存退出后,给出x权限,然后重启pptpd服务即可解决

解决后网卡恢复正常

linux 搭建PPTP的更多相关文章

  1. Linux 搭建Nexus

    Linux 安装Maven和nexus代理仓库 1    说明 环境:redhat Enterprise Linux Server5.3-x64. 版本:Maven 3.0.5 ,Nexus-2.5. ...

  2. ubuntu 搭建PPTP VPN服务器

    上一篇文章介绍了如何在Ubuntu服务器上搭建IPSEC L2TP VPN服务器.继续介绍如何在Ubuntu服务器上搭建PPTP VPN服务器. 首先安装以下所需包 #apt-get install ...

  3. Linux 搭建SVN 服务器(转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  4. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  5. 原 Linux搭建SVN 服务器

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  6. Linux搭建SVN 服务器

    Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3  ...

  7. Linux 搭建SVN server

    一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...

  8. Linux搭建SVN 服务器(转)

    转自:http://my.oschina.net/lionel45/blog/298305 Linux搭建SVN 服务器 作者: 沈小然    日期:2014年 8月 5日 1          安装 ...

  9. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

随机推荐

  1. ubuntu16中遇到libgstreamer-0.10.so.0缺失解决方案

    1. error while loading shared libraries: libgstreamer-0.10.so.0: cannot open shared object file: No ...

  2. windows sevser 2012搭建网站

    1,首先去服务器配置,从哪里下载iis8.0和asp.net和net.xx和web服务,iis控制,ftp等等服务根据自己的需求安装 安装好后把默认的网站删除掉.或者新建一个网站,把服务端口改为其他端 ...

  3. cs231n spring 2017 lecture3 Loss Functions and Optimization 听课笔记

    1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好. 几种典型的loss function: 1)Multiclass SVM loss:一般的S ...

  4. bzoj:3397 [Usaco2009 Feb]Surround the Islands 环岛篱笆

    Description     约翰在加勒比海买下地产,准备在这里的若干个岛屿上养奶牛.所以,他要给所有岛屿围上篱笆.每个岛屿都是多边形.他沿着岛屿的一条边界朝一个方向走,有时候坐船到另一个岛去.他可 ...

  5. 51Nod 1277 字符串中的最大值(KMP,裸题)

    1277 字符串中的最大值 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如: ...

  6. 2017ecjtu-summer training #6 Gym 100952D

    D. Time to go back time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  7. centos7 hue安装

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  8. UEP-confirm和alert弹窗

    function stuDel(){ var ds = ajaxgrid.getCheckedRecords(); if(ds.length==0){ $.alert("提示信息" ...

  9. [学习OpenCV攻略][016][RedHat下安装OpenCV]

    安装环境 操作系统: Red Hat Enterprise Linux Server 6.3 相关软件: ffmpeg-0.8.15.tar.bz2.cmake-3.5.1.tar.gz.OpenCV ...

  10. PHP实现伪静态方法汇总

    PHP伪静态的使用主要是为了隐藏传递的参数名,下面给大家介绍php实现伪静态的方法,对php实现伪静态相关知识感兴趣的朋友一起学习吧 PHP伪静态的使用主要是为了隐藏传递的参数名,下面给大家介绍php ...