ngc224 发表于 2020-6-6 17:07

【原创】利用frp内网穿透+云服务器实现远程访问本地Windows PC

Windows的远程桌面确实是个好东西,平常按下Win+r,输入mstsc即可打开远程桌面程序。但是如果需要在外访问自己家中的PC,我们要解决的其实是公网IP和内网穿透的问题:这通过一个云服务器和内网穿透工具即可实现。个人非常不喜欢去弄那些商业穿透工具然后折腾破解,于是我采用的是frp工具:frp是一个简洁易用的内网穿透工具,见 https://github.com/fatedier/frp/releases ,这是国人开发的,有详尽的中文文档。配置完成之后,就可以实现在第三台设备上随时访问自己位于家中或公司的内网电脑。最终的访问流畅程度取决于网络环境、机器的配置。我自己的体验是家中网络情况一般的时候访问有时会有延迟,网络情况较好的时候,流畅程度对于浏览图少的网页而言可以接受。云服务器就不多说了,百度腾讯阿里云,做活动的时候非常优惠。配置过程如下:材料:一、A设备:Windos系统电脑(这是需要被访问的电脑);二、B设备:Linux系统的云服务器(提供公网固定IP地址和端口转发);三、C设备:手机、iPad或另一台Windows电脑(用这台设备访问)。过程:一、B设备的设置:Linux服务器的选择上,建议使用国内商家的服务器,如腾讯百度阿里云。国外服务器的延迟通常会卡成幻灯片。在Linux服务器端,访问https://github.com/fatedier/frp/releases下载Linux版本到本地,并解压缩(无需安装)。进入目录,编辑frps.ini大致如下:bind_port = 7000//这是服务器端的监听端口,可设置为任意空闲端口然后在./frps -c frps.ini运行即可,建议在screen内运行,以防退出终端后服务中断。二、A设备的设置:在本地,下载Windows版frp,解压缩,编辑frpc.ini大致如下:注意服务器是frps,本地Windows是frpc。server_addr =***.***.***.*** //你的Linux服务器IP地址server_port = 7000 //与服务器端的监听端口保持一致 //随便填type = tcplocal_ip = 127.0.0.1local_port = 3389 //Windows远程桌面的默认端口remote_port = 7001 //穿透之后的端口,可任意选择。如使用非3389端口,则在访问时需要在IP地址后加端口号进入Powershell或cmd,cd到当前目录,输入 ./frpc.exe -c frpc.ini 即可运行。三、第三台设备的访问:此时即可在第三台设备上进行访问了:以Windows设备为例,在“运行”窗口中输入mstsc并回车,打开远程桌面窗口,访问你的Linx服务器IP:端口号即可连接,接下来就输入你的用户名密码登录即可。对于手机或iPad,需要下载微软官方应用Remote Desktop,填写远程服务器地址、用户名、密码,即可实现远程登录。https://yuchouwang.space/wp-content/uploads/2020/04/IMG_20200428_101941-1024x768.jpgiPad访问效果其他:frp会在链接中断后自动尝试重连的,所以不用担心暂时的断网会失去于计算机的连接。如果有重启计算机的需求,建议写一个脚本,实现开机自启动frp,以防重启之后就失去了连接。此外,此功能也可以远程穿透本地Linux系统的22端口实现远程ssh登录,方法是类似的,需要注意的是服务端可能需要安装openssh-server并启动sshd服务。Linux设备远程访问Windows也是可以的,利用rdesktop即可实现,这里就不再赘述了。

aatt30 发表于 2020-6-6 18:06

记号,找机会试试

【钢蛋】 发表于 2020-6-6 20:46

厉害,内网穿透可算是一个说起来容易,做起来麻烦的技术活..

ppeiyu 发表于 2020-9-2 13:23

谢谢楼主分享

cdme 发表于 2020-9-2 13:43

谢谢分享

ahshn 发表于 2021-4-6 23:41

需要用到这个,感谢楼主
页: [1]
查看完整版本: 【原创】利用frp内网穿透+云服务器实现远程访问本地Windows PC