介绍

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

个人使用背景

以为刚入手个威联通的nas。因为住所公寓是不能公网ip访问的。所以需要内网穿透、而ngrok在nas没法编译配置也麻烦。

安装

一键安装

1、获取一键安装frps脚本

git clone https://github.com/clangcn/onekey-install-shell.git

2、进去frps目录安装

sh version.sh
sh install-frps.sh install

查看版本和直接进行安装。

启动后有默认选项

图

安装完成后显示配置信息、如果记不住可以打命令

frps config

图

当然这是自己有域名的情况下、如果是对二级域名进行解析那么就是xxx.solo90.com

注:一健脚本的方式安装结束

一键安装脚本省去了配置的ini文件的过程。

手动安装

github地址:https://github.com/fatedier/frp/releases

图

full.ini为配置文件模板、的全部案例

linux启动脚本方法一、systemd

如果直接用frps手工的方式也可以。缺点是需要自己写启动脚本

[Unit]

Description = FRP to bypass NAT Network

Wants = network-online.target

After = network.target

[Service]

Type = simple

TimeoutStartSec=30

ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini

ExecStop=/bin/kill $MAINPID

#此处需按实际情况修改为frp二进制文件目录和manuscript.from.cmdgy.com配置文件目录

StandardOutput = syslog

StandardError = inherit

启动 FRP 并设置开机启动

systemctl start frps
systemctl enable frps
systemctl status frps

linux启动脚本方法二、放rc.local

chmod +x /etc/rc.d/rc.local && vi /etc/rc.d/rc.local
#把下面的内容粘贴到文件末尾
/opt/frp/frps -c /opt/frp/frps.ini

frps升级

  1. 下载最新版frp文件,
  2. 停止frps服务

systemctl stop frps

  1. 用新版本覆盖旧版本
  2. 如果使用systemd的,记得覆盖:

cp frps /usr/local/bin/

  1. 启动新版本frps

systemctl start frps

安装客户端

由于自己在工作环境上用ngrok作为内网穿透来编写微信服务号、所以frpc对于我来说,就用于nas上了。

因为我的nas没有公网ip,放置在我所住在的公寓里面。公寓的网非联通拨号那种。我的nas公网是访问不了的。所以就想到frp的方式来解决。

打开nas 的Container Station中搜索frpc,我选择wee0/frpc

图

点右边的安装,安装这个docker镜像。安装完后先别急着创建container,如果已经创建了删除即可。

在设置选项中选择成host模式

图

通过ssh登入nas

ssh admin@192.168.123.123

输入你的密码、IP不一定和我的一样。

可以通过find 命令查找frpc。也可用工具、WinSCP。都可以

图

通过WinSCP工具查找低版本的fpc并且进行替换。

图

移动到该文件夹、然后替换frpc和ini文件,frpc和你的frp的服务器版本相对应。

图

我的配置文件配置(nas 客户端)

#
[common]
server_addr = 121.42.148.69
server_port = 7000
token = zhaoqidong
tls_enable = true   //tls安全加密
tcp_mux = true   //tcp多路复用

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22      //内网转发本地端口
remote_port = 7002  //远程frps访问的端口

[plex]
type = tcp
local_ip = 192.168.123.123
local_port = 32400
remote_port = 7003

[nas_aria2_webui]
type = tcp
local_ip = 192.168.123.123
local_port = 80
remote_port = 7004

[transmission]
type = tcp
local_ip = 192.168.123.123
local_port = 49091
remote_port = 7005

[nas_aria2]
type = tcp
local_ip = 192.168.123.123
local_port = 6800
remote_port = 7006


[nas_web]
type = http
local_ip = 192.168.123.123
local_port = 8080
subdomain = nas

[nas_webs]
type = https
local_ip = 192.168.123.123
local_port = 8081
subdomain = nas

注意:服务器的要NAS的时间一致相差不能超过15分钟。最好是一个时区。

服务端frps–0.30的服务端配置文件

[common]
bind_addr = 0.0.0.0
bind_port = 7000
kcp_bind_port = 7000
vhost_http_port =  444
vhost_https_port = 445
dashboard_addr = 0.0.0.0
dashboard_port = 7001
dashboard_user = admin
dashboard_pwd = qidong
log_file = ./frps.log
log_level = info
log_max_days = 3
disable_log_color = false
token = zhaoqidong
allow_ports = 7001-7011
max_pool_count = 5
max_ports_per_client = 0
subdomain_host = solo90.com
tcp_mux = true

如果没有意外。

图

Last modification:January 31, 2020
如果觉得我的文章对你有用,请随意赞赏