在服务器上部署Frp 实现内网穿透
本文最后更新于 1222 天前,其中的信息可能已经有所发展或是发生改变。

由于国内家庭宽带几乎没有给用户分配固定ip,所以有时需要让外网的设备访问到内网的机器就需要用到内网穿透。市面上比较知名的提供这类服务的产品有花生壳、Teamview、向日葵远控等,但几乎都是收费的且不能绑定自己的域名,不是很方便。所以就自己在服务器上部署了一个穿透服务。

什么是Frp

frp是一种快速反向代理,可帮助您将NAT或防火墙后面的本地服务器公开到Internet。到目前为止,它支持TCPUDP以及HTTPHTTPS协议,在这些协议中,请求可以通过域名转发到内部服务。frp还具有P2P连接模式。

为什么使用 frp ?

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

项目地址||官方文档

服务端部署

查看系统架构选择相应的版本

frp服务端在windows和linux系统下等可以部署运行,但各个版本之间又存在差异,所以要根据系统的架构选择相应的版本进行下载安装,以Linux为例,在linux系统中输入命令uname -a可以直接显示 Linux 系统架构信息。

输出信息为:Linux VM-8-10-centos 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 选择frp_0.34.3_linux_amd64.tar.gz

下载对应的服务端文件到服务器上,解压后只保留frps.ini、frps两个文件。

编辑frp.ini,设置端口号

[common]
bind_port = 端口号

服务端配置完毕,连接服务器并进入到frp所在目录通过命令 ./frps -c ./frps.ini 启动服务端

success即表示成功

客户端配置

下载相应的客户端文件,我本地使用windows系统且系统为64位所以下载frp_0.34.3_windows_amd64.zip 下载后解压任意目录都可。建议给文件夹重命名一个简约的名称。在客户端仅仅保留frpc.ini、frpc两个文件,需要编辑的是frpc.ini文件。

在frpc.ini中写入以下代码

[common]
server_addr = 填写远程服务器的ip
server_port = 填写服务器frps.ini中配置的端口号
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 穿透使用的端口号,可任意填写但要在安全组中开放

 在windows开始搜索PowerShell

通过cd命令打开frpc文件夹,输入启动客户端的命令./frpc -c ./frpc.ini

客户端配置完毕

测试使用

配置完frp服务后,就可以在外网访问一些内网的服务了。本文演示映射的是3389端口,windows远程连接端口,所以可以远程连接内网的计算机。

首先要在本地计算机开启远程管理功能(该功能目前仅在windows专业版和企业版可开启)

开启这个功能后就可以在其他设备上远程管理这台计算机了。甚至可以使用微软的Microsoft Remote Desktop工具在手机端远程管理计算机。

参考文章:使用手机管理你的Windows

登录地址:IP:端口

账号:本地计算机用户名

密码:一般为开机密码

进程守护

如果需要在后台长期运行,就需要守护服务

服务端

如果安装有宝塔面板地话可以在插件市场安装Supervisor管理器

在插件中进行如下配置,其中运行目录要选择frp所在目录,启动命令./frps -c ./frps.ini 前一定要加上路径,非绝对路径是无法启动的

客户端配置

在frp目录下创建一个bat文件,写入以下代码

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit

:begin
REM
frpc.exe -c frpc.ini

启动bat文件即可

rathole

rathole,类似于 frpngrok,是另一个安全、稳定、高性能的内网穿透工具,用 Rust 语言编写。用法和frp类似

项目地址:https://github.com/rapiz1/rathole

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇