使用frp实现内网穿透教程(转载)


没有公网IP是一件很不方便的事情,尤其是在国内的网络环境,学校和小区内的用户通常都没有公网IP。为了解决这个问题,则需要内网穿透,而内网穿透的方法有很多种,例如使用花生壳、ngrok等,本文介绍的是使用frp让实现内网穿透。

什么是frp?

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

如何部署?

一、服务器端(frpc

1SSH连接上外网主机后,使用wget指令下载frp。(这里以系统CentOSfrp版本v0.10.0为例),其他系统自行到这里(https://github.com/fatedier/frp/releases)下载相对以的系统版本。

wget https://github.com/fatedier/frp/releases/download/v0.10.0/frp_0.10.0_linux_amd64.tar.gz

使用tar指令解压tar.gz文件

tar -zxvf frp_0.10.0_linux_amd64.tar.gz

使用cd指令进入解压出来的文件夹

cd frp_0.10.0_linux_amd64

外网主机作为服务端,可以删掉不必要的客户端文件,使用rm指令删除文件。

rm -f frpc

rm -f frpc.ini

接下来要修改服务器配置文件,即frps.ini文件。使用vi指令对目标文件进行编辑。

vi frps.ini

也可以直接把frps.ini文件下载到本地修改。改动说明如下(图),frp版本v0.10.0为例,采用特权模式,最方便简单方式:

保存上面的配置后,就可以使用以下指令启动frp服务端。

nohup ./frpc -c ./frpc.ini &

服务端的工作就到此结束了。

注:使用nohup指令

nohup指令的使用方法相对简单,只需要在nohup后面加上frp的运行指令即可。下面示范的指令是运行frp客户端。(同样,如果之前断开了SSH连接,记得用cd指令进入frp的目录先。)

二、客户端(frps

这里说得客户端有两种:一种是路由器,一种是群晖等。

1、而路由器的话就相对比较简单,因为多数的智能的路由器都有集成frp或者有插件(如:老毛子、梅林、hiwifi),直接配置frps.ini文件就行了,所以我们现在就想说说路由器的配置(注意看箭头):

代码:

[common]
server_addr = 127.0.0.1
server_port = 7000
privilege_token = admin
[web]
privilege_mode = true
remote_port = 6000
type = http
local_ip = 192.168.1.1
local_port = 80
use_gzip = true
subdomain = test
custom_domains = frp.xxx.com

custom_domains = frp.xxx.com 就是图1下方绑定的域名,在这里要注意解析泛域名,如:*.frp.xxx.com。绑定后就可以通过域名:test.frp.xxx.com:8080访问了。注:这里的8080端口就是在服务端(frpc)所填写的vhost_http_port,而域名前缀test就是客户端(frps)的subdomain = test

保存配置frps.ini,就OK了。

2、群晖NAS配置的客户端前面的操作和服务端是一模一样的,这里不一一解释。

wget https://github.com/fatedier/frp/releases/download/v0.10.0/frp_0.10.0_linux_386.tar.gz
tar -zxvf frp_0.8.1_linux_386.tar.gz
cd frp_0.8.1_linux_386
rm -f frps
rm -f frps.ini
vi frpc.ini

客户端的配置如下

[common]
server_addr = x.x.x.x
server_port = 7000
auth_token = 123
[ssh]
local_port = 22
[nas]
type = http 
local_port = 5000 
[web] 
type = http 
local_port = 80 

上面的配置和服务端是对应的。而更具体的操作方法可以看:https://txisfine.cn/2017/05/15/frp-black-synology.html

结语:

frp的使用和配置相当简单,如有疑问或者想了解关于frp的其它功能可以查看官方的中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md 

里面有更多玩法,如:通过密码保护你的 web 服务,修改 Host Header,加密与压缩等等。

转载文章来自6ird:https://www.6ird.com/archives/955.html

声明:Sandy'Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 使用frp实现内网穿透教程(转载)


一流的吃貨,二流的廚藝,三流的技術,下流的人品