CentOs7搭建基于pptp的VPN服务器-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

  最近想远程连接一下家里的台式机电脑由于都是局域网又没有公网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/

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: centos服务器