点对点隧道协议—PPTP部署配置

2023-11-11

1.虚拟专用网

1.1 PPTP介绍
PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的加强型安全协议,支持多协议虚拟专用网,能够经过密码验证协议(PAP)、可扩展认证协议(EAP)等方法加强安全性。可使远程用户经过拨入ISP、经过直接链接Internet或其余网络安全地访问企业网。

1.2 虚拟专用网工做原理
在这里插入图片描述
1.3 虚拟专用网络隧道协议
1.PPTP协议算法
使用MS-CHAP v2验证方法,也能够选择安全性更好的EAP-TLS证书验证方法。身份验证完成后,以后双方所发送的数据能够利用MPPE加密法来加密,仅支持128位的RC4加密算法vim
2.L2TP/IPSec协议centos
支持IPSec的预共享密钥与计算机证书两种身份验证方法,计算机证书方法安全性较高,预共享密钥方法应仅做为测试时使用。身份验证完成后,以后双方所发送的数据则利用IPSec ESP的3DES或AES加密方法浏览器
3.SSTP协议安全
采用HTTPS协议,所以能够经过SSL安全措施来确保传输安全性。而HTTPS是企业广泛采用的协议。

1.4 虚拟专用网络应用场景
在这里插入图片描述
1.出差人员访问公司内部局域网
2.家庭办公访问公司内部局域网
3.总公司与分公司之间实现网络互访
4.企业与客户、厂商联盟之间或者是企业与银行互通

1.检查是否支持

modprobe ppp-compress-18 && echo yes

返回 yes 表示支持 pptp

2.检测PPP是否开启:

cat /dev/ppp

返回:cat: /dev/ppp: No such device or address 表示支持

3.安装组件

yum install epel-release
yum install ppp iptables pptpd pptp

4.编辑pptpd.conf
编辑 pptpd.conf 这个文件:vim /etc/pptpd.conf
找到下面的两行,并且去掉注释:

localip 10.2.0.1
remoteip 10.2.0.100-150

第一行的意思是VPN连接成功后,VPN server(就是你启动 pptpd 服务)的地址,就是说通过这个地址来找到 VPN server。
第二行是分配给客户端的 ip 范围。remoteip最好不用和VPN client本身所在的局域网的ip冲突,默认即可

5.编辑options.pptpd
终端输入:vim /etc/ppp/options.pptpd
其他的一般保持默认即可,主要是设置下 DNS:

ms-dns 8.8.8.8
ms-dns 114.114.114.114

同样是去掉注释,然后修改,一般设置个 DNS 就可以了,或者根据需要设置其他,例如:

name pptpd                        #自行设定的VPN服务器的名字,可以任意
#refuse-pap                        #拒绝pap身份验证
#refuse-chap                      #拒绝chap身份验证
#refuse-mschap                 #拒绝mschap身份验证
require-mschap-v2             #为了最高的安全性,我们使用mschap-v2身份验证方法
require-mppe-128              #使用128位MPPE加密
ms-dns 8.8.8.8                   #设置DNS
ms-dns 8.8.4.4                   #设置DNS
proxyarp                            #启用ARP代理,如果分配给客户端的IP与内网卡同一个子网
#debug                              #关闭debug
#lock                               #锁定TTY设备
nobsdcomp                           #禁用BSD压缩模式
novj
novjccomp
#nologfd                            #不输入运行信息到stderr
logfile /var/log/pptpd.log    #存放pptpd服务运行的的日志

6.设置账号密码
终端输入: vim /etc/ppp/chap-secrets
格式上面有提示,就是:用户名 pptpd 密码 *

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
   User           *      密码                       *

* 表示的是随机分配 ip

7.修改内核参数

#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.send_redirects = 0

#sysctl -p  #修改内核生效

8.添加转发规则,可选择关闭防火墙(centos6必须添加centos7另外)

XEN架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
OpenVZ架构:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP
  sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT #开放1723端口
  sudo iptables -A INPUT -p gre -j ACCEPT  #开启gre协议

9.启动服务

systemctl start pptpd

云主机需要开放1723端口
TCP 1723 请确保并且有必要 Protocol 47 (GRE) PPTP 在此之前正确运行。您在日志中看到的问题可能是由于 GRE 未通过防火墙正确中继。
此外, mppe-stateful 您可能需要添加 pptpd-options 文件以允许Windows主机使用。中间 NAT 路由器可能会按照通过次数进行连接,mru 因此必须减少。和 mtu 设置。

10.测试

yum install -y ppp pptp pptp-setup net-tools
pptpsetup --create myvpn --server pptp_server --username username1 --password passwd1 --encrypt -start

补充
可以使用 iptables -X -t nat 清除转发规则(iptables -F);
iptables -t nat -L 可以查看 NAT 表是否已经生效

#带行号查看当前所有规则 
iptables -L -n --line-numbers
#清除所有规则
iptables -F
#删除指定行号(以下命令中的“5”为指定行号)规则
iptables -D 5
#保存当前配置;相当于旧版/etc/init.d/iptables save
service iptables save
#重启iptables;相当于旧版本/etc/init.d/iptables restart
service iptables restart
#注册iptables服务;相当于旧版 chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service

ipdables 配置文件位于 /etc/sysconfig/iptables
查看VPS的架构
首先安装一个软件:yum install virt-what
装好后使用命令 virt-what 即可查看 linux 下 VPS 的架构了

windows10配置连接
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

点对点隧道协议—PPTP部署配置 的相关文章

  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • 如何使用ffmpeg重叠和合并多个音频文件?

    我正在尝试将多个音频文件合并到一个文件中 但我可以使用以下命令来连接 而不是连接 ffmpeg v debug i file1 wav i file2 wav i file3 wav filter complex 0 0 concat n
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 如何仅将整个嵌套目录中的头文件复制到另一个目录,在复制到新文件夹后保持相同的层次结构

    我有一个目录 其中有很多头文件 h 和其他 o 和 c 文件以及其他文件 这个目录里面有很多嵌套的目录 我只想将头文件复制到一个单独的目录 并在新目录中保留相同的结构 cp rf oldDirectory newDirectory将复制所有
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • 我应该使用哪个 Linux 发行版作为 Xen 主机? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我为家庭办公室订购了一台服务器 我想用 Xen 对其进行分区 我认为这将使事情保持干净并且更容易维护 我将运行 MySQL PostgreSQL
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • 无法仅在控制台中启动 androidstudio

    你好 我的问题是下一个 我下载了Android Studio如果我去 路径 android studio bin 我执行studio sh 我收到以下错误 No JDK found Please validate either STUDIO
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • 如何获取 linux 实用程序 tail 的源代码?

    这个命令确实非常有用 但是我可以在哪里获取源代码以查看内部发生的情况 thanks tail 实用程序是 Linux 上 coreutils 的一部分 源压缩包 ftp ftp gnu org gnu coreutils coreutils
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 如何以编程方式从Linux中的进程名称获取进程ID

    在我的项目中 我们使用 ACE 自适应通信环境 中间件来编写可在 Windows 和 Linux 上运行的独立于操作系统的代码 要求是从进程名称中获取进程 ID 由于 ACE 不支持这一点 因此我们必须使用特定于平台的宏来分离 Window
  • 如何让“grep”从文件中读取模式?

    假设有一个很大的文本文件 我只想打印与某些模式不匹配的行 显然 我可以使用egrep v patter1 pattern2 pattern3 现在 如果所有这些模式都在一个文本文件中怎么办 最好的制作方法是什么egrep从文件中读取模式 g
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli

随机推荐

  • 微信小程序:canvas生成图片分享

    背景 小程序通常会开发生成图片 分享到朋友圈的功能 如图所示该图片由 背景图 用户上传图片 用户昵称 小程序码构成 首先 在小程序里进行绘图操作需要用到
  • java 方法引用无效_java – 方法引用 – 无效的方法引用 – 不能从静态上下文引用...

    因为StringJoiner length占用零个参数 所以方法引用总是需要一个StringJoiner 任意实例 并返回一个整数 换句话说 第一个分配的方法ref等效于 Function lengthFunc new Function O
  • Ubuntu12.0.4 安装xmpp 服务器ejabberd

    http www cnblogs com dyingbleed archive 2013 04 04 2999885 html
  • 计算机图形学常用算法实现3 多边形扫描转换算法-扫描线算法

    运行环境 vs2015 winform 其他环境只需要替换对应的画点画线算法即可 这个算法其实很复杂的 实现起来需要有耐心 一步一步按照算法思路来写代码 在算法中 我使用的是静态链表 c 没有指针 下面的AET为活性边表 NET存储新边表
  • JS 数组转其他格式

    let arr 1 2 const arr 1 2 const newArr arr map item gt return key item value item console log newArr key 1 value 1 key 2
  • PyTorch学习笔记9

    PyTorch学习笔记9 整理笔记视频来源 问答系统 文本摘要系统 大规模预训练语言模型 一 问答系统 SQuAD数据集 给定一段文字作为context 给定一个问题question 从context中寻找一段连续的文字 text span
  • 毕业三周年,又一个离别季

    今天应该算是一个特别的日子 2011年的6月23日 我正式离校了 当时分别的场景还依稀在眼前展现 虽然我们没有跟别人一样哭的稀里哗啦 但是谁心里都明白 以后见面的日子真的不会太多 今天是2014年6月23日 看着很多人在空间发表大学生涯结束
  • 【超分顶会详解+部署】ESRT:Transformer for Single Image Super-Resolution

    文章目录 ESRT 1 超分基本知识 1 1 SRF 1 2 xxx img 1 3 裁剪 1 4 超分模型评估标准 2 LCB LTB 模块 2 1 序列模型 3 损失函数 4 部署运行 4 1 数据集 4 1 1 训练集 4 1 2 验
  • [专利与论文-19]:江苏省南京市2022年电子信息申报通知(中、高级)

    官网地址 南京人力资源和社会保障学会 官网通知 南京人力资源和社会保障学会 申报时间 2022 6 21到2022 07 29 过时不候 2021年申报地址 网上学习 江苏人社网办大厅 南京人社网上办事大厅 2022年申报地址 江苏省人力资
  • 华为OD机试 - We Are A Team

    题目描述 总共有 n 个人在机房 每个人有一个标号 1 lt 标号 lt n 他们分成了多个团队 需要你根据收到的 m 条消息判定指定的两个人是否在一个团队中 具体的 消息构成为 a b c 整数 a b 分别代表两个人的标号 整数 c 代
  • 计算机日期函数公式大全,常用的Excel日期函数大全

    Excel日期大家都会用 但是你知道Excel中有多少日期和时间函数吗 Excel为我们提供了大约20个日期和时间函数 这些函数对于处理表格中的日期数据都是非常有用的 下面介绍几个常用的Excel日期函数及其实际应用案例 1 处理动态日期
  • 对区块链的分析理解

    概述 狭义来讲 区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构 并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账 Decentralized shared ledger 能够安全存储简单的 有先后关系的 能在系统内
  • PowerOJ2512: 小红灌溉【染色】

    题目链接 划重点 每个有菜的点只能浇一次且恰好一次 所以意思就是 譬如某个菜的位置是 x y 那么 行x 列y的浇水方案只能使用其中的一个 以此类推 我们给每个有蔬菜的位置的 x y 的x点与y点链接一条无向边 代表x和y只能选择其中的一个
  • MySQL5.7.xx安装卡在Staring the server解决方案--亲测有效

    安装mysql时卡在Staring the server 一般是两个问题 之前安装过mysql 卸载不彻底 你的电脑名称中有中文 我当时用在网上查找的方法 将mysql删除之后 依旧卡在Staring the server这个地方 接着重新
  • 《数据分析原理》:6步解决业务分析难题

    点击上方卡片关注我 回复 8 加入数据分析 领地 一起学习数据分析 持续更新数据分析学习路径相关资料 精彩数据观点 学习资料 数据课程分享 读书会 分享会等你一起来乘风破浪 回复 小飞象 领取数据分析知识大礼包 读书交流 7期 数据分析原理
  • IntelliJ IDEA 下载安装教程,超详细图文教程

    1 IDEA 下载 1 打开浏览器输入https www jetbrains com 进入 Jetbrains官网 点击 Developer Tools 再点击 Intellij IDEA 2 点击中间的 Download 进入IDEA下载
  • 分割预研 -- 2022.5

    MMSegmentation MMSegmentation 标准统一的语义分割框架 非常好的分割开源集成框架 https link zhihu com target https 3A github com open mmlab mmsegm
  • 基于 FBXSDK-Python 的动画操作

    PythonFBXSKD 01 基础的动画操作 1 0 下载安装 FBXSDK 我这里演示的是 FBXSDK 2020 2 只有 py37 版本的 FBXSDK 2020 1 1 版本有 py27 和py33 两个版本 根据自己的pytho
  • kubernetes的configmap格式错乱问题

    一 问题 最近发现configmap资源在查看 o yaml 或者修改 edit 时 存在格式错乱问题 以nginx配置文件为例 通过
  • 点对点隧道协议—PPTP部署配置

    1 虚拟专用网 1 1 PPTP介绍 PPTP Point to Point Tunneling Protocol 即点对点隧道协议 该协议是在PPP协议的基础上开发的一种新的加强型安全协议 支持多协议虚拟专用网 能够经过密码验证协议 PA