当前位置: 首页 > article >正文

如何使用 Docker Compose 安装 WireGuard UI

简介

wireguard是什么?维基百科是这样描述的:

  • WireGuard是一种实现加密虚拟专用网络(VPN) 的通信协议和免费开源软件,其设计目标是易于使用,高速性能和低攻击面。
  • 它旨在比IPsec和OpenVPN这两种常见的隧道协议具有更好的性能和更强大的功能;
  • WireGuard 协议通过UDP传递流量。

通过描述,我们知道了wireguard其实就是一个FAST(速度快)、MODERN(流行)、SECURE (安全)的VPN TUNNEL(VPN隧道)

那么如何安装呢?接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

https://img-blog.csdnimg.cn/img_convert/4c16271f125adea69da6ed9e7b2a4226.png

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

https://img-blog.csdnimg.cn/img_convert/414570cd3da48d4cc4bf51489992000b.png

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

https://img-blog.csdnimg.cn/img_convert/c8afbeb764459a37a8451dd2ed8eeff1.png

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

https://img-blog.csdnimg.cn/img_convert/ea5814f1d1068ca9fa2bb94631cfbdf1.png

  • 到此为止,我们的云服务器就远程连接上了。

开始部署

确保 Docker Compose 已正确安装:

docker compose version

第一步 - 更新服务器

sudo apt update && sudo apt upgrade

第二步 - 创建 docker-compose.yml 文件

.yml 文件包含了创建 WireGuard UI Docker 容器所需的所有信息。

sudo mkdir /opt/wg-ui
sudo nano /opt/wg-ui/docker-compose.yml

粘贴以下配置:

services:
  wireguard:
    image: linuxserver/wireguard:v1.0.20210914-ls7
    container_name: wireguard
    cap_add:
      - NET_ADMIN
    volumes:
      - ./config:/config
    ports:
      - "5000:5000"
      - "51820:51820/udp"
    restart: unless-stopped

  wireguard-ui:
    image: ngoduykhanh/wireguard-ui:latest
    container_name: wireguard-ui
    depends_on:
      - wireguard
    cap_add:
      - NET_ADMIN
    # 使用 Wineguard 服务的网络。这使得能够在状态页面中显示活跃的客户
    network_mode: service:wireguard
    environment:
      - SENDGRID_API_KEY
      - EMAIL_FROM_ADDRESS
      - EMAIL_FROM_NAME
      - SESSION_SECRET
      - WGUI_USERNAME=admin
      - WGUI_PASSWORD=admin
      - WG_CONF_TEMPLATE
      - WGUI_MANAGE_START=true
      - WGUI_MANAGE_RESTART=true
    logging:
      driver: json-file
      options:
        max-size: 50m
    volumes:
      - ./db:/app/db
      - ./config:/etc/wireguard
    restart: unless-stopped

记得将默认密码 WGUI_PASSWORD 修改为一个安全的密码。

第三步 - 启动容器并访问 GUI

启动容器:

sudo docker compose -f /opt/wg-ui/docker-compose.yml up -d

启动成功后,使用浏览器访问 http://your_server_IP:5000 ,将 your_server_IP 替换为你的服务器 IP 地址。

如果成功,你应该能看到 WireGuard UI 的登录页面。默认凭证是:

  • 用户名:admin
  • 密码:admin

首次登录后立即更改此密码!

image.png

第四步 - 配置路由

在“WireGuard 服务器”下,输入以下脚本并点击“应用配置”。

Post Up 脚本

iptables -A FORWARD -i %1 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE

Post Down 脚本

iptables -D FORWARD -i %1 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ -j MASQUERADE

image.png

第五步 - 创建新的客户端配置

现在创建一个带有描述性名称的新客户端:

image.png

第六步 - 添加客户端

iOS / Android

App Store / Play Store

Windows / Mac

Windows WireGuard / Mac WireGuard。

相关链接
雨云 - 新一代云服务提供商: https://www.rainyun.com/NTEzMTM1_?s=blog
面试鸭:https://mianshiya.com/?shareCode=sq29yv
我的博客:https://blog.ivwv.site


http://www.kler.cn/a/403772.html

相关文章:

  • 「三」体验HarmonyOS端云一体化开发模板——使用DevEco Studio直接创建端云一体化工程
  • 一维卷积神经网络(1D-CNN)
  • Java实现简单的搜索引擎
  • css水平居中+垂直居中
  • WPF窗体基本知识-笔记-命名空间
  • 什么是事务,事务有什么特性?
  • Linux·线程控制
  • Unity3D 移动端如何高效实现冲击波扭曲效果详解
  • PostgreSQL提取JSON格式的数据(包含提取list指定索引数据)
  • 虚拟存储器管理(深入理解计算机系统期末周突击笔记)
  • pyinstall 打包Django程序
  • 探索设计模式:原型模式
  • MyBatis 入门学习总结
  • 【Failed to resolve import “fsevents“ 】解决方案
  • Android Studio 构建报错 “Installed Build Tools revision 3x.0.0 is corrupted“
  • JSON 数组
  • Python小游戏28——水果忍者
  • Jetson AGX Orin v4l2 cuda 视频解码
  • 共享单车管理系统项目学习实战
  • PC上浏览器是如何查询DNS 缓存的?
  • 激光slam学习笔记5---ubuntu2004部署运行fastlivo踩坑记录
  • 联通大数据面试题及参考答案
  • Android 源码编译资料集
  • vue3中pinia状态管理库使用以及持久化配置方法总结
  • 基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
  • canva 画图 UI 设计