实验四 基于PPTP的远程VPN实现【网络安全】

news2024/10/7 12:18:14

实验四 基于PPTP的远程VPN实现【网络安全】

  • 前言
  • 推荐
  • 实验四 基于PPTP的远程VPN实现
    • 使用:
    • 配置CentOS PPTP服务端
    • 配置CentOS PPTP客户端
    • 常见问题
      • 浏览器无法打开网页
  • 最后

前言

2023-5-7 23:10:12

以下内容源自《【网络安全】》
仅供学习交流使用

推荐

第27节 远程访问虚拟专网工作流程及实验演示

千锋网络安全教程:day20、10-远程访问VPN

Centos7搭建pptp一键安装脚本

Centos7.5 系统使用pptpd搭建服务器

实验四 基于PPTP的远程VPN实现

使用:

废话不多说,先上脚本地址:Centos7一键pptp

使用:
1、wget http://files.cnblogs.com/files/wangbin/vpn_centos.sh

2、chmod +x ./vpn_centos.sh

3、./vpn_centos.sh

在这里插入图片描述

在这里插入图片描述

配置CentOS PPTP服务端

按照如下操作步骤,配置CentOS PPTP服务端。

1.远程登录ECS实例。

具体操作,请参见连接方式概述。

此处使用另外一个本地虚拟机

执行如下命令,完成PPTP服务端安装。

yum install -y ppp pptpd

回显如下图所示,表示PPTP服务端安装成功。
在这里插入图片描述

我这里pptpd没安装到

参考:Centos7.5 系统使用pptpd搭建服务器

在安装PPTPD服务之前,需要先更新一下yum源

(1)安装wget

yum install -y wget

(2)添加EPEL源:

 wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

在这里插入图片描述

(3)安装epel源:

rpm -ivh epel-release-latest-7.noarch.rpm 

在这里插入图片描述

(4)检查是否添加到源列表中:

yum repolist

在这里插入图片描述

(5)更新源列表

 yum -y update       

(6)安装PPTPD:

 yum install -y pptpd

在这里插入图片描述

6、设置×××内网IP段

vi /etc/pptpd.conf

将以下两行前面的#号删掉,配置×××内网的IP段,也可自行设置

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

在这里插入图片描述

7、配置opptions.pptpd

vi /etc/ppp/options.pptpd

(1)修改DNS:

修改dns服务的两行:

ms-dns 8.8.8.8

ms-dns 8.8.4.4

在这里插入图片描述

(2)修改日志记录:

添加日志存放位置:

nologfd
logfile /var/log/pptpd.log     #日志存放位置

在这里插入图片描述

8、设置×××账号密码:

编辑/etc/ppp/chap-secrets ,创建×××账号密码,

vim /etc/ppp/chap-secrets 

备注:添加用户名密码的格式

用户名 pptpd 密码 * #每个字段之间用tab键隔开 *表示用任意IP连接×××都可以

在此建立两个账号

root	pptpd	123	*
test	pptpd	456	*

在这里插入图片描述

9、修改内核参数

编辑/etc/sysctl.conf 修改内核参数,支持内核转发

vim /etc/sysctl.conf , 在最下面添加:net.ipv4.ip_forward=1

在这里插入图片描述

输入命令生效:sysctl -p
在这里插入图片描述

10、修改防火墙设置:

(1)创建规则文件:

touch /usr/lib/firewalld/services/pptpd.xml

(2)修改规则文件

 vim /usr/lib/firewalld/services/pptpd.xml
<?xml version="1.0" encoding="utf-8"?>

<service>

       <short>pptpd</short>
       
       <description>PPTP</description>
       
       <port protocol="tcp" port="1723"/>
       
</service>

在这里插入图片描述

(3)重启防火墙

systemctl  start firewalld.service

在这里插入图片描述

(4)添加服务

 firewall-cmd --permanent --zone=public --add-service=pptpd

在这里插入图片描述

(5)允许防火墙伪装IP:

 firewall-cmd --add-masquerade

在这里插入图片描述

(6)开启 47和1723端口

firewall-cmd --permanent --zone=public --add-port=47/tcp

firewall-cmd --permanent --zone=public --add-port=1723/tcp

在这里插入图片描述

(7)允许grep协议:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT

firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT

在这里插入图片描述

(8)设置规则允许数据包由eth0 和ppp+接口中进出

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT

在这里插入图片描述

(9)设置转发规则,从源地址发出的所有包进行伪装,改变地址,由eth0发出

 firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 192.168.0.0/24

在这里插入图片描述

11、开启转发规则

转发规则有两种:

(1)XEN架构:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

(2)OpenVZ架构:

 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP    //VPS公网IP 要换成你服务器的IP 比如 115.138.148.X

在此我使用的是XEN架构,在命令终端输入第一条命令:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

在这里插入图片描述

12、编辑rc.local文件,添加转发规则

(1)给rc.local执行权限

chmod +x /etc/rc.d/rc.local

在这里插入图片描述

(2)编辑rc.local文件

在文件最下面添加代码

使用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

在此使用的XEN架构。

 vim /etc/rc.d/rc.local

在这里插入图片描述

13、重启服务

systemctl restart pptpd

firewall-cmd --reload

在这里插入图片描述

14、查看pptpd服务

ps -aux | grep pptpd

在这里插入图片描述

15、设置开机启动

systemctl enable pptpd

在这里插入图片描述

配置CentOS PPTP客户端

1.执行如下命令,安装PPTP软件包。

yum install -y ppp pptp pptp-setup

回显如下图所示,表示PPTP安装成功。

在这里插入图片描述

2.执行如下命令, 连接VPN服务端。

pptpsetup --create test --server [$IP] --username [$User] --password [$Password] --encrypt --start

说明

[$IP]、[$User]、[$Password]为VPN服务端的IP地址、用户名和密码。
pptpsetup --create test --server 192.168.253.156 --username root --password 123  --encrypt --start

回显如下图所示,表示已成功连接VPN服务端。

在这里插入图片描述
3.当系统提示已经被分配了192.168.0.234的客户端地址时,执行如下命令,可以看到ppp0网卡。

ifconfig | grep -A 10 ppp

在这里插入图片描述
4.执行如下命令,增加默认路由。

ip route replace default dev ppp0

回显如下图所示,表示命令执行成功。
在这里插入图片描述

5.增加路由后,您就可以访问VPN服务器。

常见问题

浏览器无法打开网页

搭建PPTP VPN后,测试可以连接,可以PING通网站域名,但浏览器无法打开网页。一般是MTU设置不正确导致的。请参考以下方案解决问题。

在这里插入图片描述

方案一

1.登录连接配置VPN的CentOS服务器。

2.输入执行ifconfig ppp0 mtu 1472命令。

通过浏览器测试是否能打开网页。当出现类似如下返回信息时,表示问题已经解决。

说明

此方案可以临时生效,如果您需要长期生效的方案,请完成方案二。

方案二

1.登录连接配置VPN的CentOS服务器。

2.输入执行vi /etc/ppp/ip-up命令,进入/etc/ppp/ip-up文件中。

3.在/etc/ppp/ip-up文件中添加ifconfig ppp0 mtu 1472 命令。

回显如下图所示,表示命令添加成功。

在这里插入图片描述

注意:重启服务

systemctl restart pptpd

firewall-cmd --reload

4.通过浏览器测试是否能打开网页。

当出现类似如下返回信息时,表示问题已经解决。

在这里插入图片描述

2023-5-8 13:45:52

最后

2023-5-7 23:22:35

你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。

祝大家逢考必过
点赞收藏关注哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP三次握手/四次挥手

TCP三次握手/四次挥手 TCP的三次握手和四次挥手实质就是TCP通信的连接和断开。 三次握手 任何基于TCP的应用&#xff0c;在发送数据之前&#xff0c;都需要由TCP进行三次握手进行连接 握手流程&#xff1a; 三次握手原理 第1次握手&#xff1a;客户端发送一个带有SYN&#…

【蓝桥杯国赛真题26】Scratch队列练习 少儿编程scratch图形化编程 蓝桥杯省赛真题讲解

目录 scratch队列练习 一、题目要求 编程实现 二、案例分析 1、角色分析

2018年下半年软件设计师下午试题

试题四&#xff08;15分&#xff09; 给定一个字符序列Bb1b2….bn&#xff0c;其中bi∈{A,C,G,U}。B上的二级结构是一组字符对集合S{(bi,bj)},其中i,j∈{1,2,….,n}&#xff0c;并满足以下四个条件&#xff1a; &#xff08;1&#xff09;S中的每对字符是(A,U),(U,A),(C,G)和…

【网络】-- IP协议

应用层&#xff08;http、https&#xff09;&#xff1a; 数据的使用。传输层&#xff08;UDP、TCP&#xff09;&#xff1a;网络通讯的细节&#xff0c;将数据可靠的从A主机跨网络送到B主机。网络层&#xff08;IP&#xff09;&#xff1a;提供一种能力&#xff0c;将数据从A主…

如何让任何小程序都支持在windows系统中打开?

随着小程序的发展&#xff0c;出现了越来越多小程序在PC端打开的需求。很多程序员同行都想了解&#xff1a;小程序支持在windows系统、mac、统信UOS等桌面操作系统中打开吗&#xff1f; 答案当然是&#xff1a;可以&#xff01; 本文就基于作者自身的经验&#xff0c;给大家介…

IPWorks SSH 2022.0.8505 C++ Edition Crack

IPWorks SSH 2022.0.8505 C Edition 轻松将安全外壳 &#xff08;SSH&#xff09; 安全性集成到您的互联网应用程序中。IPWorks SSH 库包括支持 SSH 的客户端、服务器和代理组件&#xff0c;支持强 SSH 2.0 加密和高级加密。 SSH库 SSH 文件传输和通信 借助 IPWorks SSH&#x…

【嵌入式环境下linux内核及驱动学习笔记-(10-内核内存管理)】

目录 1、linux内核管理内存1.1 页1.2 区1.2.1 了解x86系统的内核地址映射区&#xff1a;1.2.2 了解32位ARM系统的内核地址映射区&#xff1a; 2、内存存取2.1 kmalloc2.1.1 kfree2.1.2 kzalloc 2.2 __get_free_page函数族2.2.1 free_page2.2.2 __get_free_pages()2.2.3 free_pa…

20230502 - 二叉树1 | 二叉树理论基础、二叉树的递归遍历

1、二叉树理论基础篇 二叉树可以链式存储&#xff0c;也可以顺序存储。 用数组来存储二叉树如何遍历的呢&#xff1f; 如果父节点的数组下标是 i&#xff0c;那么它的左孩子就是 i * 2 1&#xff0c;右孩子就是 i * 2 2。 深度优先遍历 前序遍历&#xff08;递归法&…

Android 页面滑动悬浮资源位动画+滑动监听解决方案

一、介绍 在日常业务开发过程中&#xff0c;我们有好多资源位悬浮在页面上&#xff0c;特别是电商以及促销页面&#xff0c;有些公司恨不得把整个页面像叠汉堡一样&#xff0c;一层一层加内容&#xff0c;目的是想让更多的人通过他们的资源来完成更便捷的操作。 但是资源是会覆…

HarmonyOS版的“抖音”长啥样?有图有真相

“鸿蒙系统实战短视频App 从0到1掌握HarmonyOS”系列课程是面向HarmonyOS实战的视频教程&#xff0c;该课程会通过构建一个真实的短视频App来向读者展示HarmonyOS的全过程。 本节将演示基于HarmonyOS短视频App的核心功能。通过了解该App的功能&#xff0c;也能初步对本课程的内…

C++——类和对象(4)

作者&#xff1a;几冬雪来 时间&#xff1a;2023年5月8日 内容&#xff1a;C类和对象内容讲解 目录 前言&#xff1a; 1.操作符重载&#xff08;续&#xff09;&#xff1a; 前置和后置&#xff1a; 日期减日期&#xff1a; <<操作符&#xff1a; 结尾&#xff…

顶级白帽黑客必备的十大黑客技术

1.熟悉Linux系统和命令行操作&#xff1a; Linux是黑客的基石&#xff0c;几乎所有黑客工具和技术都是在Linux平台上运行的&#xff0c;熟悉Linux系统和命令行操作是必须的。 2.掌握网络协议和TCP/IP模型&#xff1a; 了解TCP/IP模型、网络协议和通信流程是黑客攻击的基础&a…

Python-exe调用-控制台命令行执行-PyCharm刷新文件夹

文章目录 1.控制台命令行执行1.1.os.system()1.2.subprocess.getstatusoutput()1.3.os.popen() 2.PyCharm刷新文件夹3.作者答疑 1.控制台命令行执行 主要三种方式实现。 1.1.os.system() 它会保存可执行程序中的打印值和主函数的返回值&#xff0c;且会将执行过程中要打印的…

Diesel 基础

Diesel 2.0.4 官网 github API Documentation 一个安全的&#xff0c;可扩展的ORM和Rust查询构建器 Diesel去掉了数据库交互的样板&#xff0c;在不牺牲性能的情况下消除了运行时错误。它充分利用了Rust的类型系统来创建一个“感觉像Rust”的低开销查询构建器。 支持数据库…

操作系统基础知识介绍之可靠性与可用性(包含MTTF、MRBF、MTTR等)

计算机是在不同的抽象层上设计和构建的。 我们可以通过计算机递归地下降&#xff0c;看到组件将自身放大为完整的子系统&#xff0c;直到我们遇到单个晶体管。 尽管有些故障很普遍&#xff0c;例如断电&#xff0c;但许多故障仅限于模块中的单个组件。 因此&#xff0c;一个模块…

Python每日一练:小艺的口红(暴力、二分、图论三种方法)代写匿名信

文章目录 前言0、题目一、暴力查找二、二分查找三、有序二叉树总结&#xff08;代写匿名信&#xff09; 前言 很明显小艺的口红问题是考的是查找算法&#xff0c;对于这种一次性查找&#xff0c;直接暴力就行了&#xff0c;当然咱是为了学习&#xff0c;所以用来练练各种查找&…

【Linux】基础IO_文件系统

环境&#xff1a;centos7.6&#xff0c;腾讯云服务器Linux文章都放在了专栏&#xff1a;【Linux】欢迎支持订阅 相关文章推荐&#xff1a; 【Linux】冯.诺依曼体系结构与操作系统 【C/进阶】如何对文件进行读写&#xff08;含二进制&#xff09;操作&#xff1f; 【Linux】基础…

【9种】ElasticSearch分词器详解,一文get!!!| 博学谷狂野架构师

ElasticSearch 分词器 作者: 博学谷狂野架构师GitHub&#xff1a;GitHub地址 &#xff08;有我精心准备的130本电子书PDF&#xff09; 只分享干货、不吹水&#xff0c;让我们一起加油&#xff01;&#x1f604; 概述 分词器的主要作用将用户输入的一段文本&#xff0c;按照一定…

二十一、线索转换1:点击转换按钮加载信息、搜索市场活动

功能需求 *在线索转换页面,展示:fullName,appellation,company,owner 流程图 代码实现 1.ClueMapper /*** 通过id查询线索详情* param id 线索id* return 对应id的线索*/Clue selectClueForDetailById(String id); ClueMapper.xml <select id"selectClueForDetailByI…

考研数学武忠祥 高等数学0基础课笔记

函数和映射 常见的函数 取整函数的基本性质 函数的有界性 例题 sinx 是从-1到1的&#xff0c;但是x是无界的 遇到这种带sin的&#xff0c;就要试着取特殊值&#xff0c;让它为1或者为0 函数的单调性 函数的奇偶性 函数的周期性 举例 数学中Q表示有理数集&#xff0c;下面…