简介
frp(Fast Reverse Proxy)是一个开源的高性能反向代理应用,由fatedier开发。它的主要目的是帮助在NAT网络环境下,通过将内网服务映射到公网上,实现对内网服务的访问。
frp使用客户端-服务器架构,其中frp服务器位于公网中,而frp客户端则位于内网中。通过配置客户端和服务器,frp可以实现端口转发、HTTP和TCP代理等功能,使得公网用户可以访问内网中的服务。
安装
Release v0.51.3 · fatedier/frp (github.com)
在github中下载对应版本的压缩包,进行解压
1
| tar -zxvf frp_0.51.3_linux_arm64.tar.gz
|
配置
服务端
在服务器端使用 frps
,写好配置文件 frps.toml
1 2 3 4 5 6 7 8 9 10
| bindPort = 10124
auth.token = "e99468f136bca375682959611c14b009ec8a370d21482e66ea2b378e7144138d"
webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "zishuq" webServer.password = "NSQ030402nsq!@#"
|
之后使用命令启动
客户端
在客户端使用 frpc
,写好配置文件 frpc.toml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| serverAddr = "8.130.103.90" serverPort = 10124 auth.token = "e99468f136bca375682959611c14b009ec8a370d21482e66ea2b378e7144138d"
[[proxies]] name = "filebrowser-tcp" type = "tcp" localIP = "127.0.0.1" localPort = 8091 remotePort = 8091
[[proxies]] name = "filebrowser-udp" type = "udp" localIP = "127.0.0.1" localPort = 8091 remotePort = 8091
[[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 8222
{{- range $_, $v := parseNumberRangePair "6000-6006,6007" "6000-6006,6007" }} [[proxies]] name = "tcp-{{ $v.First }}" type = "tcp" localPort = {{ $v.First }} remotePort = {{ $v.Second }} {{- end }}
|
之后使用命令启动
使用docker开启frp服务
在服务端:
1
| docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
|
1 2 3 4 5 6 7 8 9 10
| version: '3'
services: frps: image: snowdreamtech/frps container_name: frps restart: always network_mode: "host" volumes: - ./frps.toml:/etc/frp/frps.toml
|
在客户端:
1
| docker run --restart=always --network host -d -v /etc/frp/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc
|