From 11dae55236f47729e03719096d226e7c58e9c326 Mon Sep 17 00:00:00 2001 From: mm644706215 Date: Mon, 21 Apr 2025 13:35:49 +0800 Subject: [PATCH] add docker use and client.yaml example --- docker/client_config.yaml | 42 +++++++++++++++++++++++++++ docker/docker-compose.yml | 60 +++++++++++++++++++++++++-------------- 2 files changed, 80 insertions(+), 22 deletions(-) create mode 100644 docker/client_config.yaml diff --git a/docker/client_config.yaml b/docker/client_config.yaml new file mode 100644 index 0000000..d1535bf --- /dev/null +++ b/docker/client_config.yaml @@ -0,0 +1,42 @@ +# 唯一设备 ID,可以用 `uuidgen` 生成一次后固定 +device_id: 3f3d5317-f1e7-45e6-88df-02e492d8909e + +# 必须和服务端的 VNT_WHITE_TOKEN 一致 +token: 22d + +# 设备在管理面板里显示的名字 +name: wsl2 + +# 客户端在 TUN 虚拟网卡上的 IP,要和服务端网段对应 +# (如果没自定义网段,默认是 10.26.0.x) +ip: 10.26.0.10 + +# 指向你的域名或 IP:端口 +server_address: yourdomain:29872 + +# 是否启用服务端→客户端的 RSA/AES 加密(要改 true 时需先替换 key 目录里的私钥/公钥) +server_encrypt: false + +# 虚拟网卡名 +device_name: vnt-tun + +# 加密算法 +cipher_model: aes_gcm + +# 如果在服务端开启了 --finger ,这里也要设 true +finger: false + +# p2p 模式,通常就留 p2p +use_channel: p2p + +# 是否允许 shell 命令通道 +cmd: false + +# 是否走 TCP(可根据网络情况改为 false,让 UDP 优先) +tcp: true + +# DNS 转发 +dns: + - 223.5.5.5 + - 8.8.8.8 + diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index aa5cfa9..e451169 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,27 +1,43 @@ -version: '3.8' +version: "3.8" services: - vnt-server: - build: - context: . - dockerfile: Dockerfile + vnts: image: hotwa/vnt-server:latest - container_name: vnt-server + container_name: vnts restart: unless-stopped - environment: - - VNT_PORT=29872 - - VNT_WEB_PORT=29870 - - VNT_WHITE_TOKEN=your_token_here - - VNT_USERNAME=admin - - VNT_PASSWORD=secure_password - volumes: - - ./data/key:/app/key - - ./data/log:/app/log + + # 加入自定义网络并指定静态 IP + networks: + headscale_network: + ipv4_address: 172.24.0.13 + ports: - - "29872:29872/tcp" - - "29872:29872/udp" - - "29870:29870/tcp" - cap_add: - - NET_ADMIN - sysctls: - - net.ipv4.ip_forward=1 \ No newline at end of file + - "29872:29872/tcp" # 数据通道 TCP + - "29872:29872/udp" # 数据通道 UDP + - "29870:29870/tcp" # Web 管理界面 + + volumes: + - ./vnts-data:/app/key # 用于存放服务端密钥对 + - ./vnts-log:/app/log # 日志目录 + + environment: + # —————— 必填项 —————— + VNT_PORT: "29872" # 数据通道口 + VNT_WEB_PORT: "29870" # Web 管理口 + VNT_USERNAME: "admin" # 管理界面用户名 + VNT_PASSWORD: "admin" # 管理界面密码 + VNT_WHITE_TOKEN: "22d" # 连接 token 白名单 + + # ——— 可选项,根据需要取消注释 ——— + #VNT_FINGER: "1" # 开启指纹校验(短 flag `--finger`) + #VNT_GATEWAY: "10.26.0.1" # 子网网关 + #VNT_NETMASK: "255.255.255.0" # 子网掩码 + #VNT_WG_SECRET_KEY: "" # WireGuard 私钥 + +networks: + headscale_network: + driver: bridge + ipam: + config: + - subnet: 172.24.0.0/24 +