简介:

PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(×××),可以通过密码验证协议(PAP)、可扩展认证协议(EAP)等方法增强安全性,工作在第二层。

默认端口号:1723

×××主机OS

CentOS6.4 32bit

准备工作:

检测服务器是否支持ppp协议:

[root@MyServer ~]# modprobe ppp-compress-18 && echo ok
ok #返回ok,则表示内核MPPE补丁安装成功

检查PPP是否支持MPPE,yum安装不需要这一步,yum会解决所有问题。

[root@MyServer ~]# strings '/usr/sbin/pppd'|grep -i mppe|wc --lines
42
# 输出为“0”则表示不支持;为“30”或更大的数字就表示支持。

检测服务器是否正确装配了TUN/TAP设备

[root@MyServer ~]# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state # 返回这个结果表示已经正确安装配置了TUN/TAP
cat: /dev/net/tun: No such device# 返回这个结果,表示没有正确装配TUN/TAP,请自己装配下。

安装:

[root@MyServer ~]#
yum -y install pptp
# yum安装会解决所有的包的依赖关系问题,但这样安装会有一个问题,在/etc/目录下没有pptpd.conf文件

安装完成后,我们为了获得pptpd.conf文件,将pptp卸载,重新在网上下载源码包安装。

根据系统选择下载那个版本的pptpd:

[root@MyServer ~]# wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.i686.rpm
[root@MyServer ~]# rpm -ivh pptpd-1.4.0-1.el6.i686.rpm

配置PPTP:

[root@MyServer ~]# grep -v ^# /etc/ppp/options.pptpd
name pptpd# ×××服务器的名字
refuse-pap# 拒绝pap身份验证
refuse-chap     # 拒绝chap身份验证
refuse-mschap# 拒绝mschap身份验证
require-mschap-v2# 在采用mschap-v2身份验证方式时可以同时使用MPPE进行加密
require-mppe-128# 使用 128-bit MPPE 加密
ms-dns 8.8.4.4# DNS这两条是自己要去掉注释符修改的,其他默认就好。
ms-dns 8.8.8.8
proxyarp# 启动ARP代理,如果分配给客户端的IP地址与内网网卡在一个子网就需要启用ARP代理。
lock # 锁定PTY文件,以确保独占访问。
nobsdcomp # 禁用BSD-Compress压缩
novj# Disable Van Jacobson compression
novjccomp
nologfd# 关闭日志功能
[root@MyServer ~]# grep -v ^# /etc/pptpd.conf
option /etc/ppp/options.pptpd# 配置文件位置
logwtmp# 使用/var/log/wtmp记录客户链接与断开
localip 10.10.0.1# 本地×××服务器的IP,也可以是一个ip范围,例如:10.10.0.1-10
remoteip 10.10.0.2-100,10.10.0.254# 客户端被分配的IP范围。
[root@MyServer ~]# cat /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
#
test***            pptpd       123456    *
***帐号      ***服务   密码可访问的ip,*表示所有

iptables 配置:

[root@MyServer ~]# iptables -A INPUT -p tcp --dport 1723 -j ACCEPT# pptp默认端口
[root@MyServer ~]# iptables -A INPUT -p tcp --dport 47 -j ACCEPT# gre协议端口
[root@MyServer ~]# iptables -A INPUT -p gre -j ACCEPT
[root@MyServer ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 本机SSH端口
[root@MyServer ~]# iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j MASQUERADE
[root@MyServer ~]# iptables -A INPUT -p tcp -j DROP

开启相关服务并使其开机自动启动:

[root@MyServer ~]# service pptpd start
[root@MyServer ~]# chkconfig pptpd on
[root@MyServer ~]# service iptables save
[root@MyServer ~]# service iptables start
[root@MyServer ~]# chkconfig iptables on

开启转发功能:

    [root@MyServer ~]# grep ip_forward /etc/sysctl.conf  net.ipv4.ip_forward = 1

测试:

如果是windows系统,请建立×××进行测试,这里不详细说明了。

补充知识点:

PAP(口令验证协议)是一种简单的明文验证方式。NAS要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。

CHAP(挑战-握手验证协议)是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字符串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-wayhashingalgorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字符串来防止受到再现***(replay attack).在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remoteclient impersonation)进行***。如果已经使用 CHAP 验证连接,则不能使用 Microsoft 点对点加密 (MPPE)。

mschap 即Microsoft 创建 的MS-CHAP(微软挑战-握手验证协议),是为了对远程 Windows 工作站进行身份验证,同时集成LAN 用户所熟悉的功能,以及用于 Windows 网络的散列算法。与 CHAP 相似,MS-CHAP 使用质询响应机制来对不发送任何密码的连接进行身份验证。远程客户必须返回用户名以及经过MD4哈希算法加密的挑战字符串,会话ID和用户口令的MD4哈希值。采用这种方式服务器端将只存储经过哈希算法加密的用户口令而不是明文口令,这样就能够提供进一步的安全保障。此外,MS-CHAP同样支持附加的错误编码,包括口令过期编码以及允许用户自己修改口令的加密的客户-服务器(client-server)附加信息。使用MS-CHAP,客户端和NAS双方各自生成一个用于随后数据加密的起始密钥。MS-CHAP使用基于MPPE的数据加密,这一点非常重要,可以解释为什么启用基于MPPE的数据加密时必须进行MS-CHAP验证。在第2阶段PPP链路配置阶段,NAS收集验证数据然后对照自己的数据库或中央验证数据库服务器(位于NT主域控制器或远程验证用户拨入服务器)验证数据的有效性。

MS-CHAP v2(Microsoft 质询握手身份验证协议版本 2)MS-CHAP v2 可以提供交互身份验证、生成 Microsoft 点对点加密 (MPPE) 的更强初始数据加密密钥,以及在发送和接收数据时使用不同的加密密钥。为降低更改密码时密码泄漏的风险,将不再支持较旧的 MS-CHAP 密码更改方法。MS-CHAP v2 是一种交互身份验证协议,即客户端和服务器都需证明它们知道用户的密码。首先,远程访问服务器通过向客户端发送质询,请求远程访问客户端提供证据。然后,远程访问客户端通过向远程访问服务器发回质询的方式,请求其提供证据。如果服务器无法正确回答客户端的质询,证实它知道用户的密码,则客户端中断连接。如果没有交互身份验证,远程访问客户端将无法建立与未经授权的远程访问服务器的连接。

转载于:https://blog.51cto.com/daemonsa/1569613

安装pptp ×××相关推荐

  1. CentOS 7下安装pptp服务端手记

    主要配置步骤 安装前检查系统支持 a. 在安装之前查看系统是否支持PPTP modprobe ppp-compress-18 && echo success 应该输出:success ...

  2. 【vpn异地组网专题】linux(centos7)安装 PPTP服务器

    1.安装PPTP yum install pptpd ppp 2.配置文件 vim /etc/ppp/options.pptpd 将它更改为你的dns服务地址(此处为阿里云DNS) ms-dns 22 ...

  3. Linux安装PPTP

    1.安装PPTP 1.1 检查是否支持PPTP #返回OK [root@vpn ~]# modprobe ppp-compress-18 && echo ok ok 1.2 添加EPE ...

  4. CentOS安装PPTP ×××

    [转载] 在ucloud购买了一台云服务器,需要搭建***,这种小软件安装比较简单,看到ucloud有相关的文档,写得很清晰,所以转过来.一直没把自己写的相关文档放到咱们运维生存时间上,正好有个不错的 ...

  5. linux桌面下安装pptp,Linux下安装PPTP客户端

    1,图形界面,安装这个包后进行设置即可: NetworkManager-pptp 2,字符界面: 从:  http://pptpclient.sourceforge.net/ 下载rpm包  :ppt ...

  6. centos7 安装 PPTP服务器

    https://blog.csdn.net/h18733517027/article/details/94435182?utm_medium=distribute.pc_feed_404.none-t ...

  7. linux 虚拟专用网络设置,centos安装配置pptp 虚拟专用网络服务器步骤分享

    说明: 服务器操作系统:CentOS 5.X 64位 服务器IP地址:192.168.21.128 实现目的:服务器安装配置pptp软件,对外提供虚拟专用网络拨号服务 具体操作: 一.安装包下载 1. ...

  8. 在 Ubuntu 配置 PPTP Server

    本文在 Ubuntu 12.4 或 14 亲测有效. 建立 PPTP 服务器 首先安装 pptp 服务器. # apt-get install pptpd 然后配置 pptpd. # sudo vi ...

  9. CentOS 5.6配置PPTP+Radius+Daloradius认证服务器傻瓜教程

    1.检查服务器是否有必要的支持.如果检查结果没有这些支持的话,是不能安装pptp的.执行指令: #modprobe ppp-compress-18 && echo ok 这条执行执行后 ...

最新文章

  1. [转]SQL 约束讲解
  2. 独家 | 手把手教你用R语言做回归后的残差分析(附代码)
  3. hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)...
  4. 我看TechEd 2012之技术热点
  5. Linux的vagrant配置vmware
  6. filter operation implementation in SAP Gateway framework
  7. Android 菜单(OptionMenu)大全 建立你自己的菜单
  8. 流浪地球票房43亿元 今起电影最低票价降10元
  9. 受新冠病毒影响,谷歌延迟发布 Chrome 和 Chrome OS 安全更新版本
  10. OSI参考模型及其数据封装和解封装介绍
  11. 【论文翻译】卷积神经网络图像风格转移 Image StyleTransfer Using Convolutional Neural Networks
  12. 计算机室 多媒体教室制度,多媒体教室管理、使用制度
  13. centos7 分辨率修改,CentOS 7 修改屏幕分辨率
  14. chrome弱网_弱网测试参考
  15. oracle12162错误,ORA-12162: TNS:net service name is incorrectly specified报错问题如何解决?...
  16. 学习笔记 | Inverting Gradients--How easy is it to break privacy in federated learning
  17. 计算机的坚果云怎么删除,如何删除坚果云残留图标
  18. mac下面如何修改只读文件(Read-only file system)
  19. HI3861学习笔记(17)——NFC标签NT3H1201使用
  20. NYU计算机系,NYU的Computer Science and Engineering「纽约大学计算机科学与工程系」

热门文章

  1. 手把手教你启动若依前后端分离项目
  2. 利用Linux搭建SVN服务器,详细过程
  3. java 迭代器失效_迭代器失效的几种情况
  4. 无废话Git——概念与本地服务器提交
  5. c语言多线程怎么写,如何用C语言实现多线程
  6. Java前后端分离第三方登录_网站前后端分离情况下如何实现QQ微信等第三方登陆-Fun言...
  7. 浙江工商大学计算机专业有博士点吗,[浙江工商大学]统计学(博士点)
  8. android中接口的作用是什么意思,Android为什么要序列化
  9. Linux 文件传输
  10. MySQL中查某一字段包含某一字符的个数