首页
关于
Search
1
AdGuardHome 安装及部署教程
43,056 阅读
2
关于微软Azure学生白嫖指南
10,626 阅读
3
搭建基于telegram的无限网盘
10,496 阅读
4
Oracle开放全部端口并关闭防火墙
10,418 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
9,709 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
找到
1
篇与
toml
相关的结果
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