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. Vivado常见问题集锦

    5. Vivado软件更新新版后更新IP 当更新到新版本的Vivado后,之前的一些工程的IP是不能直接打开使用的,这个时候我们只需要使用新版本的Vivado更新一下每个工程的IP即可,使用新版本Vi ...

  2. 美团Java团队分享:如何实践支付通道自动化管理

    随着支付业务量激增,支付团队不断壮大.为了满足日益增长的业务需求,大量的支付通道逐渐接入,但由于对接的各银行和第三方系统的稳定性参差不齐,支付通道故障时有发生,作为承接上下游的核心系统,要在一系列不稳 ...

  3. ----------- Rootkit 核心技术之绕过 IopParseDevice() 调用源检测逻辑 ---------------

    ---------------------------------------------------------------- 在上一篇文章中,我们已经看到 IopParseDevice() 如何对 ...

  4. React Router 使用教程

    一.基本用法 React Router 安装命令如下. $ npm install -S react-router 使用时,路由器Router就是React的一个组件. import { Router ...

  5. 在实战中使用Sass和Compass

    第三章 无需计算玩转CSS网格布局 3.1 网格布局介绍 3.2 使用网格布局 3.2.1 术语 1 术语名 定义 是否涉及HTML标签 2 列 内容度量的垂直单位 否 3 容器 构成一个网格布局的H ...

  6. CTF---安全杂项入门第三题 这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?

    这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?分值:30 来源: 2014sctf 难度:难 参与人数:3918人 Get Flag:384人 答题人数 ...

  7. hdu_3068 最长回文(Manacher算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 最长回文 Time Limit: 4000/2000 MS (Java/Others)    M ...

  8. hdu_1370Biorhythms(互素的中国剩余定理)

    Biorhythms Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  9. float浮动属性的基本常识

    CSS 浮动 请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘: 再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边 ...

  10. c语言几个松散的地方(不足的地方,不严谨的地方,它容易出错的地方)。

    c语言是面向过程的语言,是弱类型语言,c语言的源代码基本就是无数个函数的堆砌.即很多函数就组成c语言源代码了,也即它的源代码基本就是函数构成的. C语言里面的test()和test(void)是不一样 ...