服务器操作系统:Centos 7.3
frp版本:0.13.0
frp简介
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。其官方地址是:https://github.com/fatedier/frp ,相关配置可查阅官方中文文档。
准备
frp需要一台服务器来运行服务端,所以在使用之前需要一台有公网IP的服务器。国内的可以考虑阿里云、腾讯云等,国外的可以考虑Vultr、Linode等,如果只是单纯的用来搭建frp服务端可买国外的VPS,价格较国内云服务器便宜。
下载
先到frp下载页面下载文件包,文件包包含服务端和客户端,目前最新版是v0.13.0,根据个人条件下载相应的文件,由于我用于搭建服务端的服务器是linux,所以我选择的是frp_0.13.0_linux_amd64.tar.gz。
命令:
# 下载
wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.13.0_linux_amd64.tar.gz
# 进入解压后的目录
cd frp_0.13.0_linux_amd64服务端配置
编辑服务端配置文件:
vi frps.inifrps.ini内容:
[common]
# 绑定端口
bind_port = 7000
# 特权token
privilege_token = 12345678
# 配置仪表盘端口
dashboard_port = 7500
# 配置仪表盘访问认证
dashboard_user = admin
dashboard_pwd = admin保存退出,并启动服务器
保存
Esc -> :wq
# 启动服务
./frps -c ./frps.ini看到类似以下文本则说明启动服务成功:
2017/09/22 10:28:43 [I] [main.go:112] Start frps success
2017/09/22 10:28:43 [I] [main.go:114] PrivilegeMode is enabled, you should pay more attention to security issues此时,访问http://{ip}:7500并正确输入用户名及密码登录,登录成功后即可看到Dashboard页面:
设置自启
编辑/usr/lib/systemd/system/frps.service:
vim /usr/lib/systemd/system/frps.service
内容如下:
[Unit]
Description=frps
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini #frp安装目录
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target启动frps并设置开机自启
sudo systemctl enable frps
sudo systemctl start frps
# 查看状态
sudo systemctl status frps客户端连接
Linux环境
1.修改配置文件frpc.ini
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
privilege_token = 12345678
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 配置远程端口
remote_port = 60002.设置自启,修改文件:/usr/lib/systemd/system/frpc.servie,内容参考以上服务端自启配置,改ExecStart即可:
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini # frpc安装目录执行命令:
# 启用服务
systemctl enable frpc
# 开启
systemctl start frpc如果不成功,可能就是SELinux导致的,关闭SELinux:
修改/etc/selinux/config,并重启服务器:
SELINUX=disabled连接测试:
ssh -oPort=6000 test@x.x.x.x参考
Windows环境
本次我下载的是0.13.0版本,在连接过程一直出现错误,无论怎么修改frpc.ini配置,访问的始终是0.0.0.0,后来使用命令尝试连接才知道是frpc.exe使用的配置文件为frps.ini,而不是frpc.ini,官方Github也提到:frpc 客户端配置文件错误 #405。
解决方法:
使用命令进入frpc.exe所在目录,并使用命令启动frpc.exe并指定其配置文件:
frpc.exe -c frpc.ini设置自启
使用nssm将frp注册为系统服务。
下载nssm.exe,链接:下载-NSSM
解压后用命令进入其目录并使用命令安装:
nssm.exe install frpcnssm弹窗:
Path:选择frpc.exe文件
Arguments:中输入-c frpc.ini
最后单击Install service。
打开系统服务管理,并启动frpc服务。

