映射vps目录到自己电脑的摸索记录
最近拿discuz做了一个网站,需要修改模板文件之类的,还需要调试微信和QQ登陆的接口。都是些位置零散的小修改,但是有些需要在线上才能调试(QQ微信的oauth登陆,各种插件)。为了方便开发,我打算在阿里云的centos服务器上安装一个vpn和smb服务,然后在我的开发机上连接VPN并创建网络磁盘映射。
实验环境:
服务端 阿里云centos7服务器
客户端 普通的windows 10操作系统
实验过程:
1、PPTP VPN(不稳定因而丢弃,您可以跳过pptp,直接使用smba+openvpn达到效果)
找了一个一键安装pptpd vpn的脚本 默认配置就可以让pptpd跑通 中间忘记了阿里云的centos7默认使用的是firewalld这个服务的防火墙,后来
关闭了防火墙,仅用阿里云轻量级服务器的防火墙开通相应端口。这里找到firewalld服务花了点时间。pptp连接建立
2、在centos7上安装smba服务
smba服务是用来在linux操作系统上共享文件或者目录到windows网络的服务。也就是在linux上安装了之后可以指定某些文件夹共享到局域网,局域网内的windows计算机可以通过网上邻居或者直接在文件浏览器地址栏输入服务器IP
\\XXX.XXX.XXX.XXX
来操作服务器相应目录的文件。
首先查看系统是否安装了samba服务,可以用
或者
来查看状态,如果没有安装,使用
来安装samba服务,安装完毕后使用
修改配置文件设置。配置文件内容比较多,这里挑重要的几条列一下:
首先是[global]下面的一些全局设置:
以上配置改好之后重启samba服务:
或者
然后连接上vpn之后就可以在文件浏览器里用\\xxx.xxx.xxx.xxx(服务器在vpn里的地址) 看到并操作服务器的文件了。
3、换用OpenVPN建立更稳定的VPN连接
虽然pptp vpn成功连接上了,但是过几分钟就需要重连,否则映射过来的网络驱动器会收发不了任何信息。想起之前使用过bandwago后台一键安装的openvpn非常稳定,于是就换用openvpn来搭建环境。
首先登陆centos使用
下载openvpn一键安装脚本。使用
开始安装openvpn。
大多配置都可以采用默认值,建议询问是否使用秘钥的那一项的时候设置一个秘钥。不过就算不设置秘钥,入侵者也需要先获取你的openvpn客户端配置文件才能登陆VPN。这个自动生成的配置文件内是有加密算法的秘钥对的。
安装完成后会生成一个客户端配置文件,您需要使用ftp或者securefx之类的工具从服务器上下载此配置文件。然后安装一个openvpn的客户端,我这里是安装了一个windows版的客户端,翻墙到openvpn的管网下载的,管网地址是:
https://swupdate.openvpn.org/community/releases/openvpn-install-2.4.7-I607-Win10.exe
如果你没有翻墙工具,可以到我管理的BBS上下载,QQ登陆简单注册一下即可得到提取码:
https://www.shuyu.online/forum.php?mod=viewthread&tid=57&page=1&extra=#pid61
安装完毕之后,启动openvpn可以看到右下角任务栏出现这个带锁的显示器图标:
右键点击,导入配置文件,找到刚才生成的配置文件打开。导入配置之后即可右键点击它进行连接,连接成功后就可以在\\10.8.0.1\ 这个地址(在文件管理器,也就是计算机 或者 我的电脑打开)上看到你服务器的文件夹了。右键点击文件夹创建网络驱动器,之后就可以像操作本地文件一样操作服务器上的文件了。我试了一下phpstorm这个ide,过于重量级,intellisense可能会做很多操作来扫描网络驱动器,会造成卡顿。因此推荐使用vscode,sublime之类的轻量级代码编辑器进行操作。
到此已经可以在编辑器里直接修改服务器上的文件,免得零碎改动的上传下载。但是还有个问题,VPN打开的时候,可能你上不了外网,或者外网速度很慢。因为openvpn的默认设置是使用VPN服务端的网关上网,所有网络访问都会先绕到你的服务器上。这样既慢(通常便宜服务器也就1-2M的带宽)又浪费服务器流量。所以还需要如下2个关键步骤调整OpenVPN的配置,让你的电脑不通过服务器绕弯上网,而是用原有的本地网关路径直接上网:
登陆centos服务器进入控制台,修改openvpn配置文件:
找到这一句在前面加;
:wq存储关闭配置文件,重启OpenVPN。这里因为用的一键安装脚本安装的OpenVPN,并没有注册成服务所以systemctl和service都找不到这个服务。可以直接kill掉进程再重启,具体步骤如下:
这样就不会让你的电脑所有流量都绕道服务器了。
然后是客户端配置文件的修改,右键右下角的OpenVPN客户端图标,选择“编辑配置文件”,打开配置文件内容:
同样在这一句前面加上;
这是禁用防DNS泄露,如果没有注释掉的话原来的意思是所有域名解析也都从服务器的DNS走,现在openvpn客户端重新连接一次,使用VPN+SMB+网络驱动器映射就可以简单地在你自己电脑上操作服务器文件了。小修改不用麻烦地用上传下载工具折腾了,一个ctrl+s就把改动直接存到服务器,浏览器打开服务器域名直接F5看修改效果,调试OAUTH和各种在线的插件也方便多了。
这个方法只适用于小修改,如果是涉及到数据库之类东西或者新的模块,建议还是弄一个本地镜像来。
希望能给你的工作带来一些方便,我是费了一天左右的功夫搞定开OPENVPN同时走本地流量上网的问题,不过中途也学习了一下路由表之类的知识,虽然最后发现只需要改这两个配置就不必折腾路由表,OPENVPN的客户端会自动搞定繁复的底层操作,也算是塞翁失马了。
如果您看完本篇觉得有用请点个收藏,还可以到我的网站数语在线软件IT板块获取更多技术和工具的交流分享:
https://www.shuyu.online/forum.php?gid=37
相关连接汇总:
samba服务安装配置: https://www.jianshu.com/p/0d8f44d1b9ed
一键openvpn安装脚本: https://segmentfault.com/a/1190000019471008
一键PPTP VPN服务搭建脚本:https://blog.csdn.net/enough_empty/article/details/51106563