FRP内网穿透搭建

参考:

https://blog.csdn.net/qq_25351621/article/details/78947477

https://blog.csdn.net/inke88/article/details/76677956

(1)准备工作

(可能需要安装 go 环境,查看这篇文章:https://blog.csdn.net/dszgf5717/article/details/79119254)

有一个公网IP的服务器(VPS),根据服务器环境,和主机环境下载相应的frp服务器端和客户端。我这里服务器服务器环境是linux 64位,客户端环境是arm 端。所以到官网 https://github.com/fatedier/frp/releases 下载相应版本,如下图:

下载解压后有如下的七个文件:

(2)配置服务器端

服务器端只需要两个文件frps和frps.ini,其中frps为可执行文件,frps.ini为配置文件,是不是很方便?配置文件如下图(很简单):其中bind_addr为本机IP,bind_port为frp对客户端的端口号,auto_token是客户端连接服务器端的口令。

配置好后即可运行服务器端:./frps -c ./frps.ini

运行成功如上图,现在就可以配置客户端啦!

(3)配置客户端

同样将客户端解压后有七个文件,只需要frpc和frpc.ini,配置文件如下:

注意:server_addr是服务器端的公网IP地址,server_port是frp服务端口号,auto_token是连接服务器的口令,必须和服务器保持一致。[ssh_208]是客户端通过服务器与用户之间的通道名,每个客户端必须不一样,remote_port是服务器端对外提供本机服务的端口号,即用户连接60.12.220.16:10085,相当于连接127.0.0.1:22,即arm板上的ssh服务

运行客户端:./frpc -c ./frpc.ini

重启客户端:./frpc -c ./frpc.ini --reload

(4)测试

现在我们用外网主机来远程登陆到我们的arm板子,ssh 60.12.220.16 -p 10085

可以看到,完美成功!!

(5)配置解释

i、frps.init

[common]
# binde_addr是指定frp内网穿透服务器端监听的IP地址,默认为127.0.0.1,
#如果使用IPv6地址的话,必须用方括号包括起来,比如 “[::1]:80”, “[ipv6-host]:http” or “[ipv6-host%zone]:80”
bind_addr = 0.0.0.0
# bind_port 是frp内网穿透服务器端监听的端口,默认是7000
bind_port = 7000
#frp内网穿透服务器可以支持虚拟主机的http和https协议,一般我们都用80,可以直接用域名而不用增加端口号,如果使用其它端口,那么客户端也需要配置相同的其他端口。
vhost_http_port = 80
vhost_https_port = 443

dashboard_user = admin  #管理面板账号
dashboard_pwd = admin   #管理面板密码
# 这个是frp内网穿透服务器的web界面的端口,可以通过http://你的ip:7500查看frp内网穿透服务器端的连接情况,和各个frp内网穿透客户端的连接情况。
dashboard_port = 7500
auth_token = 123

# 方括号内的ssh是代理名称,在同一个frp穿透服务器下的代理名称不能重复,否则不能启动。
# bind_addr是frp客户端内网的ip,也可以是客户端内网同一局域网下的其他IP
[ssh]
##### type = tcp
bind_addr = 0.0.0.0
listen_port = 6000

[web01]
#http类型的内网穿透,必须设置vhost_http_port,并且所有的http类型的客户端都将通过同一个vhost_http_port访问。
type = http
# custom_domains是通过frp服务器端访问客户端的域名,必须输入完整的域名,
# 并且不能是subdomain_host的子域名,否则frp服务不能启动,并且相应的域名需要解析到frp服务器端的公网IP并等待解析生效后,才可以使用。
custom_domains = zhishi.com

ii、frpc.ini

[common]
server_addr = 23.106.147.45
server_port = 7000
auth_token = 123

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web01]
#http类型的内网穿透,必须设置vhost_http_port,
#并且所有的http类型的客户端都将通过同一个vhost_http_port访问。
type = http
local_ip = 127.0.0.1
local_port = 8089
custom_domains = web.zhishi.com

(6)补充后期遇到的问题!!!

i、注意:客户端的时钟不能和服务器端时钟相差太大!否则会出现认证超时的错误:authorization timeout

这个超时时间可以在配置文件中通过 authentication_timeout 这个参数来修改,单位为秒,默认值为 900,即 15 分钟。如果修改为 0,则 frps 将不对身份验证报文的时间戳进行超时校验。

使用命令:date 查看当前计算机时间

使用命令:date -s "YYYY-MM-DD HH-MM-SS" 设置时间

使用命令:hwclock -w 写入flash

ii、没有解析域名

Parse conf error: proxy [web01] custom_domains and subdomain should set at least one of them

因为客户端的配置文件没有添加子域名,即custom_domains = web.zhishi.com
这个的前提条件是要在阿里云的域名解析添加泛匹配 

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Frp是一个常用的内网穿透工具,而宝塔是一款简单易用的服务器管理面板。将宝塔与frp搭建结合可以实现内网穿透的功能,下面是实现该功能的步骤: 1. 安装宝塔面板:通过wget命令下载宝塔面板的安装脚本,然后执行安装命令进行安装。安装完成后,通过浏览器访问服务器的IP地址,即可进入宝塔面板的登录页面。 2. 登录宝塔面板:在登录页面中输入用户名和密码,点击登录按钮即可登录到宝塔面板的控制台。 3. 添加网站:在宝塔面板控制台内,点击“网站”选项卡,然后点击“添加网站”按钮。在添加网站的页面中,填写站点名称、绑定域名等信息,并选择对应的站点目录。 4. 配置frp:在宝塔面板控制台内,点击“软件商店”选项卡,然后搜索并安装“frps”软件。安装完成后,点击“软件管理”选项卡,在列表中找到“frp”,点击“设置”按钮进行配置。 5. 配置frp参数:在frp配置页面中,填写服务器IP地址、远程端口等参数,并保存配置。然后点击“启动”按钮启动frp。 6. 完成内网穿透:在PC端安装frp客户端,然后根据frp客户端的配置文档,配置客户端的参数。将客户端与服务器进行连接,即可完成内网穿透。 通过以上步骤,我们可以通过宝塔与frp搭建一个内网穿透的环境。这样就可以实现远程访问内网服务器或应用的功能,方便了服务器管理与应用开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值