通过Docker+frp实现内网穿透

通过Docker+frp实现内网穿透

这篇文章是最近又折腾了一个局域网的小网站,在这边记录一下内网穿透的方法,还是老方法frp,只不过之前用的是.start.sh,这次使用的是Docker

配置内网穿透一定要有一个公网服务器,也就是能访问到的服务器,可以是腾讯云、阿里云等

1. 创建并修改配置文件

1.1 在公网上创建frps的配置文件

shell 复制代码
## 创建目录
export FRP_HOME=/etc/docker/frp/ && mkdir &FRP_HOME
## 创建文件
touch &FRP_HOME/frps.ini

修改文件的内容:

shell 复制代码
vim frps.ini

>>> 内容如下:<<<

[common]
bind_port = 7000
vhost_http_port = 7080
vhost_https_port = 7081
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = username
dashboard_pwd = password
token=token_information
# 👇 用来实现二级域名,如:xxx.yyyy.com,下面这一行是不包含「xxx」的剩下的「yyyy.com」那一部分👇
subdomain_host = yyyy.cc

subdomain_host = yyyy.cc并非一定要写,首先实现二级域名的方式有很多,frp还提供了一种用『custom_domains=xxx.yyyy.cc』的方式,DNS解析也可以实现二级域名,方法很多自行尝试。

1.2 在内网上创建frpc的配置文件

shell 复制代码
## 创建目录
export FRP_HOME=/etc/docker/frp/ && mkdir &FRP_HOME
## 创建文件
touch &FRP_HOME/frpc.ini

修改文件的内容:

shell 复制代码
vim frpc.ini

>>> 内容如下:<<<

[common]
# 公网IP
server_addr = xx.xx.xx.xx
# frps 配置文件中的 bind_port
server_port = 7000
# frps 配置文件中的 token
token=token_information

# 一个连接,名字随便取,但不可重复
[xxx]
# 连接类型,可以是tcp、http、https,后两者必须配置「subdomain」或「custom_domains」
type = tcp
# 本地IP:可以是本机,也可以是局域网的其他IP
local_ip=127.0.0.1
# 本地端口:想要网穿的端口
local_port = 80
# 二级域名:xxx.yyyy.com 中「xxx」的那一部分
subdomain = xxx

# 又一个连接,名字随便取,但不可重复
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 通过公网的 10022 就可以访问到内网这台电脑的22端口
remote_port = 10022

2. 启动 Frp

1. 公网启动 | frps

shell 复制代码
docker run -d --restart always --network host --name frps -v /etc/docker/frp/frps.ini:/etc/frp/frps.ini snowdreamtech/frps

2. 内网启动 | frpc

shell 复制代码
docker run -d --restart always --network host --name frpc -v /etc/docker/frp/frpc.ini:/etc/frp/frpc.ini snowdreamtech/frpc

访问IP:7500可以查看Dashboard控制面板。

内网穿透的方法很多,frp绝对不是最好的,还有花生壳、甚至通过路由器等,但是frp的性价比很高,只要你的服务器还能多跑一个Docker就可以启动起来。

另外,使用解压压缩包然后.start.sh也是一种启动frp的方式,可以试着自己编写systemctl文件来实现给systemctl托管以方便的控制开机自启、开启关闭等,也是一个不错的选择(之前就是用的这种方法,但是写systemctl文件有点烦)。

相关推荐
hj2862512 小时前
Docker 核心知识点整理(网络 + Dockerfile + 原理 + 命令)
网络·docker·容器
梦想的颜色9 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
万里侯13 小时前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s
极客先躯17 小时前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
Waay18 小时前
Linux 三个核心环境变量配置文件、作用域、生效方式完整梳理
linux·运维·学习·云原生·容器
大E帝国子民119 小时前
Docker 部署 RocketMQ 5
docker·容器·rocketmq
江湖有缘20 小时前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器
java_logo1 天前
5 分钟共享打印机:用 Docker 一键部署 CUPS
运维·docker·容器·cups·网络打印机·共享打印机·docker部署cups
fen_fen1 天前
Docker部署PostgreSQL10 开启SSL和证书安装文档
docker·容器·ssl
bukeyiwanshui1 天前
20260626 k8sControllers介绍
云原生·容器·kubernetes