CentOs7搭建基于pptp的VPN服务器

news2024/11/26 18:42:42

  最近想远程连接一下家里的台式机电脑,由于都是局域网,又没有公网ip,所以就没法远程。上网查了一下,发现可以在云服务器上搭建一个VPN,这样两台电脑就在同一个局域网内,就可以完美解决这个问题。现在把搭建方法和遇到的问题做个总结。

一、VPN服务器的搭建

1、用xshell连接上xshell的终端,输入以下命令查看是否支持pptp

modprobe ppp-compress-18 && echo yes

在这里插入图片描述

2、输入:yum -y update 自动更新所有已安装的软件包和依赖项,以确保系统保持最新状态。

yum -y update

3、输入:yum -y install ppp安装ppp

yum -y install ppp

4、输入:yum -y install pptpd 安装pptp守护进程

yum -y install pptpd

5、输入vi /etc/pptpd.conf 配置pptpd.conf

找到最下面的localip,去掉开始的那个#符号

  • localip是指VPN服务器的本地IP地址,
  • remoteip是指为VPN客户端分配的IP地址,如果客户端比较多的话将remoteip的范围改大一些。

在这里插入图片描述
修改完成后按Esc键退出编辑模式,然后输入:wq保存并退出文件。

6、输入:vi /etc/ppp/options.pptpd 配置options.pptpd的dns

在这里插入图片描述

7、输入:vi /etc/ppp/chap-secrets 配置连接VPN客户端要用到的帐号密码

  • client为帐号
  • server是pptpd服务
  • secret是密码,
  • *表示是分配任意的ip
    数据之间用tab隔开
    在这里插入图片描述

8、输入:vi /etc/sysctl.conf 配置sysctl.conf

在末尾添加以下两行命令:

net.ipv4.ip_forward = 1 启用IPv4数据包转发功能

sysctl -p 使更改生效
在这里插入图片描述

9、添加一个规则,允许通过 TCP 协议访问 1723 端口

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

特别注意:在云服务器的防火墙中也要放行1723这个端口
在这里插入图片描述

10、增加转发规则,为了可以连上vpn后可以上网

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
# 保存规则:
service iptables save

# 重启生效:
systemctl restart iptables

11、重启pptp服务 systemctl restart pptpd

systemctl restart pptpd
# 将PPTP VPN服务添加到开机自启服务列表中,使它在系统启动时自动启动。
systemctl enable pptpd

二、本地连接配置(以windows11为例)

1、连接vpn

依次打开设置网络和InternetVPN连接 添加vpn
在这里插入图片描述

2、可以在cmd中查看当前的网络是否连接成功,如果出现配置的ip说明成功

在这里插入图片描述

三、遇到的问题总结

1、如果在连接过程中出现端口不通,说明需要配置防火墙

systemctl start firewalld.service(开启防火墙)
 
systemctl stop firewalld.service(关闭防火墙)
 
systemctl status firewalld(查看是否开启防火墙)
 
firewall-cmd --list-ports(查看开启的端口)
 
sudo firewall-cmd --zone=public --permanent --add-port=1723/tcp(开启1723端口)
sudo firewall-cmd --reload

特别注意:在云服务器的防火墙中也要放行1723这个端口
在这里插入图片描述

2、如果出现连接被远程计算机终止,需要设计加密格式

连接成功后,在网络设备管理器中,找到刚才添加的vpn的虚拟网卡
在这里插入图片描述
右键网卡,打开属性,将下面两项选择即可
在这里插入图片描述

3、如果出现无法访问外网的情况,需要配置路由

首先在网络设备管理器中,找到刚才添加的vpn的虚拟网卡,右键点击,在属性中选择网络选项卡,然后双击ipv4的设置
在这里插入图片描述
在打开的选项卡中点击高级
在这里插入图片描述
在IP设置中将“在远程网络上使用默认网关”取消选中
在这里插入图片描述
上面这样的设置,就是把所有的网都不走这个vpn网卡了,我们再将特定的网段设置成走vpn即可实现外网不走vpn,特定网段走vpn的功能。

具体方法如下:

点击确定以后断开vpn重新连接一次,然后用管理员打开cmd,在cmd中设置路由输入以下命令

# 显示已经连接的VPN接口以及对应的接口编号,记住最前面的数字,举例:52
route print | findstr MyVPN

# 添加公司内网IP段,下方的52就是接口编号,IP段举例:192.168.31.0/24
route add -p 192.168.31.0/24 0.0.0.0 if 52

# 到这里就完成所有配置了,参数 -p 是指添加永久路由表,重启系统仍然保留

我这里之前已经添加过,所以已经存在了
在这里插入图片描述

四、远程连接

找到需要远程的机器,连上我们自己搭建的VPN,拿到ip地址,就可以进行远程连接了
在这里插入图片描述


参考资料:

  • https://zhuanlan.zhihu.com/p/628587235
  • https://blog.csdn.net/m0_61385351/article/details/128615332
  • https://blog.jtwo.me/configure-routing-table-for-vpn-diversion/

后记
  个人总结,欢迎转载、评论、批评指正

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

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

相关文章

【linux常用命令+vi编辑器_2023.11.3】

芯片开发 Linux/Unix(环境) EDA工具TCL(波形) SVN/GIT(版本控制) Makefile(脚本语言) Perl/Python(脚本语言) Vim/Gvim(编辑器) 命令…

基于非洲秃鹫算法的无人机航迹规划-附代码

基于非洲秃鹫算法的无人机航迹规划 文章目录 基于非洲秃鹫算法的无人机航迹规划1.非洲秃鹫搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用非洲秃鹫算法来优化无人机航迹规划。 …

《C/C++代码审计实践》一书出版了

我撰写了代码审计一书,包括了C、C、Java语言,加起来有600多页,书籍太厚,印刷成本比较高,出版社对于代码审计将来的销量也有所担心,他们更担心的在书中涉及到了对国家标准的解读,尤其是国家军用标…

Windows 11 开启启用 Hyper-V选项

Hyper-V 是微软开发的基于硬件的虚拟机管理程序。它允许用户在 Windows 操作系统之上运行不同操作系统的多个实例。目前,Hyper-V 也支持 Windows、Ubuntu 和其他 Linux 发行版。 如果发现跟我电脑一样没有启用Hyper-V选项可以按照以下步骤进行操作。 一、新建一个t…

该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏。

问题描述 该虚拟机似乎正在使用中。 如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消©”按钮以防损坏。 配置文件: D:\RedHat\Red Hat Enterprise Linux 8 64 位.vmx。 获取所有权: 看到这里我的心凉…

阿里云宣布“云工开物计划”:给中国所有大学生每人送一台云服务器

在2023云栖大会上,阿里云CTO周靖人表示,面向智能时代,阿里云将通过从底层算力到AI平台再到模型服务的全栈技术创新,升级云计算体系,打造一朵AI时代最开放的云。 在现场,周靖人公布了云计算基础能力的最新进…

Jmeter分布式测试的注意事项和常见问题

Jmeter是一款开源的性能测试工具,使用Jmeter进行分布式测试时,也需要注意一些细节和问题,否则可能会影响测试结果的准确性和可靠性。 Jmeter分布式测试时需要特别注意的几个方面 1. 参数化文件的位置和内容 如果使用csv文件进行参数化&…

nvm安装教程(一篇文章所有问题全搞定,非常详细)

nvm 是什么? nvm 是一款 nodejs 版本管理工具,通过 nvm 可以简化我们切换 nodejs 版本的操作。 nvm 的安装流程 一、首先进入 nvm 的官网下载安装包 官网地址:http://nvm.uihtm.com 找到自己系统对应的版本进行下载,以下以 w…

GDPU 小试牛刀

自由发挥,尽力就行,答案无标准,你就是唯一! Take it easy! 前端 1. HTML 请问HTML的全称是什么? Hyper Text Markup Language 超文本标记语言 2. 文档流 请谈一谈你对文档流的理解?言简意赅最好 在前端…

windows下tomcat控制台按天输出catalina.out日志

windows下tomcat控制台按天输出catalina.out日志 方法一方法二 windows服务器情况下,无法和linux服务器一样,启动web服务之后,直接tail查看日志,而windwos控制台的输出空间有限,如果遇到大量错误的情况下,c…

JVM离线分析-使用MAT分析dump堆文件

1. MAT(Memory Analyzer Tool)的介绍 官方介绍 The Eclipse Memory Analyzer is a fast and feature-rich Java heap analyzer that helps you find memory leaks and reduce memory consumption. Use the Memory Analyzer to analyze productive heap …

CodeWhisperer 的使用心得

文章作者:小SS 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社…

第9章_子查询

文章目录 1 需求分析与问题解决1.1 实际问题1.2 子查询的基本使用1.3 子查询的分类1.3.1 分类方式11.3.2 分类方式2 1.4 演示代码 2 单行子查询2.1 单行比较操作符2.2 代码示例2.3 HAVING中的子查询2.4 CASE中的子查询2.5 子查询中的空值问题2.6 非法使用子查询演示代码 3 多行…

错误页 模板

下载链接:https://ext.dcloud.net.cn/plugin?id15229 http://下载链接:https://ext.dcloud.net.cn/plugin?id15229 如有问题可添加下方名片

Day39 QTableWidget类的使用

1.简介 介绍QtableWidget各种属性的用法,以及常用的一些信号,最后利用这些特性,制作一个用于下发设备运行参数的表格。该表格可以实现折叠和取消折叠,在源代码中用了事件过滤器实现,也可以用自带的click信号。显示了图…

我用 LangChain 打造自己的 LLM 应用项目

随着LLM的技术发展,其在业务上的应用越来越关键,通过LangChain大大降低了LLM应用开发的门槛。本文通过介绍LangChain是什么,LangChain的核心组件以及LangChain在实际场景下的使用方式,希望帮助大家能快速上手LLM应用的开发。 技术…

二叉树采用二叉链表存储:编写计算二叉树最大宽度的算法(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)

二叉树采用二叉链表存储:编写计算二叉树最大宽度的算法 (二叉树的最大宽度是指二叉树所有层中结点个数的最大值) 和二叉树有关的代码,基本都逃不过“先中后层”,这四种遍历 而我们这里是让你计算最大宽度&#xff0c…

tail:无法打开文件错误

错误 解决方法与原因 原因是因为之前启动的没有关闭 解决方法 1.输入ls 2.可以看到里面有start_all.sh和stop_all.sh(我们使用stop_all.sh关闭) 3.使用start_all.sh重新启动 4.我们再使用命令查看,可以看到没有错误了

「Verilog学习笔记」奇偶校验

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 通常所说的奇偶校验: 奇校验:对输入数据添加1位0或者1,使得添加后的数包含奇数个1; 比如100,有奇数个1&am…

汇总记录Python常用的基础内置方法

这里汇总记录一些Python常用的基础内置方法 (参照哔站有一个大佬"小飞有点东西"的笔记整理记录而得,仅限方便需要的时候可以直接在网上搜索查阅而整理记录) 输出/输入 print() input()print打印颜色设置 显示方式;前景颜色;背景颜色,这3个…