地址

https://github.com/fatedier/frp

总结

  • 一个服务器端 frps, 一个客户端 frpc,有各自的配置文件
  • 运行后,可将客户端网络中的某个IP地址某个端口,映射到服务器IP的某个端口
  • 服务端与客户端通过server_port通信,与映射的端口没关系
frp 端口 444
本地映射 555端口到 服务器 555端口,他们之间数据通过444传输,和映射的端口没关系

安装

使用 systemd 管理

从发布中下载最新版本压缩包解压,得到

frpc        # 客户端
frps        # 服务端
*.ini       # 配置文件
systemd     # 文件夹

把对应的(客户端/服务端)复制到 /usr/bin/ 目录下,将对应的 (frps/frpc).ini 复制到 /etc/frp/ 文件夹下。

为什么要复制到这俩个地方?
软件自带的 systemd 文件夹里的 service 文件里默认就是这俩个地址。你可以自己修改

然后把 systemd里对应的 frps/frpcservice文件,复制到/lib/systemd/system

接下来设置开机自启

systemctl enable frpc/frps

启动/重启/停止/状态

service start/restart/stop/status frpc/frps

配置文件

服务器配置

[common]
bind_port = 1900                    #    frp 软件通讯端口
bind_udp_port = 1900                #    frp 软件通讯端口
detailed_errors_to_client = true    #    向客户端告知错误
authentication_method = token       #    验证方式
token = aqfKa5pagNnzAni             #    客户端配置一样的值即可

allow_ports = 1800-1900             #    允许客户端绑定的端口范围

客户端配置

[common]
server_addr = x.x.x.x                 # 服务器的 IP 地址
server_port = 1900                    # 服务器通讯端口
token = aqfKa5pagNnzAni               # 密码
use_encryption = true                 # 内容交互加密
use_compression = true                # 内容压缩

# 映射配置
[demo1]                    # 映射名                        
type = tcp                       # 类型
local_ip = 192.168.2.1           # 客户端网络中要穿透的本地地址    
local_port = 1801                # 本地地址的端口
remote_port = 1801               # 绑定在服务器的哪个端口上,需要在服务器的 allow_ports 范围中(如果配置了的话)