frp 是一个开源的内网穿透工具,可以使外网设备访问内网防火墙后的设备/服务器。

比如可以买一个 99元/年 的阿里云低配 ECS,然后把自己相对高配的旧电脑放在家里。

家里的旧电脑通过 frp 连上 ECS 之后,外网设备就可以通过 ECS 访问这台旧电脑了。

这种方案适合搭建自己的代码管理系统、CI/CD、个人博客、小型论坛、股票系统等等。

server 端(阿里云ECS)的配置

# #################################
# frps.yaml - frp 服务端配置
# 说明:此文件仅用于阅读和管理
# ################################# # 绑定的服务监听地址(默认仅本地回环),如需公网访问请设置为 0.0.0.0
bindAddr: "0.0.0.0" # frp 服务默认监听 7000 端口(供家里旧电脑使用)
bindPort: 7000 # 可选:使用 KCP 协议加速(UDP)时监听的端口
# kcpBindPort: 7000 # 可选:QUIC 协议监听端口(建议单独配置)
# quicBindPort: 7001 # 可选:UDP 协议端口(供 UDP 转发使用)
# bindUdpPort: 7002 # 设置 token,用于客户端认证
authentication:
method: "token" # 可选:"token"、"oidc"
token: "your_secure_token_here" # 是否启用 TLS 加密
# transport:
# tls:
# enable: true
# certFile: "/path/to/cert.pem"
# keyFile: "/path/to/key.pem" # 仪表盘 dashboard 配置(用于查看连接状态)
webServer:
addr: "0.0.0.0" # 监听地址(本地可设为127.0.0.1,公网需设为0.0.0.0)
port: 7500 # dashboard 监听端口
user: "admin" # 登录用户名(可选)
password: "admin" # 登录密码(可选)
# tlsEnable: false # dashboard 是否启用 HTTPS(默认 false) # 日志相关配置
log:
level: "info" # 日志级别:trace, debug, info, warn, error
to: "./frps.log" # 日志输出文件路径(默认 stdout)
maxDays: 7 # 日志保留天数
disablePrintColor: false # 最大客户端连接数限制
maxPoolCount: 100 # TCP 多路复用(提升性能)
tcpMux:
enable: true
# keepaliveInterval: 60 # 是否允许客户端访问 frps 的配置接口(高危)
# allowPorts: [80, 443, 22] # 控制哪些端口可被客户端映射 # 控制哪些客户端可以连接(基于 ID 认证,可选)
# clients:
# - id: clientA
# token: abc123 # 允许的代理类型
# allowProxyTypes:
# - tcp
# - udp
# - http
# - https
# - stcp
# - xtcp # 自定义 DNS 解析器
# dnsServer: "8.8.8.8" # 自定义端口映射范围限制(防止乱用)
# portRange:
# min: 10000
# max: 20000

client 端(家里旧电脑)的配置

# #################################
# frpc.yaml - frp 客户端配置
# ################################# # 服务器的 ip
serverAddr: "x.x.x.x" # 服务器的端口(与服务端 bindPort 对应)
serverPort: 7000 # 客户端身份认证(与服务端 token 必须一致)
authentication:
method: "token"
token: "your_secure_token_here" # 可选:客户端自己的唯一 ID(用于多客户端场景)
# user: "my-client-id" # 日志相关设置
log:
level: "info" # 可选:trace, debug, info, warn, error
to: "./frpc.log" # 日志输出路径
maxDays: 7 # 日志保留天数
disablePrintColor: false # 是否禁用彩色输出 # TCP 多路复用(默认开启)
tcpMux:
enable: true # 连接 frps 的协议类型(可选:tcp, kcp, quic, websocket, wss)
# transport:
# protocol: "tcp" # #################################
# 定义需要穿透的服务(proxies)
# 支持多个,格式类似数组项
# ################################# proxies:
# 此处开启一个 ssh 服务
- name: "ssh" # 内网服务的名称(可任意)
type: "tcp" # 基于 tcp
localIP: "127.0.0.1" # 从公网访问内网服务的地址,默认为本机的 "127.0.0.1"
localPort: 22 # 从公网访问内网服务的端口,默认为本机的 22 端口(ssh-server)
remotePort: 7001 # 公网通过 "ssh -o Port=7001 root@x.x.x.x" 访问 frp 客户端的 ssh-server,即:frps 服务器的 7001 端口的数据都会被转发给内网的 ssh 服务 # 此处开启一个 http 服务
- name: "web" # 内网服务的名称(可任意)
type: "http" # 基于 tcp
localPort: 8200 # 暴露给公网用户的端口,可以通过 http://x.x.x.x:8200 访问内网的 http 服务器
remotePort: 8200 # 公网映射端口
# customDomains: "www.yourdomain.com" # 自定义域名(如开启,取消前面的注释) # STCP 加密通道(适合内网 P2P)
# - name: "secure-service"
# type: "stcp"
# localPort: 9000
# secretKey: "shared_key" # UDP 穿透示例(如 DNS)
# - name: "dns"
# type: "udp"
# localPort: 53
# remotePort: 1053 # #################################
# 可选:插件、自定义域名、多用户、TLS等高级配置
# ################################# # 支持插件,如 HTTPS → 本地 HTTP 转换
# - name: "https-plugin"
# type: "https"
# plugin:
# name: "https2http"
# localAddr: "127.0.0.1:80"
# crtPath: "/path/to/cert.crt"
# keyPath: "/path/to/cert.key"
# hostHeaderRewrite: "127.0.0.1"

使用 frp 进行内网穿透的更多相关文章

  1. 疫情之下,使用FRP实现内网穿透,远程连接公司电脑进行办公

    当前情况下,经常会有需要到公司电脑进行一些操作,比如连接内网OA,数据库或者提交文档.为了减少外出,将使用frp进行内网穿透的方法进行一个说明. 前提条件 1. 一台拥有公网 IP 的设备(如果没有, ...

  2. 基于frp的内网穿透实例4-为本地的web服务实现HTTPS访问

    原文地址:https://wuter.cn/1932.html/ 一.想要实现的功能 目前已经实现将本地的web服务暴露到公网,现想要实现https访问.(前提:已经有相应的证书文件,如果没有就去申请 ...

  3. frp实现内网穿透

    frp实现内网穿透 目标 通过外网访问内网设备,本文中实现通过手机的移动流量,可以访问到树莓派设备 设备准备 需要被访问的设备(本文中使用Raspberry Pi`).公网IP设备(本文中使用阿里云 ...

  4. frp+nginx内网穿透

    frp+nginx内网穿透 背景:自己有台内网Linux主机,希望被外网访问(ssh.http.https): 准备工作 内网Linux主机-c,可以访问c主机和外网的主机-s(windows/lin ...

  5. 使用frp进行内网穿透,实现ssh远程访问Linux服务器

    搭建一个完整的frp服务链需要: VPS一台(也可以是具有公网IP的实体机) 访问目标设备(就是你最终要访问的设备) 简单的Linux基础(如果基于Linux配置的话) 我这里使用了腾讯云服务器作为服 ...

  6. frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...

  7. 分享下超实用的用skura frp做内网穿透的经验

    操作目的: 使无公网ip的主机能被外网访问,实现ssh对服务器的远程管理 硬件准备: 1.服务端:skura frp主机(skura frp 免费提供,有待创建) 2.客户端:接在无线路由器(内网)上 ...

  8. 使用FRP做内网穿透

    Github地址:https://github.com/fatedier/frp 什么是FRP? frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 h ...

  9. 如何使用 frp 实现内网穿透

    这有一个专注Gopher技术成长的开源项目「go home」 背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了. ...

  10. 基于frp的内网穿透实例1-通过SSH访问内网机器

    原文地址:https://wuter.cn/1804.html/ 老母鸡终于到了,作为一个能运行linux系统的四核1G硬件,它还是比较小巧的. FRP 全名:Fast Reverse Proxy.F ...

随机推荐

  1. pandas 删除指定条件的行

    inplace=True:不创建新的对象,直接对原始对象进行修改: inplace=False:对数据进行修改,创建并返回新的对象承载其修改结果. 删除工作日餐补为0的记录 row_index=df[ ...

  2. python xlrd xlwr函数 读取excel好文总结

    https://www.cnblogs.com/python-robot/p/9958352.html 官网: http://www.python-excel.org/ 好文: https://www ...

  3. Java的数据类型详解

    java的为强类型语言,所以要求变量的使用要严格符合规定,所有的变量都必须先定义后在使用: 什么是变量? 变量顾名思义,就是可变的量:是程序中最基本的存储单元,其要素要包括:变量名.变量类型和作用域: ...

  4. 【BUG】axios 长数字精度丢失问题

    问题原因 出现改问题是于javascript 整数范围问题 java 中 Long 类型 -2的63次方 - 2的63次方减去1 但是javascript整数范围确没有那么大,导致Long数字过大前端 ...

  5. 区块链特辑——solidity语言基础(二)

    Solidity语法基础学习 四.函数类型: 函数 Function function FnName [V] [SM] [return (--)] {} ·[V]:Visibility,可见性: ·[ ...

  6. 区块链特辑——solidity语言基础(一)

    Solidity语法基础学习 一.智能合约的结构: 首先以上是智能合约的结构,包含版权宣告.编译指示.Using for 宣告.错误定义.输入.列举与枚举.常数.合约.函数.注释.第一个注释不同于其他 ...

  7. ADM3251E使用一段时间后损坏

    使用ADM3251E导致CPU发热 - 参考链接: https://bbs.elecfans.com/jishu_1687010_1_1.html 笔者设计的电路板在解决RS232隔离通信的时采用了A ...

  8. Windows与Linux通过Samba共享文件夹

    Ubuntu系统,按如下步骤执行: 1.安装samba服务 sudo apt update sudo apt install samba -y 2.创建共享目录 sudo mkdir -p /home ...

  9. MaxKB web 站点知识库选择器的花样玩法

    背景:MaxKB 创建知识库支持"web 站点"的这种形式,但是很多同学不知道怎么录入选择器来针对性的获取某一部分内容. 1. 选择器作用 选择器用于定位网页中特定的元素,以便获取 ...

  10. JMeter提取多个变量值总结