首页
关于
Search
1
AdGuardHome 安装及部署教程
43,056 阅读
2
关于微软Azure学生白嫖指南
10,626 阅读
3
搭建基于telegram的无限网盘
10,497 阅读
4
Oracle开放全部端口并关闭防火墙
10,418 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
9,710 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
找到
2
篇与
FRP
相关的结果
2025-01-06
用 FRP 配置 toml 文件搭建内网穿透
用 FRP 配置 toml 文件搭建内网穿透 需求场景 1、一台外网可访问的有固定 ip 的云服务器 2、一台外网无法访问的无固定 ip 的本地家用电脑 需求:将云服务器搭建为一台内网穿透服务器,实现通过外网访问家用电脑(网页)的功能。且即使没有域名也可通过公网访问。 下载软件 GitHub:https://github.com/fatedier/frp releases 页面:https://github.com/fatedier/frp/releases 官方文档:https://gofrp.org/zh-cn 根据自己实际情况选择,家用电脑和服务器都是 x64 架构。 图片 上传软件 个人习惯先分别在云端和本地的 ubuntu 的 /etc 目录下新建 frp 目录用来存放 frp 文件。 解压后,在家用电脑端保存frpc和frpc.toml文件,在云服务器端保存frps和frps.toml文件。 frp 软件在 0.52.0 版本开始支持 toml 格式的配置文件,在后继版本取消 ini 配置格式。 图片 服务端设置 云端放行端口 frp 服务端口:7000(可自定义) frp 控制面板端口:7500(可自定义) 要在两个地方放行: 1、 是云服务器提供商设置的防火墙放行端口, 图片 2 是服务器操作系统 Ubuntu 端口也要放行 # 添加监听端口 sudo firewall-cmd --permanent --add-port=7000/tcp # 添加管理后台端口 sudo firewall-cmd --permanent --add-port=7500/tcp sudo firewall-cmd --reload如果用的宝塔面板,在安全里设置: 图片 如果端口不放行后面会报无法连接错误: connect: no route to host 云端配置文件 frp.toml bindPort = 7000 # frp服务的特定端口,防火墙也需放开该端口 # 服务面板可查看frp服务状态信息 webServer.addr = "0.0.0.0" # 后台管理地址,默认是127.0.0.1,如果是公网访问则改成0.0.0.0 webServer.port = 7500 # 后台管理端口 webServer.user = "admin" # (可选)后台登录用户名 webServer.password = "admin" # (可选)后台登录密码 #transport.tls.force = true # 服务端将只接受 TLS链接 #auth.method = 'token' # 客户端访问验证方式 #auth.token = "54321" # 客户端访问验证密码,frpc要与frps一致 # 自定义的监听的端口,所有对服务器该端口访问将被转发到本地内网,做了反向代理可不处理防火墙放行 #vhostHTTPPort = 8000 #vhostHTTPSPort = 45443启动服务端 方式一:直接启动 服务器端,传统的启动方式是直接敲命令: 先 cd 到 frps 所在目录 ./frps -c ./frps.toml & 这么写,比较麻烦,而且如果要停止进程也比较麻烦,建议采用构建成服务的方式。 方式二:以服务方式启动(推荐) 安装 systemd,通常情况下系统都带得有,没有的情况下使用如下命令安装。 使用 yum 安装 systemd(CentOS/RHEL) yum install systemd使用 apt 安装 systemd(Debian/Ubuntu) apt install systemd 创建 frps.service 服务 创建并编辑该文件 sudo vim /etc/systemd/system/frps.service 写入内容 [Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动命令,改为实际存放frps的路径 ExecStart = /path/to/frps -c /path/to/frps.toml [Install] WantedBy = multi-user.target以服务的方式管理 frps # 启动frp sudo systemctl start frps # 停止frp sudo systemctl stop frps # 重启frp sudo systemctl restart frps # 查看frp状态 sudo systemctl status frps # 设置为开机自启 sudo systemctl enable frps验证服务端是否启动成功 访问:http:// 服务器 IP: 后台管理端口” ,输入用户名和密码可以查看连接状态 如:http://62.244.114.4:7500/, 用户名和密码分别对应 frps.toml 文件中的 webServer.user = "admin" webServer.password = "admin" 登录之后 frp 控制面板界面如下: 图片 如果上述步骤没有问题,则说明 frp 的服务端配置成功了,也就意味着内网穿透你已经成功了一半 客户端设置 配置文件frpc.toml 客户端,编辑frpc.toml文件: # frpc.toml transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true serverAddr = "47.76.92.71" # 服务端ip serverPort = 7000 # 服务端端口 auth.method = 'token' # 客户端访问验证方式 auth.token = '54321' # 客户端访问验证密码 [[proxies]] name = "dy_mysql" # 客户端服务名 type = "tcp" # 通讯方式 localIP = "127.0.0.1" # 客户端的ip(固定) localPort = 3306 # 客户端服务端口 remotePort = 13306 # 映射到服务端端口(服务器需放行) [[proxies]] name = "dy_video" # 客户端服务名_一个监控摄像头 type = "tcp" # 通讯方式 localIP = "192.168.6.8" # 客户端的ip(固定) localPort = 5522 # 客户端服务端口 remotePort = 15522 # 映射到服务端端口(服务器需放行) [[proxies]] name = "test-http" type = "tcp" localIP = "127.0.0.1" # 需要暴露的服务的IP localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口 remotePort = 6060 # 暴露服务的公网入口 [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000 #customDomains = ["xxx.xxx.xxx.xxx"] [[proxies]] name = "web" type = "http" localPort = 80 #customDomains = ["域名"] [[proxies]] name = "web-80" type = "https" localPort = 45443 #customDomains = ["cloud.your-service.com"]运行启动 客户端运行及加入自动启动也参考服务端,唯一不同的是客户端运行需要使用 frpc -c frpc.toml 穿透测试 现在可以通过外网直接用 ip + 端口访问家中这台电脑提供的服务了,当然原理上是通过云服务器的端口中转的。 可以在家中电脑上继续搭建 NAS 系统,搭建自己的博客网站。 如果是通过域名访问网站,在国内是需要备案的。 用 docker 部署 frp 服务端 云服务器 ubuntu 配置文件 frps.toml bindPort = 7000 # The default value is 127.0.0.1. Change it to 0.0.0.0 when you want to access it from a public network. webServer.addr = "0.0.0.0" webServer.port = 7500 # dashboard's username and password are both optional webServer.user = "admin" webServer.password = "admin" vhostHTTPPort = 8080启动脚本 serverstart.sh #!/bin/bash FRP_DIR=`pwd` docker stop frps docker rm frps docker run -d \ --restart always \ --network host \ --name frps \ -v ${FRP_DIR}/frps.toml:/etc/frp/frps.toml \ snowdreamtech/frps运行 # frpc.toml serverAddr = "192.168.1.132" serverPort = 7000 [[proxies]] name = "ssh" type = "tcp" localPort = 22 remotePort = 6022客户端 本地电脑 ubuntu 配置文件 frpc.toml #!/bin/bash FRP_DIR=`pwd` docker stop frpc docker rm frpc docker run -d \ --restart always \ --network host \ --name frpc \ -v ${FRP_DIR}/frpc.toml:/etc/frp/frpc.toml \ snowdreamtech/frpc启动脚本 clientstart.sh #!/bin/bash FRP_DIR=`pwd` docker stop frpc docker rm frpc docker run -d \ --restart always \ --network host \ --name frpc \ -v ${FRP_DIR}/frpc.toml:/etc/frp/frpc.toml \ snowdreamtech/frpc运行 ./clientstart.sh上述配置是一个把内网 ssh 服务的 22 号端口映射到公网的 6022 端口, 执行命令 ssh -p 6022 192.168.1.132即可从外网访问内网 ssh 服务 注: 用公网 ip 替换 192.168.1.132 其它问题 端口占用冲突 如果你用的端口被系统保留了不让用,就得换其它端口 可以通过如下命令查看保留的端口范围 netsh interface ipv4 show excludedportrange protocol=tcp 云服务器商的控制面板和 ubuntu 系统中都要放行防火墙端口 相关引用 用 FRP 配置 toml 文件搭建内网穿透 杂记 | 使用 FRP 搭建内网穿透服务(新版 toml 配置文件,搭配反向代理食用)_frps.toml-CSDN 博客 如何使用 docker+frp 进行内网穿透_docker_脚本之家 内网穿透!如何配置 frp 新版 0.56.0 的配置文件. toml:提供 web、samba、ssh 远程连接示例_frp 0.56-CSDN 博客 内网穿透工具 frp 原理和使用教程 - CSDN 博客
默认分类
# FRP
# 内网穿透
# toml
admin
1月6日
0
44
0
2023-07-13
搭建Frp内网穿透服务
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。 可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 开源地址:FRP github网址 通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括: 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间 代理组间的负载均衡 端口复用,多个服务通过同一个服务端端口暴露 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作 一、服务端部署 Docker部署 1.debian、ubuntu、Centos系统一键安装docker curl -fsSL get.docker.com -o get-docker.sh curl -sSL https://get.daocloud.io/docker | sh sudo sh get-docker.sh --mirror Aliyun2.创建frp.ini文件并创建目录 mkdir /frp vim /frp/frps.ini3.编辑frps.ini配置文件 [common] bind_port = 7000 # 启用面板 dashboard_port = 7500 # 面板登录名和密码 dashboard_user = admin dashboard_pwd = xxxxxx # 使用http代理并使用80端口进行穿透 vhost_http_port = 80 # 使用https代理并使用443端口进行穿透 vhost_https_port = 443 # 日志路径 log_file = ./frps.log # 日志级别 log_level = info # 日志最大保存天数 log_max_days = 2 # 认证超时时间 authentication_timeout = 900 # 认证token,客户端需要和此对应 token=123123123 # 最大连接数 max_pool_count = 5 max_ports_per_client = 0官方发现发布 0.52.0 版本后,取消了原有 INI 配置文件,改为 TOML 新格式,完整frps配置 bindPort = 7000 auth.method = "token" auth.token = "12345678" webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "admin" webServer.password = "admin123456"4.拉取镜像 docker pull snowdreamtech/frps:latestdocker安装frp图片 5.启动docker容器 #0.52.0版本之前 docker run --restart=always --network host -d -v /frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps #0.52.0版本之后 docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps运行容器图片 6.直接访问dashboard,输入账号密码 img图片 dashboard界面图片 可以直接访问,说明部署成功 本地文件部署 1、下载程序包 前往GitHub Releases页面下载: 图片 根据自己实际情况选择,我的是x64的windows系统,服务器也是x64架构,选择图中两项。玩客云是armv7架构,选择linux_arm包 解压如下: image图片 2、配置文件 官方发现发布 0.52.0 版本后,取消了原有 INI 配置文件,改为 TOML 新格式,完整frps配置,完整frpc配置 # frps.toml bindPort = 7000 # 服务端与客户端通信端口 auth.token = "public" # 身份验证令牌,frpc要与frps一致 transport.tls.force = true # 服务端将只接受 TLS链接 # Server Dashboard,可以查看frp服务状态以及统计信息 webServer.addr = "0.0.0.0" # 后台管理地址 webServer.port = 7500 # 后台管理端口 webServer.user = "admin" # 后台登录用户名 webServer.password = "admin" # 后台登录密码# frpc.toml transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true serverAddr = "x.x.x.x" serverPort = 7000 # 公网服务端通信端口 auth.token = "public" # 令牌,与公网服务端保持一致 [[proxies]] name = "test-http" type = "tcp" localIP = "127.0.0.1" # 需要暴露的服务的IP localPort = 9000 # 将本地9000端口的服务暴露在公网的6060端口 remotePort = 6060 # 暴露服务的公网入口 [[proxies]] name = "ssh" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 6000注意: 访问的端口一定要开放 3、系统守护启动 如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum(适用于 CentOS/RHEL)或 apt(适用于 Debian/Ubuntu)来安装它: # 使用 yum 安装 systemd(CentOS/RHEL) yum install systemd # 使用 apt 安装 systemd(Debian/Ubuntu) apt install systemd使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。 vim /etc/systemd/system/frps.service写入内容 [Unit] # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动frps的命令,/path/to需修改为您的frps的安装路径 ExecStart = /path/to/frps -c /path/to/frps.toml [Install] WantedBy = multi-user.target使用 systemd 命令管理 frps 服务 # 开机启动frp systemctl enable frps # 启动frp sudo systemctl start frps # 停止frp sudo systemctl stop frps # 重启frp sudo systemctl restart frps # 查看frp状态 sudo systemctl status frps或者:也可以使用任意方式编辑 /usr/lib/systemd/system/frps.service 并添加如下内容,其中 path_alist 为 frp 所在的路径 但需要执行 systemctl daemon-reload 重载配置 二、Windows客户端部署 内网穿透工具:配置生成 Windows客户端下载 压缩包里包含以下文件 frp客户端图片 配置客户端文件,找到压缩包里的frpc.ini。 配置客户端图片 打开frp客户端,运行 打开frpc.bat 即可打开 img图片 三、Android客户端部署 首先下载Frpc客户端 GitHub开源项目:https://github.com/mainfunx/frpc_android 下载仓库最新的(虽说frps须与frpc版本一致,但frps不配置token还是可以跨版本使用的): https://github.com/mainfunx/frpc_android/releases/download/0.39.1.1/frpc_adnroid-v0.39.1.1.apk 下载安装好就是这个样子 photo_2023-02-22_17-31-14图片 photo_2023-02-22_17-31-17图片 配置文件如下:(根据个人需求进行修改,切勿照搬) [common] server_addr = 54.180.101.36 server_port = 55185 [web] type = tcp local_ip = 127.0.0.1 local_port = 9978 remote_port = 7080 [web02] type = tcp local_ip = 127.0.0.1 local_port = 5245 remote_port = 7081点保存名字随便取 photo_2023-02-22_17-31-20图片 四、Magisk-FRPC部署 用于在 Android 设备上运行 FRPC 的 Magisk 模块。 如果您的终端设备使用WEB服务或者其他需要远程访问的服务,那么该模块将是您不错的选择。 Magisk-FRPC:https://github.com/Yang2635/Magisk-FRPC/releases 模块支持arm、arm64、amd64、x86架构。安装时自动判断设备指令架构并应用。 使用模块携带的 Busybox 程序中 crond 命令建立定时任务检测状态。 FRPC 配置文件修改后会自动检测并重载配置文件。 Magisk 模块页面自动显示模块状态信息。 检验文件完整性,防止模块被破坏。(感谢 Riru 模块提供的灵感)。 可在 Magisk 模块中开启或关闭来控制 FRPC 程序启动与结束。 设备电量低于 20% 且未在充电自动终止 FRPC 程序,请保持设备电量充足! 在模块目录创建 screen 文件则表示息屏检测,反之不检测。 模块安装完成后,请到 Android/frpc 目录下浏览并编辑 frpc.ini 配置文件文件。然后重启设备,设备运行后,会在你的设备上运行 FRPC 守护程序。 模块仅在设备 Android/frpc 目录释放额外工作需要的文件(不含 frpc 日志自定义其它路径设置),若模块卸载时未执行 uninstall.sh 脚本,请手动清除 Android/frpc 目录内文件。
技术搬砖
# docker
# FRP
# Magisk
admin
2年前
0
1,531
0