首页 > 技术文章 > linux 搭建PPTP

caoyf1992 2018-01-09 14:31 原文

  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服务即可解决

 

解决后网卡恢复正常

 

推荐阅读