Loading... <!-- wp:paragraph --> <p>虽然现在宽带速度都很快,但对于电脑玩家来说,最大的问题是“没有公网 IP”!这使得想要在外访问家里的电脑、NAS、树莓派、摄像头等网络设备或远程控制等,都无法轻松实现。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>这时你就需要 <code>一款内网穿透工具</code> 来让外网与你家内网建立起连接,实现无公网 IP 的远程访问了。「<code>Frp</code>是一款流行的跨平台开源免费内网穿透工具,支持 Windows、macOS 与 Linux。你只需一台快速稳定的 VPS 服务器即可愉快地进行内网穿透,实现家中设备公网直接访问了……</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>内网穿透工具有很多,其中 <code>Frp (Fast Reverse Proxy)</code> 是比较流行的一款。FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。你可以粗略理解它是一个中转站,帮你实现 <code>公网 ←→ FRP(服务器) ←→ 家庭内网</code> 的连接,让内网里的设备也可以被公网访问到。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>而目前 FRP 还推出了“点对点穿透”的试验性功能,连接成功后可以让公网设备直接跟内网设备“点对点”传输,数据流不再经过 VPS 中转,这样可以不受服务器带宽的限制,传输大文件会更快更稳定。当然,此功能并不能保证在你的网络环境 100% 可用,而且还要求访问端也得运行 FRP 客户端 (因此目前手机是无法实现的,只有电脑可以)。由于实现条件较多,所以有文件传输需求的朋友还是建议买带宽稍大一点的 VPS 会比较省心。</p> <!-- /wp:paragraph --> <!-- wp:heading {"level":3} --> <h3>安装 FRP 需要准备的材料:</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>电脑、树莓派、NAS,服务器</p> <!-- /wp:paragraph --> <!-- wp:heading --> <h2>一.服务器配置 Frp:</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p><strong>以 Linux 系统为例</strong></p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>export FRP_VERSION=0.29.1 sudo mkdir -p /etc/frp cd /etc/frp sudo wget "https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz" sudo tar xzvf frp_${FRP_VERSION}_linux_amd64.tar.gz sudo mv frp_${FRP_VERSION}_linux_amd64/* /etc/frp</code></pre> <!-- /wp:code --> <!-- wp:list --> <ul><li>其中,第一行等号后面的 <code>0.29.1</code> 是 frp 的版本号 (截稿为止最新版本)。你安装的时候可以到官网查看下有没更新的版本,只需将新版本的号码替换掉 <code>0.29.1</code> 即可。</li><li>FRP 默认提供了 2 个服务端配置文件,一个是简化版的 <code>frps.ini</code>,另一个是完整版的 <code>frps_full.ini</code>。初学者只需用简版配置即可,在简版 <code>frps.ini</code> 配置文件里,默认设置了监听端口为 <code>7000</code>,你可以按需修改它。</li></ul> <!-- /wp:list --> <!-- wp:heading {"level":3} --> <h3>防火墙和安全组开放指定的端口:</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>请一定要记住,你需要将服务器的系统防火土啬,以及阿里云、腾讯云后台里找到“安全组策略”的相关配置,设置 <code>7000</code> 或你修改过的对应端口的「允许入站和出站」</p> <!-- /wp:paragraph --> <!-- wp:heading {"level":3} --> <h3>启动 FRP 服务端</h3> <!-- /wp:heading --> <!-- wp:code --> <pre class="wp-block-code"><code>./frps -c ./frps.ini</code></pre> <!-- /wp:code --> <!-- wp:heading --> <h2>二.配置 Frp 客户端 (安装在内网的机器上)</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>设置好服务器上 Frp 服务端后,我们就需要在内网的机器上安装 Frp 的客户端了。 Frp 的客户端程序 frpc (frpc.exe) 与服务器端都在同一个压缩包里, 我们同样下载对应系统版本的软件包。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>你可以将 Frp 客户端安装在内网的 Windows 电脑、Linux 设备 (比如树莓派) 或者 NAS,甚至部分路由器等设备上。Linux 客户端的安装和启动与服务器端没有太多区别,只是对应运行程序是 frpc 而不是 frps。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>我们这里以 <strong>Windows 电脑</strong>来安装 Frp 客户端,因为 Frp 是绿色程序,下载软件包回来解压后,启动 <code>frpc.exe</code> 即可。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>但在启动前,我们需要先修改配置文件,我们以配置“Windows 远程桌面控制”以及“群晖 NAS 管理界面”为例。假设你的 FRP 服务端所在的 VPS 公网 IP 为 <code>1.2.3.4</code>, 而客户端是 Win 电脑,我们来修改 <code>frpc.ini</code> 配置文件:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>[common] # server_addr 为 FRP 服务端 (VPS 服务器) 的公网 IP server_addr = 1.2.3.4 server_port = 7000 [DSM] type = tcp local_ip = 192.168.1.40 #群晖 NAS 在局域网中的内网 IP local_port = 5000 remote_port = 7001 [RDP] type = tcp local_ip = 192.168.1.30 #电脑在局域网中的内网 IP (如是本机,也可使用 127.0.0.1) local_port = 3389 remote_port = 7002</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>这样就在本地上新增了“DSM”和“RDP”两个可供公网访问的服务了 (它们名称可以自己取),这里分别对应内网的群晖 NAS 的后台管理界面和 PC 远程桌面。如果你需要添加更多的设备和服务供外网访问,那么只需照样画葫芦,指定正确的 IP 地址和端口号即可。</p> <!-- /wp:paragraph --> <!-- wp:heading {"level":3} --> <h3>注意放行端口</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>每个服务的 remote_port 是远程访问时要用到的端口号,注意这些端口号也要在服务器的防火土啬和安全组里放行才能顺利访问的,如上面的 7001、7002。</p> <!-- /wp:paragraph --> <!-- wp:heading {"level":3} --> <h3>启动 FRP 客户端</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>假设你已将 Frp 的客户端解压缩到 <code>c:\frp</code> 目录中,那么启动 Frp 客户端的命令就是:</p> <!-- /wp:paragraph --> <!-- wp:code --> <pre class="wp-block-code"><code>c:\frp\frpc.exe -c c:\frp\frpc.ini</code></pre> <!-- /wp:code --> <!-- wp:heading {"level":4} --> <h4><strong>Linux 启动 Frp 客户端命令:</strong></h4> <!-- /wp:heading --> <!-- wp:code --> <pre class="wp-block-code"><code>./frpc -c ./frpc.ini</code></pre> <!-- /wp:code --> <!-- wp:paragraph --> <p>启动之后看到 “start proxy success”字样就表示启动成功了。</p> <!-- /wp:paragraph --> <!-- wp:heading --> <h2>三.进行远程访问:</h2> <!-- /wp:heading --> <!-- wp:paragraph --> <p>前面搞了这么多,我们终于可以正式使用 Frp 内网穿透来进行远程访问内网里的设备了!按照上面的配置,我们想要访问群晖 NAS 的界面,只需打开浏览器,在地址栏输入 <code>服务器公网IP:7001</code> 即可访问到群晖后台管理界面。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>而如果需要远程桌面连接到家里的 Windows 电脑,那么打开“微软远程桌面客户端”后,在地址栏里填入 <code>服务器公网IP:7002</code> 即可连接。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>由此,借助 Frp,你就能轻松地为本地局域网内网的设备提供公网直接访问的能力了,你可以用 Frp 来转发包括但不限于 ssh、http、https、转发 Unix 域套接字等服务。</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>上面只是最基础的教程,Frp 还有很多很多高级功能,比如给 Web 增加密码保护、点对点内网穿透、设置端口白名单等等,Frp 官网上也提供了很详细的文档,感兴趣的朋友可以去研究一下。</p> <!-- /wp:paragraph --> 文章正文结束 最后修改:2022 年 04 月 10 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 承蒙厚爱,不胜感激!
4 条评论
文章不错支持一下吧
文章写的不错,加油~
要服务器的带宽足够大才会有个很好的体验
如今我们仅有的默契,就是安静的躺在对方的好友列表里,不闻不问,各自过活。
更新好慢呐
最近忙啊?