通过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文件有点烦)。

相关推荐
hi,编程哥3 小时前
Docker、ECS 与 K8s 网段冲突:解决跨服务通信中的路由问题
docker·容器·kubernetes
How_doyou_do4 小时前
项目全栈实战-基于智能体、工作流、API模块化Docker集成的创业分析平台
运维·docker·容器
是垚不是土7 小时前
探秘高可用负载均衡集群:企业网络架构的稳固基石
运维·服务器·网络·云原生·容器·架构·负载均衡
杰克逊的日记7 小时前
大规模k8s集群怎么规划
云原生·容器·kubernetes
luck_me58 小时前
K8S已经成为了Ai应用运行的平台工具
人工智能·容器·kubernetes
xbd_zc8 小时前
【Jenkins简单自动化部署案例:基于Docker和Harbor的自动化部署流程记录】
docker·自动化·jenkins·harbor
matrixlzp9 小时前
K8S Ingress、IngressController 快速开始
云原生·容器·kubernetes
我的璨宝宝啊9 小时前
linux小主机搭建自己的nas(三)docker安装nextcloud
linux·运维·docker
大米☋9 小时前
GitLab搭建与使用(SSH和Docker)两种方式
docker·ssh·gitlab
污斑兔11 小时前
在Mac环境下搭建Docker环境的全攻略
docker