Frp下载
目前可以在 Github 的 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。
开始使用
frp 主要由 客户端(frpc
) 和 服务端(frps
) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。
编写配置文件,先通过 ./frps -c ./frps.ini
启动服务端,再通过 ./frpc -c ./frpc.ini
启动客户端。如果需要在后台长期运行,建议结合其他工具使用,例如 systemd
和 supervisor
。
通过ssh访问内网机器,配置文件
这个示例通过简单配置 TCP 类型的代理让用户访问到内网的服务器。
- 在具有公网 IP 的机器上部署 frps,修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口:
[common]
bind_port = 7000
- 在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
local_ip
和 local_port
配置为本地需要暴露到公网的服务地址和端口。remote_port
表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
- 分别启动 frps 和 frpc。
- 通过 SSH 访问内网机器,假设用户名为 test:
ssh -oPort=6000 test@x.x.x.x
frp 会将请求x.x.x.x:6000
的流量转发到内网机器的 22 端口。
本示例主要通过Systemd启动
本次主要采用阿里云(centos)以及本地服务器(ubuntu)进行frps
的配置启动。
在 Linux 系统下,使用systemd
可以方便地控制 frp 服务端 frps
的启动和停止、配置后台运行和开启自启。
要使用 systemd
来控制 frps
,需要先安装 systemd
,然后在 /etc/systemd/system
目录下创建一个 frps.service
文件。
- 如Linux服务端上没有安装
systemd
,可以使用yum
或apt
等命令安装systemd
。一般系统里都会装。
# yum
yum install systemd
# apt
apt install systemd
- 使用文本编辑器,如
vim
创建并编辑frps.service
文件。(记得加上sudo)
vim /etc/systemd/system/frps.service
写入内容
[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.ini
[Install]
WantedBy = multi-user.target
- 使用
systemd
命令,管理frps
。(注意frps以及frps.ini文件权限,chmod 777 ***)
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
- 配置 frps 开机自启。
systemctl enable frps