地址
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/frpc
的service
文件,复制到/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 范围中(如果配置了的话)