跳至主要內容

pptp

chanchaw大约 2 分钟linuxvpn

概述

使用腾讯云服务器系统是 CentOS7,(当然云服务器要有公网IP地址)在该Linux 服务器上安装 pptpd 服务,线下的N个局域网内的M个电脑都可以拨通该VPN组建起一个虚拟的局域网,这样可以将传统的C/S软件跨网部署使用,同时还能实现SQLSERVER的异地备份 - 将局域网A中服务器上的数据库备份到局域网B中的服务器上

实现步骤

pptp01
pptp01

查看在线用户

last | grep still | grep ppp

账号名单

vim /etc/ppp/chap-secrets

异常和错误提示

不管WIN7 WIN10连接不上去看服务:Remote Procedure Call (RPC),Remote Procedure Call (RPC) Locator,IKE and AuthIP IPsec Keying Modules。这三个服务都要开启才可以

jar 制作为WIN服务的问题

使用命令:java -jar vpndialer.jar 可以正常启动VPN,但是将 jar 通过 WinSW 制作为服务后就无法启动 甚至在 java 中调用外部 bat 文件也无法启动,此时需要在服务的登录标签页中使用当前登录WIN的账号和密码进行登录,如下图所示:(报错619,623都是这3个服务以及登录的问题) pptp02

拨号失败

WIN系统中拨号VPN失败的话记得将下面3个服务开启: IKE and AuthIP IPsec Keying Modules Remote Procedure Call (RPC) Remote Procedure Call (RPC) Locator

启动与停止

systemctl start pptpd systemctl stop pptpd systemctl restart pptpd

错误与提示

连接不上或经常断线

一般是由于本地(客户端)和服务端(centos创建的pptp服务)的 mtu 不同步导致的。在 centos 输入下面命令查看 mtu

ifconfig -a

会看到下面图片的结果,网卡 eth0 的 mtu = 1500,在本服务器上创建的 pptpd 服务使用了本网卡,以下下面第二个图片的 mtu 是 1500(这个IP地址 172.17.0.199是分配给我我本人账号的IP地址) pptp03

pptp04
pptp04

在本地(VPN客户端电脑)的CMD中输入下面命令查看本地 mtu 值

netsh interface ipv4 show interfaces

得到下面结果。第一行 idx = 47 是我本地开发电脑的VPN参数,可以看到 mtu 是1400,接下来修改 mtu 要用到 idx pptp05

修改本地 mtu 。# 注意下面的47应该填写上图中 centosvpn前面的 idx,后面 mtu 设置和服务端一样,注意要使用管理员打开 cmd

netsh interface ipv4 set subinterface "47" mtu=1500 store=persistent

连接不上的排查方法

pptp06
pptp06