绿联云Docker部署、内网穿透(Frpc+Frps)

绿联云Docker部署、内网穿透(Frpc+Frps)

 次点击
24 分钟阅读

本地图片

搭建 Frpc + Frps 实现内网穿透

前言

适用条件: 无公网 IPv4、IPv6 的网络环境;域名后想隐藏端口的强迫症 |

个人建议: 采用境外 VPS(带宽较大,HK 优先,延迟低)

搭建步骤

  1. VPS 搭建 frps、Nginx Proxy Manager
  2. 家庭服务搭建 frpc
  3. 域名托管 A 类型指向 VPS IPv4 地址
  4. Nginx Proxy Manager 配置反代

第一步:搭建 frps、Nginx Proxy Manager

部署Frps

VPS 路径:/home 新建一个 /frps/npm 文件夹。

本地图片本地图片/home/frps 文件夹中添加 docker-compose.ymlfrps.toml 两个文件,并填写下方代码:

docker-compose.yml

services:
  frps:
    image: snowdreamtech/frps:latest
    container_name: frps
    network_mode: host
    volumes:
      - ./frps.toml:/etc/frp/frps.toml
    restart: always

frps.toml

bindPort = 7000		# 服务端与客户端通信端口
auth.token = "12345678" 		# 身份验证令牌,frpc要与frps一致

webServer.addr = "0.0.0.0"	# 后台管理地址
webServer.port = 7500 		# 后台管理端口
webServer.user = ""	# 后台登录用户名
webServer.password = ""	# 后台登录密码

cd /home/frps

docker compose up -d

然后就启动容器啦

部署Nginx Proxy Manager

version: "3.5"
services:
  nginx:
    image: chishin/nginx-proxy-manager-zh:latest
    container_name: nginx
    ports:
      - "443:443"
      - "80:80"
      - "81:81"
      - "10222:10222"
    restart: always
    volumes:
      - /home/nginx/data:/data
      - /home/nginx/letsencrypt:/etc/letsencrypt
    environment:
      - TZ=Asia/Shanghai
    networks:
      - nginx
networks:
  nginx:
    name: nginx
 

cd /home/nmp

docker compose up -d

部署后访问VPSIP:81即可

第二步:搭建 Frpc

搭建方式很多,本文使用 Docker Compose 搭建

注意事项

frps,为避免因 frpc.toml 文件的挂载、格式或者配置错误导致容器无法正常运行并循环重启,请确保先配置好 frpc.toml 后再执行启动。 本地图片本地图片

frps.toml

serverAddr = ""  # 服务IP地址
serverPort = 7000     # 服务端通信端口

#auth.method = "token"
auth.token = "12345678"     # token 与服务端保持一直


[[proxies]]
name = "mp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3004     # 本地端口号
remotePort = 13009       # 公网端口号


[[proxies]]
name = "ugreen"
type = "tcp"
localIP = "127.0.0.1"
localPort = 9999     # 本地端口号
remotePort = 13012       # 公网端口号

Docker Compose

services:  # 服务定义
  frpc:  # 服务名称
    image: snowdreamtech/frpc:latest # 镜像来源
    container_name: frpc  # 容器名称
    restart: always  # 容器重启策略
    network_mode: host  # 宿主机网络模式
    volumes:  # 挂载卷
      - /volume1/docker/frpc/frpc.toml:/etc/frp/frpc.toml

第三步:将二级域名 DNS A 类型解析至 VPS 的 IP

域名解析

  1. 登录您的域名管理平台(如阿里云、腾讯云、Cloudflare 等)。
  2. 找到域名的 DNS 解析设置
  3. 添加一条 A 记录,配置如下:
    • 主机记录*(表示通配符,匹配所有二级域名)
    • 记录类型A
    • 记录值:填写您的 VPS 的 IP 地址
    • TTL:默认值或根据需求调整

示例 以阿里云 DNS 解析为例:

  • 主机记录*
  • 记录类型A
  • 记录值123.123.123.123(替换为您的 VPS IP 地址)
  • TTL600(默认值)

注意事项

  • 通配符 * 表示所有二级域名,例如 sub1.example.comsub2.example.com 等都会解析到该 IP。
  • 解析生效时间取决于 TTL 设置,通常需要几分钟到几小时。

本地图片

第四步:配置 Nginx Proxy Manager

访问 Nginx Proxy Manager

  1. 在浏览器中输入您的 VPS 的 IPv4 地址,并加上端口 81,例如:http://123.123.123.123:81
  2. 打开后,进入 Nginx Proxy Manager 的 Web 界面。

注册账号

  1. 在登录页面,点击 Register注册
  2. 输入您的邮箱和密码,完成账号注册。

默认账号(可选)

如果您使用的是默认安装,可以直接使用以下默认账号登录:

登录并进入 Web 服务

  1. 使用注册的账号或默认账号登录。
  2. 登录后,您将进入 Nginx Proxy Manager 的管理界面,可以开始配置反向代理、SSL 证书等。

本地图片

申请证书

本地图片

然后就可以访问了

本地图片

© 本文著作权归作者所有,未经许可不得转载使用。