跨局域网远程连接神器 |
您所在的位置:网站首页 › 极域跨网段 › 跨局域网远程连接神器 |
跨局域网远程连接神器——frp内网穿透
放寒假回家想用服务器跑代码、想用校园网下文章、甚至还想用服务器打两把游戏。这该怎么办?有的大佬会想,可以在家买一个服务器嘛!如果是这样就打扰了。。。对于我这样的穷人就只能合理利用学校的资源,远程连接学校的服务器了。但是家里网和校园网不在同一局域网这该如何连接?frp内网穿透是一个很好的选择! 1、frp是什么? frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。frp 是一款跨平台的内网穿透工具,支持 Windows、macOS 与 Linux,它需要你有一台拥有固定公网 IP 的电脑,VPS 最好,然后就能愉快的进行内网穿透了。还支持 https,甚至可以用它进行小程序开发。 2、frp的作用利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。 对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。 可查看通过代理的所有 http 请求和响应的详细信息。(待开发) 3、远程为什么选用frp 远程桌面使用TeamViewer。可用,但需要访问端也拥有TeamViewer软件,不是很方便,希望能使用Windows自带的远程桌面。且TeamViewer不易实现远程文件访问。使用蒲公英VPN软件进行组网,可用,但免费版本网络速度极慢,体验不佳,几乎无法正常使用。使用花生壳软件进行DDNS解析,可用,但同第二点所述,免费版本有带宽限制,无法实际使用。搭建frp服务器进行内网穿透,可用且推荐,可以达到不错的速度,且理论上可以开放任何想要的端口,可以实现的功能远不止远程桌面或者文件共享 4、frp配置 3.1 前期工作搭建一个完整的frp服务链,我们需要: VPS一台(也可以是具有公网ip的实体机,博主这边用的是阿里云的服务器,学生价包年也就几十块) 访问设备与被访问设备 一些简单的Linux操作指令基础 frp程序文件,根据自己的要求下载对应版本的程序下载地址 1、将下载好的frp程序文件传入服务器 2、解压文件 tar -zxvf frp_0.34.3_linux_amd64.tar.gz3、此处可以将frp_0.34.3_linux_amd64文件夹改名为frp,方便操作使用: mv frp_0.34.3_linux_amd64 frp4、进入frp目录 cd frp5、编辑frps.ini文件 vim frps.ini [common] bind_addr = 0.0.0.0 bind_port = 7000 bind_udp_port = 7001 privilege_token = frp888 dashboard_port = 7700 dashboard_user = admin dashboard_pwd = admin6、服务端启动frp ./frps -c ./frps.ini启动后输入http://[服务器公网ip]:7700,并输入所设置的账号(admin)和密码(admin)就可以看到以下管理界面: 如果上述界面无法访问进行下面步奏,如果可以跳过下面步骤直接进行客户端的配置。 7、打开服务器防火墙 sudo ufw enable打开防火墙以后如果发现服务器无法进行运程访问了,那应该是防火墙把22端口关闭了,解决方案:在服务器终端执行命令: sudo ufw allow 228、防火墙打开服务器端端口 sudo ufw allow 7000 sudo ufw allow 7001 sudo ufw allow 7700完成上述操作后,再输入http://[服务器公网ip]:7700就可以访问上述界面了 服务端frp开机自启动 1、添加systemd配置文件: vim /usr/lib/systemd/system/frp.service编辑文件内容如下; [Unit] Description=The nginx HTTP and reverse proxy server After=network.target remote-fs.target nss-lookup.target [Service] Type=simple ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=process PrivateTmp=true StandardOutput=syslog StandardError=inherit [Install] WantedBy=multi-user.target其中ExecStart的路径根据自己的路径定义 2、设置frp开机启动: systemctl daemon-reload systemctl enable frp3、启动frp(终止frp把start改为stop即可): systemctl start frp4、查看frp是否启动: ps aux | grep frps显示如下结果就成功了: 将frp_0.34.3_linux_amd64文件传入到被访问系统的指定目录下中、解压、重命名为frp、切换到frp文件中、编辑frpc.ini文件 # frpc.ini [common] # 你的frp服务器的公网ip server_addr = x.x.x.x # 你的frp服务器的默认端口 server_port = 7000 [rdp] type = stcp # 只有 sk 一致的用户才能访问到此服务 sk = 123456789 local_ip = 127.0.0.1 # 远程桌面的本地端口号 local_port = 22启动frp frpc -c frpc.ini windows系统将frp_0.34.3_window_amd64文件传入到被访问系统的指定目录下中、解压、重命名为frp、切换到frp文件中、编辑frpc.ini文件。 # frpc.ini [common] # 你的frp服务器的公网ip server_addr = x.x.x.x # 你的frp服务器的默认端口 server_port = 7000 [rdp] type = stcp # 只有 sk 一致的用户才能访问到此服务 sk = 123456789 local_ip = 127.0.0.1 # 远程桌面的本地端口号 local_port = 3389启动frp frpc -c frpc.ini 3.4 访问端配置访问端一般都是windows的系统,在访问端电脑打开rp_0.34.3_window_amd64。解压、重命名为frp、切换到frp文件中、编辑frpc.ini文件。 # frpc.ini [common] # 你的frp服务器的公网ip server_addr = x.x.x.x # 你的frp服务器的默认端口 server_port = 7000 [rdp_visitor] type = stcp # stcp 的访问者 role = visitor # 要访问的 stcp 代理的名字 server_name = rdp # 只有 sk 一致的用户才能访问到此服务 sk = 123456789 # 绑定本地端口用于访问 远程桌面 服务 bind_addr = 127.0.0.1 bind_port = 1000访问linux系统: 访问windows端 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |