frp内网穿透
frp内网穿透
用通俗的说法就是你家里的个人电脑,可以直接被外网的人访问。
一句话总结:内网穿透就是让外部的互联网主机,可以访问你局域网内的机器上的HTTP, HTTPS, TCP 或 UDP 服务
frp(Fast Reverse Proxy) 是一个专注于内网穿透的高性能的反向代理应用,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网;只需要通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
- 客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟
- 代理组间的负载均衡
- 端口复用,多个服务通过同一个服务端端口暴露
- 支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源
- 多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作
- 高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展
- 服务端和客户端 UI 页面
下载工具
去 github 下载导入到 Linux 服务器 https://github.com/fatedier/frp/releases
x86_64选择amd64 aarch64选择arm64
或者
cd /root
wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_arm64.tar.gz
// 解压
tar -zxvf frp_0.60.0_linux_arm64.tar.gz
// 重命名
mv frp_0.60.0_linux_arm64 frp
文件描述:
- frpc:是frp的客户端程序,内网的服务器需要启动的程序,代理服务器用不到。
- frpc.toml : frpc的配置文件
- frps : 是frp的服务端程序,代理服务器上需要启动的程序,内网的服务器用不到。
- frps.toml : frps的配置文件
- LINCENS: 用不到 不用关心
配置代理服务端
代理服务端配置文件
配置frps.toml文件,修改 bindPort = 8888 (这里端口自己设定)
// 编辑
vim frps.toml
// 就一行,改 bindPort 等号后面数字
bindPort = 8888
// 保存
:wq
服务开放端口,我这是阿里云的服务器。
代理服务端启动运行
运行frps需要使用此配置文件,需要加-c选项。直接运行的话,配置文件不会生效。
./frps -c ./frps.toml
设置开机自启动
这步不是必须
cd /etc/systemd/system
vim frp.service
填写内容:
[Unit]
Description=The Frp server
After=network.target
[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.toml
[Install]
WantedBy=multi-user.target
chmod 755 frp.service
systemctl daemon-reload
systemctl enable frp
// 启动
systemctl start frp.service
// 看下状态
内网服务器上部署
serverAddr = "59.110.90.215"
serverPort = 8888
[[proxies]]
name = "nas"
type = "tcp"
localIP = "192.168.53.173"
localPort = 5000
remotePort = 8887
在内网服务器上部署,先配置一下fprc.toml文件。frpc.toml文件配置如下:
serverAddr : 代理服务器的IP地址 serverPort : 指定代理服务器的监听端口,在frps.toml指定的端口号。 [[proxies]]
: 用于定义一个或多个代理规则 name : 当前代理的名称,可以自定义 type : 指定代理类型tcp或者udp localIP : 内网服务的本地 IP 地址,127.0.0.1即可 localPort : 内网服务的本地端口号,这里的22是ssh服务的端口 remotePort : 指定 代理服务器上暴露的端口号。
当你访问代理服务器的8888端口,他就会代理到你内网服务器的22端口上。
启动方式一样,我这内网服务器是 win
./frps.exe -c ./frps.toml