介绍
在当下ipv4资源紧张下,许多的家庭办理的宽带都不带赠送公网ip,这让我们的不能在外网访问我们家的电脑。我们可以通过内外穿透进行外围远程桌面,远程联机,搭建nas,博客等...
frp 是什么?
frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。
为什么选择 frp?
通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性:
- 多种协议支持:客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。
- TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟。
- 代理组间的负载均衡。
- 端口复用:多个服务可以通过同一个服务端端口暴露。
- P2P 通信:流量不必经过服务器中转,充分利用带宽资源。
- 客户端插件:提供多个原生支持的客户端插件,如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等,以便满足各种需求。
- 服务端插件系统:高度可扩展的服务端插件系统,便于根据自身需求进行功能扩展。
- 用户友好的 UI 页面:提供服务端和客户端的用户界面,使配置和监控变得更加方便。
搭建所需要的配置
- 一个公网的服务器linux系统:作为我们的服务端,可以在阿里云上购买,现在阿里云新年大促,一年2核2g服务器只需要87起,学生0元起
点击进行购买
- windos电脑:作为我们的客户端
部署文件下载
服务端(frps)搭建
# 下载文件
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
# 解压文件
tar -zxvf frp_0.52.3_linux_amd64.tar.gz
# 进入解压目录
cd frp_0.52.3_linux_amd64
# 给frps文件权限
chomd 777 frps
# 编辑配置文件
vi frps.toml
编辑内容如下
bindAddr = "0.0.0.0"
bindPort = 7000 # 内网穿透端口
# 用户认证
auth.method = "token" #{可选}身份验证方式
auth.token = "123456" #token设置密码,用于通过身份验证创建连接
# 后台管理
webServer.addr = "0.0.0.0"
webServer.port = 7500 # frps管理后台端口
webServer.user = "admin" # 登录名
webServer.password = "admin123" # 登录密码
编辑完成后保存,在当前目录下运行./frps -c ./frps.toml
进行测试是否运行成功,在浏览器打卡你的公网ip地址:7500
,如果管理后台访问成功就代表内外穿透成功了,如下这个页面:
配置systemd,让frps后台启动和开机自启
# 安装systemd
yum install systemd
# 创建和编辑配置文件
$ sudo vim /etc/systemd/system/frps.service
编辑文件内容如下:唯一需要修改的就是您的frps的安装路径,即刚刚下载的位置路径
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml
[Install]
WantedBy = multi-user.target
使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frps
# 设置开机自启
sudo systemctl enable frps
其他systemd管理命令
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
自此,服务端就搭建完成了
客户端(frpc)搭建
客户端搭建就比较容易,在下载frpc后进行解压,进入解压后的目录里面,编辑frpc.toml
文件,内容如下:
serverAddr = "你的公网ip地址"
serverPort = 7000 # 内网穿透端口
auth.token = "123456" # 服务端设置的token密码
[[proxies]]
name = "app_name1" # 应用名,自定义
type = "tcp" # 连接方式:有http,https,UDP等
localIP = "127.0.0.1" # 本地连接地址
localPort = 8000 # 本地端口
remotePort = 8000 # 自定义的远程服务器端口
[[proxies]]
name = "app_name2"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 8080
创建完成后保存,在这个文件的目录下打开终端,输入这个命令./frpc.exe -c ./frpc.toml
运行,自此我们就可以在随时随地的访问我们本地电脑搭建的服务了
评论 (0)