使用 Docker 安装并配置内网穿透工具 FRP

目录

一、环境准备

二、安装 FRP 服务端

1. 拉取 FRP 服务端镜像

2. 创建配置文件目录

3. 编写服务端配置文件(frps.ini)

4. 运行 FRP 服务端容器

5. 配置防火墙

三、安装 FRP 客户端

1. 拉取 FRP 客户端镜像

2. 创建客户端配置文件(frpc.ini)

3. 运行 FRP 客户端容器

四、验证内网穿透

五、总结


FRP(Fast Reverse Proxy)是一款高性能的内网穿透工具,支持多种协议(如 TCP、UDP、HTTP、HTTPS 等),能够方便地实现内网服务的对外访问。以下是使用 Docker 安装和配置 FRP 的详细步骤。


一、环境准备

  1. Docker 环境
    确保你的系统中已安装 Docker,并已启动 Docker 服务。

  2. 服务器
    一台具有公网 IP 的服务器,用于运行 FRP 服务端。

  3. 客户端
    内网中的设备,需要安装 FRP 客户端。


二、安装 FRP 服务端

1. 拉取 FRP 服务端镜像

从 Docker Hub 拉取 FRP 服务端镜像:

bash复制

docker pull fatedier/frp
2. 创建配置文件目录

在服务器上创建 FRP 配置文件目录:

bash复制

sudo mkdir -p /etc/frp
cd /etc/frp
3. 编写服务端配置文件(frps.ini

创建并编辑 frps.ini 文件,内容如下:

ini复制

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin123
token = your_token
4. 运行 FRP 服务端容器

运行 FRP 服务端容器,将配置文件挂载到容器内部,并映射端口:

bash复制

sudo docker run -d \
  --name frps \
  -p 7000:7000 \
  -p 7500:7500 \
  -v /etc/frp/frps.ini:/etc/frp/frps.ini \
  --restart=always \
  fatedier/frp
5. 配置防火墙

确保服务器的防火墙允许 FRP 使用的端口:

bash复制

sudo ufw allow 7000
sudo ufw allow 7500
sudo ufw enable

三、安装 FRP 客户端

1. 拉取 FRP 客户端镜像

从 Docker Hub 拉取 FRP 客户端镜像:

bash复制

docker pull fatedier/frp
2. 创建客户端配置文件(frpc.ini

在客户端上创建 frpc.ini 文件,内容如下:

ini复制

[common]
server_addr = <server_ip>
server_port = 7000
token = your_token

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web]
type = http
local_port = 80
custom_domains = your_domain.com
3. 运行 FRP 客户端容器

运行 FRP 客户端容器,将配置文件挂载到容器内部:

bash复制

docker run -d \
  --name frpc \
  -v /path/to/frpc.ini:/etc/frp/frpc.ini \
  --restart=always \
  fatedier/frp

四、验证内网穿透

  1. 访问 HTTP 服务
    在浏览器中访问 http://<your_server_ip>:7500,如果看到 FRP 的 Web 管理界面,说明 HTTP 服务穿透成功。

  2. 访问 TCP 服务
    使用 telnetping 命令测试 TCP 服务,例如:

    bash复制

    telnet <your_server_ip> 6000

五、总结

通过上述步骤,你已经成功使用 Docker 安装并配置了 FRP,实现了内网穿透。FRP 是一款功能强大的内网穿透工具,可以方便地实现内网资源的对外访问,提高工作效率。在实际应用中,你可以根据需求调整 FRP 的配置,以满足不同的穿透场景。

Docker是一种容器化技术,可以将应用程序及其依赖项打包到一个独立的、可移植的容器中,然后在任何支持Docker的环境中运行。FRP是一种用于内网穿透工具,可以将内网服务暴露给外网访问。 要在Docker中部署FRP,可以按照以下步骤进行操作: 1. 首先,创建一个用于存放FRP配置文件的目录,例如`/path/to/config`。 2. 在该目录下创建一个名为`frps.ini`的配置文件,按照FRP配置规则进行配置。例如,可以指定监听端口、认证方式、代理设置等。 3. 创建一个名为`Dockerfile`的文件,在其中编写Docker镜像的构建指令。以下是一个示例的`Dockerfile`内容: ``` FROM alpine:latest LABEL maintainer="Your Name <your_email@example.com>" # 安装FRP RUN apk add --no-cache wget RUN wget -O /tmp/frp.tar.gz https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz RUN tar -xzf /tmp/frp.tar.gz -C /tmp && mv /tmp/frp_0.37.1_linux_amd64 /frp # 复制配置文件 COPY frps.ini /frp/frps.ini # 暴露FRP端口 EXPOSE 7000 # 启动FRP CMD ["/frp/frps", "-c", "/frp/frps.ini"] ``` 4. 构建Docker镜像。在终端中进入`Dockerfile`所在的目录,执行以下命令: ``` docker build -t frps . ``` 其中,`frps`是镜像的名称,可以根据需要进行修改。 5. 运行Docker容器。执行以下命令: ``` docker run -d -p 7000:7000 --name frps-container frps ``` 其中,`7000:7000`表示将容器的7000端口映射到主机的7000端口,`frps-container`是容器的名称,可以根据需要进行修改。 现在,FRP已经在Docker中成功部署运行了。你可以通过访问主机的7000端口来访问FRP服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CarlowZJ

我的文章对你有用的话,可以支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值