昨天发现被墙的VPS终于恢复了,应该被墙了好几个月,如今又可以浪起来了,给家里的NAS黑群晖搭建一个frp内网穿透方便远程管理。真香......
FRP介绍:
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议,可以帮助您轻松地进行内网穿透,对外网提供服务,并且 web 服务支持根据域名进行路由转发。
利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
FRP 支持平台
frp 目前已经更新到 0.20.0,各平台支持如下,除红字标注外,其余几种多用于路由器或 NAS 等小型设备,可以根据自己设备的 CPU 架构选择对应的版本
- frp_0.20.0_darwin_amd64 #MacOS64 位
- frp_0.20.0_linux_386 #Linux32 位
- frp_0.20.0_linux_amd64 #Linux64 位
- frp_0.20.0_linux_arm #
- frp_0.20.0_linux_mips
- frp_0.20.0_linux_mips64
- frp_0.20.0_linux_mips64le
- frp_0.20.0_linux_mipsle
- frp_0.20.0_windows_386 #Windows 32 位
- frp_0.20.0_windows_amd64 #Windows64 位
FRP安装
因为frp是go语言写的,所以在路由器上使用的时候,请使用虚拟内存,请使用虚拟内存,请使用虚拟内存,这个命令是在你自己的服务器上运行的!是在你自己的服务器上运行的!
一、安装命令
- wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
- chmod 700 ./install-frps.sh
- ./install-frps.sh install
二、安装步骤
- Loading network version for frps, please wait...
- frps Latest release file frp_0.8.1_linux_amd64.tar.gz #此步骤会自动获取frp最新版本,自动操作,无需理会
- Loading You Server IP, please wait...
- You Server IP:12.12.12.12 #自动获取你服务器的IP地址
- Please input your server setting:
- Please input frps bind_port [1-65535](Default Server Port: 5443): #输入frp提供服务的端口,用于服务器端和客户端通信
- Please input frps dashboard_port [1-65535](Default dashboard_port: 6443): #输入frp的控制台服务端口,用于查看frp工作状态
- Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80): #输入frp进行http穿透的http服务端口
- Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): #输入frp进行https穿透的https服务端口
- Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq): #输入frp服务器和客户端通信的密码,默认是随机生成的
- Please input frps max_pool_count [1-200](Default max_pool_count: 50): #设置每个代理可以创建的连接池上限,默认50
- ##### Please select log_level #####
- 1: info
- 2: warn
- 3: error
- 4: debug
- #####################################################
- Enter your choice (1, 2, 3, 4 or exit. default [1]): #设置日志等级,4个选项,默认是info
- Please input frps log_max_days [1-30]
- (Default log_max_days: 3 day): #设置日志保留天数,范围是1到30天,默认保留3天。
- ##### Please select log_file #####
- 1: enable
- 2: disable
- #####################################################
- Enter your choice (1, 2 or exit. default [1]): #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效
设置完成后检查你的输入,如果没有问题按任意键继续安装
- ============== Check your input ==============
- You Server IP : 12.12.12.12
- Bind port : 5443
- Dashboard port : 6443
- vhost http port : 80
- vhost https port: 443
- Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq
- Max Pool count : 50
- Log level : info
- Log max days : 3
- Log file : enable
- ==============================================
安装结束后显示:
- Congratulations, frps install completed!
- ==============================================
- You Server IP : 12.12.12.12
- Bind port : 5443
- Dashboard port : 6443
- vhost http port : 80
- vhost https port: 443
- Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq
- Max Pool count : 50
- Log level : info
- Log max days : 3
- Log file : enable # 将上面信息添加到你的路由器frp穿透插件中吧
- ==============================================
- frps Dashboard: http://12.12.12.12:6443/ # 这个是frp控制台访问地址
- ==============================================
三、更新命令
- ./install-frps.sh update
四、卸载命令
- ./install-frps.sh uninstall
五、服务器端管理命令
- /etc/init.d/frps start
- /etc/init.d/frps stop
- /etc/init.d/frps restart
- /etc/init.d/frps status
- /etc/init.d/frps config
- /etc/init.d/frps version
六、路由器端配置:
FRP内网穿透开源地址:点击进入
注意:Frp 0.18 之前的早期版本,token 一项需修改为 privilege_token。以下配置在最新 frp 0.20 版测试通过。
以下是客户端配置在路由器上面填写。
- [common]
- server_addr = *.*.*.* #已安装好frp服务端frps的服务器Ip地址
- server_port = 5443 #与之前frp服务端的设置保持一致,即Bind Port
- token = ************** #与之前安装服务端时给出的token保持一致
- [web1]
- type = http
- local_ip = 192.168.1.1 #表示要穿透的为路由器IP
- local_port = 80
- use_encryption = true
- use_gzip = true
- custom_domains = *.*.* #表示远程访问192.168.1.1需要的域名,可以为二级域名。如果没有域名建议提前申请,并指向服务器所在IP
- http_user = *** #可选项,随便填写,表示访问域名时需要用这个用户名验证通过后,才能连接到内网,加了一道防护,更安全
- http_pwd = ****** #可选项,随便填写,同上,用户名对应这个密码,输入正确才能连接到内网
- [web2]
- type = http
- local_ip = 192.168.1.111 #按需填写,填写需要远程访问的第二个内网设备IP
- local_port = 80
- use_encryption = true
- use_gzip = true
- custom_domains = *.*.* #表示远程访问192.168.1.111需要的域名,需要与上文的域名有所区别
- http_user = *** #可选项,用户名
- http_pwd = ****** #可选项,用户密码
- log_file = /dev/null
- log_level = info
- log_max_days = 3
以上就是全部教程