前言
写这篇文章之前,就遇到一批想要FRP功能新手化的一些面板.很荣幸,我装的APPNODE有这个模块.
但是之前我也没有涉足过基于FRP的内网穿透,那么这里我就记录一下我在使用APPNODE FRP内网穿透的过程.
本文实现最大众的FRP的使用方式,使路由器后台可以外网访问.
1. 本文采用最新版APPNODE+斐讯K2 华硕(老毛子)固件
2. 服务器采用Centos7.3系统
原理
frp 的作用
- 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
- 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
- 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
我们要实现的就是借用VPS主机的公网IP去映射到路由器,实现随时随地都可以访问路由器后台的场景.
FRP服务端
安装FRP服务端
AppNode除了网站管理是有VIP版本的,其他的跟免费版一样的
安装完成
配置FRP服务端
监听设置
Web穿透
管理面板
然后这里放一张,管理后台的样子
安全设置
连接设置
配置源文
[common]
#监听端口
bind_port = 7000
#HTTP端口
vhost_http_port = 9980
#HTTPS端口
vhost_https_port = 9443
#Token密钥
privilege_token = """LGlF4LbUF3gWP1+HurIiGfg`g+FagN9D"""
#放行端口
privilege_allow_ports = 7000,9980,9443,4444
#管理面板端口
dashboard_port = 4444
#管理面板账号
dashboard_user = admin
#管理面板密码
dashboard_pwd = admin
#这里是你的服务器公网IP
bind_addr = 12.12.12.12
注意:请一定要在VPS防火墙放行这些端口,如果你是云主机,安全组也要放行!
FRP客户端
我这里先讲APPNODE的FRP客户端用法.然后后面会贴一个 斐讯路由器内的配置.
安装FRP客户端
安装步骤大同小异,这里就不重复介绍了,下面是安装完事的截图.
我们这里先配置全局设置,因为你连服务端都没脸上, 填再多代理也没用.
全局设置
当然,FRP服务器地址你要是像上面那样填写,肯定是启动不成功的,因为客户端和服务器不应该在一个服务器上 即便你FRP服务器地址填写你的VPS公网IP,用其他手段启动成功了,那也没有什么太大必要,因为这个做的成本 不如直接用一个端口转发更为省心.
代理管理
代理类型
代理配置
配置源文
[common]
server_addr = 127.0.0.1
server_port = 7000
pool_count = 50
tcp_mux = true
protocol = tcp
privilege_token = """LGlF4LbUF3gWP1+HurIiGfg`g+FagN9D"""
[80]
type = http
local_ip = 127.0.0.1
local_port = 80
use_encryption = false
use_compression = false
如何在路由器上使用
示例图片
配置源文
#客户端配置:
cat > "/tmp/frp/myfrpc.ini" <<-\EOF
[common]
#这里填写你VPS的公网IP
server_addr = 12.12.12.12
#FRP监听端口
server_port = 7000
#Token密钥
privilege_token = LGlF4LbUF3gWP1+HurIiGfg`g+FagN9D
[web]
privilege_mode = true
remote_port = 6000
type = http
#需要映射的本地IP
local_ip = 192.168.1.1
#端口
local_port = 80
use_gzip = true
#subdomain = test
#自定义域名,我这里只是测试没有申请域名,所以我绑定的我的VPS的公网IP
custom_domains = 12.12.12.12
host_header_rewrite = 192.168.1.1
log_file = /dev/null
log_level = info
log_max_days = 3
EOF