0. 准备工作
- 云主机一台
- 域名(为方便登陆,也可不用登陆时记住IP即可)
- frp工具(下载地址)
1. 服务端环境搭建
- 服务端我是用的阿里云的CentOS7,在阿里云的控制台把所需端口开启,并在CentOS系统内把防火墙端口开启使用wget下载frp对应版本的工具,我的是64位选择下载frp_0.33.0_linux_amd64.tar.gz
sudo wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
- 此过程可能较慢,为方便使用,可下载FinalShell(官网)客户端,先将对应版本的frp工具下载完成后上传至服务器。放置目录自定义,我放在了/home/frp/下,进行解压
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
- 删除frp压缩包
rm frp_0.33.0_linux_amd64.tar.gz
- frp_0.33.0_linux_amd64.tar.gz重命名为frp (可不用重命名)
工具准备齐全,开始配置环境
(所需文件为:frps frps.ini)
- 参考frp官方文档根据需求进行配置
可通过vim打开frps.ini(或者使用FinalShell打开)其中端口自己定义,token自定义,客户端frpc.ini中的token要一致,其他配置看个人需求,下面是我的测试配置文件
[common]
bind_port = 7000
token = test_token #此处为明文,不要用自己常用密码
dashboard_port = 8000
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
vhost_http_port = 9000
vhost_https_port = 9001
allow_ports = 9000-9200,7000,8000
log_file = /home/frp/frp/frps.log
# trace, debug, info, warn, error
log_level = info
log_max_days = 3
#disable log colors when log_file is console, default is false
disable_log_color = false
配置完成,使用vim退出:wq保存,使用FinalShell点击Ctrl+S保存。
运行测试
进入frp目录下运行以下代码:
./frps -c frps.ini
会有成功提示,并在前台运行
frps自启动
按Cltr+C退出前台运行
使用vim或者vi命令创建frps.service
vim /lib/systemd/system/frps.service
按i进行编辑
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#此处安为我的frp位置,根据个人配置进行修改
ExecStart=/home/frp/frp/frps -c /home/frp/frp/frps.ini
[Install]
WantedBy=multi-user.target
:wq保存退出
启动
systemctl start frps
启用开机自启动
systemctl enable frps
服务器端配置完成
2. 客户端环境搭建
windows环境
解压后自定义位置,我放在了D:/Study/frp下。
作为frp的客户端使用frpc.exe frpc.ini文件。
使用文本编辑工具打开frpc.ini文件
[common]
token = test_token #与服务器的一致
server_addr = 服务器的IP或者绑定该服务的域名
server_port = 与服务器frps.ini的bind_port端口一致
#开启本地管理
admin_addr = 127.0.0.1
admin_port = 7400 #端口自定义
admin_user = admin
admin_pwd = admin
#http://xxx.xxx.xxx.xxx:端口/file/ 即可访问文件
[static_file]
type = tcp
remote_port = 对应服务器端口
plugin = static_file
# 要对外暴露的文件目录
plugin_local_path = D:\Study\frpLib
# 访问 url 中会被去除的前缀,保留的内容即为要访问的文件路径
plugin_strip_prefix = file
plugin_http_user = admin
plugin_http_passwd = admin
use_encryption = true
use_compression = true
#3389远程桌面端口,如果更改端口请输入对应的端口,确保本地已开启远程服务
[win10] #确保每个[ ]中命名不一样
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 远程端口
配置完成,保存。
cmd进入frp文件夹下,运行
frpc.exe -c frpc.ini
在浏览器打开http://xxx.xxx.xxx.xxx:端口/file/ 既可访问D:\Study\frpLib下的文件
开启自启动
打开cmd窗口使用SC命令创建frp自启动服务(frpc_ali.ini是我又新建了个文件,原来的frpc.ini配置的另一台服务器的内容)
sc create frpc binPath= "D:\Study\frp\frpc.exe -c D:\Study\frp\frpc_ali.ini" DisplayName= "frpc服务器" start= delayed-auto
在计算机处右键>>管理>>计算机管理>>服务和应用程序>>服务 查看新建的frpc服务器
可在服务处查看运行状态
或者用cmd命令
D:\Study\frp\frpc.exe status
其中D:\Study\frp是路径,进入路径后可直接输入
frpc.ext status进行查看
Linux环境
- CentOS7
与服务器端相同,将下载frp后解压。
使用到的文件为frpc 和frpc.ini
frpc.ini配置如windows客户端相同
- Openwrt
我用的某讯的N1盒子刷成的软路由(在恩山找的相关教程,N1盒子刷机包)
该包已集成了frps和frpc客户端及管理界面配置起来特别方便,直接配置即可无需多说。
如果为集成该软件可用参考上面的CentOS的配置方法,或者自己动手编译(github开源项目,有详细步骤openwrt-frp)
- DSM
配置frpc.ini文件
[common]
server_addr = 服务器IP或者绑定IP的域名
server_port = 端口,与frps端口一致
token = 与frps中的token一致
[DSM]
type = tcp
local_ip = 127.0.0.1
local_port = 5000
remote_port = 服务器开启的端口
将frpc.ini文件上传至NAS中
打开套件中心>>搜索docker选中下图所示安装套件
安装完成后打开docker,打开映像,选择新增>>从url导入下面的链接,等待下载完成。
https://registry.hub.docker.com/r/chenhw2/frp/
下载完成后,点击启动,进入下面界面。容器名称自定义,点击高级设置
高级设置>>卷>>添加文件,选中刚才上传的frpc.ini文件(我的放在了/docker/frp/文件夹下)配置如下。
环境中只需修改ARGS对应的值为frpc后点应用即可。
在容器中看到这样的状态即配置完成。
3. 测试
路由管理
路由器配置完成后,通过IP加端口即可远程访问家中路由器了。
NAS管理
NAS通过Docker配置frpc后通过IP+端口也可远程访问了
远程桌面
不整了不整了,我申请了个公网IP,不用透传了
不整了不整了,我申请了个公网IP,不用透传了
不整了不整了,我申请了个公网IP,不用透传了