前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >frp内网穿透

frp内网穿透

作者头像
sgr997
发布2022-12-01 16:41:20
2.5K0
发布2022-12-01 16:41:20
举报
文章被收录于专栏:博客分享

前一段时间买了一个刷了armbian系统的电视盒子,但是一直没办法在外访问搭建好的项目,于是使用frp搭建了内网穿透服务器。

要求:需要有一台有外网ip的服务器

下载frp

我的是linux系统,使用uname -a命令查看系统架构。 aarch64或arm64:https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_arm64.tar.gz amd64:https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz 其他版本下载地址:https://github.com/fatedier/frp/releases

服务器端配置

上传下载的压缩包

解压

1.解压安装包 tar -zxf frp_0.45.0_linux_amd64.tar.gz 2. 进入解压后的文件夹 cd frp_0.45.0_linux_amd64

配置

将frps.ini修改为以下内容

代码语言:javascript
复制
vi frps.ini
代码语言:javascript
复制
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的,客户端连接使用
token = 1234

# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
# 通过该端口访问客户端
vhost_http_port = 9200

# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3

启动

1.后台启动

代码语言:javascript
复制
./frps -c frps.ini &

2.防火墙放开7000,vhost_http_port的端口 例如,查看9200端口是否已放行,其他端口同理 firewall-cmd --query-port=9200/tcp --zone=public 显示no说明未放行 放行:firewall-cmd --zone=public --add-port=9200/tcp --permanent 显示success即为成功 3.如果是云服务器厂商也有端口限制,则需要登录云服务器厂商控制台,放行端口

测试

ip:7500可访问可视化界面,如能成功访问即可

客户端(本地机器)配置

解压

同服务端一致

配置

客户端是frpc.ini,注意服务端是frps.ini,要区分开

代码语言:javascript
复制
# 客户端配置
[common]
server_addr = 服务器公网ip
 # 与frps.ini的bind_port一致
server_port = 7000
 # 与frps.ini的token一致
token = 1234

# 配置ssh服务
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000 

# 配置http服务,如果没有可以不写下面的
[web]
type = http
# 本地项目服务
local_port = 8801
# 服务器公网ip或自定义域名
custom_domains = www.xxx.xx
# 服务器vhost_http_port端口,随后访问custom_domains:9200即可转发至本机器local_port服务
remote_port = 9200

启动

代码语言:javascript
复制
./frpc -c frpc.ini &

测试

访问custom_domains:9200测试是否正常

将frp安装为服务(可选操作)

服务端

创建frps.service文件

vim /etc/systemd/system/frps.service

代码语言:javascript
复制
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为刚才frp放置的地址
ExecStart = 安装路径/frps -c 安装路径/frps.ini

[Install]
WantedBy = multi-user.target

启动frps服务

代码语言:javascript
复制
# 启动frp
systemctl start frps
# 配置frps开机自启
systemctl enable frps

客户端

创建frpc.service文件

sudo vim /etc/systemd/system/frpc.service

代码语言:javascript
复制
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frpc的命令,需修改为刚才frp放置的地址
ExecStart = 安装路径/frpc -c 安装路径frpc.ini

[Install]
WantedBy = multi-user.target

启动frpc服务

代码语言:javascript
复制
# 启动frpc
systemctl start frpc
# 配置frpc开机自启
systemctl enable frpc

其他命令

代码语言:javascript
复制
# 停止frps
systemctl stop frps
# 重启frps
systemctl restart frps
# 查看frps状态
systemctl status frps

# 停止frpc
systemctl stop frpc
# 重启frpc
systemctl restart frpc
# 查看frpc状态
systemctl status frpc

安装时遇到的一些问题

使用自定义域名

  1. 在域名服务商配置A解析规则,记录值填写服务器ip
  2. 修改客户端配置文件frpc.ini,custom_domains=域名

-bash: ./frpc: cannot execute binary file: Exec format error

安装包下载错误,先查询系统架构,然后下载对应的安装包,具体请查看第一章节

do http proxy request [host:www.xxx.xxx] error: no root found: www.xxx.xxx

客户端配置域名访问和访问的域名不匹配,请访问custom_domains域名或修改custom_domains域名

The page you requested was not found

同do http proxy request [host:www.xxx.xxx] error: no root found: www.xxx.xxx

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载frp
  • 服务器端配置
    • 解压
      • 配置
        • 启动
          • 测试
          • 客户端(本地机器)配置
            • 解压
              • 配置
                • 启动
                  • 测试
                  • 将frp安装为服务(可选操作)
                    • 服务端
                      • 创建frps.service文件
                      • 启动frps服务
                    • 客户端
                      • 创建frpc.service文件
                      • 启动frpc服务
                    • 其他命令
                    • 安装时遇到的一些问题
                      • 使用自定义域名
                        • -bash: ./frpc: cannot execute binary file: Exec format error
                          • do http proxy request [host:www.xxx.xxx] error: no root found: www.xxx.xxx
                            • The page you requested was not found
                            相关产品与服务
                            云服务器
                            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档