服务器操作系统: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.ini
frps.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 = 6000
2.设置自启,修改文件:/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 frpc
nssm
弹窗:
Path
:选择frpc.exe
文件
Arguments
:中输入-c frpc.ini
最后单击Install service
。
打开系统服务管理,并启动frpc
服务。