docker部署wg-easy和firefly

Background

  • WireGuard是一种新型的VPN协议,它通过在内核层运行,提供高效、安全、简单和现代的VPN解决方案。
  • wg-easy是一个专为简化 WireGuard VPN配置和管理而设计的工具,提供了界面化的管理,进一步降低WireGuard 的使用门槛,让用户无需深入了解其底层工作原理即可轻松部署和管理 WireGuard VPN。
  • firefly是最简单易用的轻量级、高性能WireGuard服务端软件,可广泛用于异地组网、远程办公、内网穿透等场景。支持自动申请免费SSL证书并续期。

在这里插入图片描述

1.各项目信息

# WireGuard 项目地址
https://github.com/WireGuard
# WireGuard 项目官网
https://www.wireguard.com/

# wg-easy github地址
https://github.com/wg-easy/wg-easy

# firefly github地址
https://github.com/Safe3/firefly

2.wg-easy安装

  • run
  docker run -d \
	  --name=wg-easy \
	  -e LANG=chs \
	  -e WG_HOST=110.110.110.110 \ # 公网IP
	  -e PASSWORD=123456 \ # web界面登录密码
	  -e PORT=51821 \
	  -e WG_PORT=51820 \
	  -v /usr/local/wg-easy/data:/etc/wireguard \
	  -p 51820:51820/udp \
	  -p 51821:51821/tcp \
	  --cap-add=NET_ADMIN \
	  --cap-add=SYS_MODULE \
	  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
	  --sysctl="net.ipv4.ip_forward=1" \
	  --restart unless-stopped \
	  ghcr.io/wg-easy/wg-easy
  • docker-compose.yml
version: "3.5"
services:
  wg-easy:
    environment:
      - LANG=chs
      - WG_HOST=110.110.110.110
      - PASSWORD=123456
      - PORT=51821
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.0.0.x
      - WG_DEFAULT_DNS=114.114.114.114
      - WG_MTU=1420
      - WG_ALLOWED_IPS=10.0.0.0/24
      - WG_PERSISTENT_KEEPALIVE=25
      - UI_TRAFFIC_STATS=true
      - UI_CHART_TYPE=2

    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    volumes:
      - /usr/local/wg-easy/data:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

在这里插入图片描述

3.firefly安装

  • docker-compose.yml
version: '3'
services:
  firefly:
    image: "uusec/firefly:latest"
    container_name: firefly
    devices:
      - /dev/net/tun
    network_mode: host
    volumes:
      - /lib/modules:/lib/modules
      - /etc/firefly:/firefly/conf
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - FIREFLY_DEVICE=eth0
      - FIREFLY_PASSWORD=firefly
      - FIREFLY_AUTO_SSL=false
      - FIREFLY_PORT=50121

在这里插入图片描述

4.启动异常解决Cannot find device "wg0"

$ wg-quick down wg0
$ wg-quick up wg0
Error: WireGuard exited with the error: Cannot find device "wg0"
This usually means that your host's kernel does not support WireGuard!
    at /app/lib/WireGuard.js:64:19
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /app/lib/WireGuard.js:62:9

解决方法请参考另一篇文档【Linux内核升级】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/761674.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python | Leetcode Python题解之第208题实现Trie(前缀树)

题目: 题解: class Trie:def __init__(self):self.children [None] * 26self.isEnd Falsedef searchPrefix(self, prefix: str) -> "Trie":node selffor ch in prefix:ch ord(ch) - ord("a")if not node.children[ch]:retur…

浅谈定时器之泊松随机定时器

浅谈定时器之泊松随机定时器 “泊松随机定时器”(Poisson Random Timer),它允许你基于泊松分布来随机化请求之间的延迟时间,这对于模拟具有随机到达率的事件特别有用,如用户访问网站或服务的请求。 泊松分布简介 泊松分布是一种统计与概率…

监听蓝牙对话的BlueSpy技术复现

本文是之前文章的BlueSpy技术的复现过程:https://mp.weixin.qq.com/s/iCeImLLPAwwKH1avLmqEpA 2个月前,网络安全和情报公司Tarlogic在西班牙安全大会RootedCon 2024上提出了一项利用蓝牙漏洞的BlueSpy技术,并在之后发布了一个名为BlueSpy的概…

嵌入式linux系统中动态链接库实现详解

大家好,linux系统中动态库是如何实现相互链接的?今天简单聊聊动态链接库的实现原理。 假设有这样两段代码,第一段代码定义了一个全量变量a以及函数foo,函数foo中引用了下一段代码中定义的全局变量b。 第二段代码定义了全局变量b以及main函数,同时在main函数中调用了第一个…

CEPH 系统盘挂了,如何使用数据盘恢复

硬盘损坏是早晚的时,CEHP数据盘坏了,使用CEPH的基本都轻车熟路了,如果系统盘坏了呢?不知道的可能会采取整个系统盘全做的方式 前提条件:使用cephadm搭建集群 如果换服务器,请确保CEPH数据盘放到其它服务器上…

mysql数据库的读写分离

该章节的实验需要基于http://t.csdnimg.cn/mT4Bs中的实验来进行。 读写分离 实现方法 在代码上实现读写分离,但对于运维者不友好 设置代理 现在大多采用amoeba作为中间代理服务器做读写分离操作。 2008,阿里巴巴前员工,陈思儒基于java1.6的环…

Java面试题--JVM大厂篇之深入了解G1 GC:高并发、响应时间敏感应用的最佳选择

引言: 在现代Java应用的性能优化中,垃圾回收器(GC)的选择至关重要。对于高并发、响应时间敏感的应用而言,G1 GC(Garbage-First Garbage Collector)无疑是一个强大的工具。本文将深入探讨G1 GC适…

XJTUSE-数据结构-homework2

当时写的还挺痛苦的 不过现在看,原老师布置的作业真的有水平 现在来看大二数据结构的作业,真的很锻炼代码能力。有些题目,我现在写也不一定能很快写出来hhhh 当时写的作业感觉还是存在问题的! 任务概述 任务 1 :指定的…

期末考试后,老师如何高效把成绩发给家长

期末考试终于结束了,老师们是不是感觉松了一口气呢?但是,成绩发布这个环节可不能马虎哦!今天,我就来跟大家分享一下如何高效地把成绩发给家长,让这个环节变得既轻松又高效! 先把最高效的方式告诉…

mac英语学习工具:Eudic欧路词典 for Mac 激活版

Eudic欧路词典是一款非常受欢迎的英语学习软件,它提供了丰富的词汇解释、例句、同义词、反义词等功能,帮助用户更好地理解和掌握英语单词。 以下是Eudic欧路词典的一些主要特点: 海量词汇库:Eudic欧路词典拥有庞大的词汇库&#…

树状数组——点修区查与区修点查

树状数组是一种代码量小,维护区间的数据结构 他可以实现: 1.区间修改,单点查询 2.单点修改,区间查询 当然,二者不可兼得,大人全都要的话,请选择线段树 前置知识: lowbit(x)操作…

前端vue项目升级nodejs后无法运行了

问题描述: 运行、打包都正常的vue项目,在将nodejs升级到v20.14.0后,均报错了: Error: error:0308010C:digital envelope routines::unsupported opensslErrorStack: [ error:03000086:digital envelope routines::initializ…

海外仓一件代发功能自动化:海外仓WMS系统配置方法

根据数据显示,2014-2019年短短几年之间,跨境电商销售总额增长了160%以上。这为跨境电商商家和海外仓,国际物流等服务端企业都提供了巨大的发展机遇。 然而,作为海外仓,要想服务好跨境电商,仓库作业的每一个…

Windows Server 2019部署网络负载均衡NLB服务的详细操作步骤

部署前准备 首先需要准备两台Windows Server 2019服务器,虚拟机创建请参考 VMware Workstation安装Windows Server2019系统详细操作步骤_安装windows server 2019操作系统(写出操作过程)-CSDN博客 克隆虚拟机请参考 VMware Workstation克隆虚拟机详细步骤-CSDN博…

【FFmpeg】av_write_frame函数

目录 1.av_write_frame1.1 写入pkt(write_packets_common)1.1.1 检查pkt的信息(check_packet)1.1.2 准备输入的pkt(prepare_input_packet)1.1.3 检查码流(check_bitstream)1.1.4 写入…

leetcode 403周赛 包含所有1的最小矩形面积||「暴力」

3197. 包含所有 1 的最小矩形面积 II 题目描述: 给你一个二维 二进制 数组 grid。你需要找到 3 个 不重叠、面积 非零 、边在水平方向和竖直方向上的矩形,并且满足 grid 中所有的 1 都在这些矩形的内部。 返回这些矩形面积之和的 最小 可能值。 注意…

AI写作革命:AI如何成为你的全能型写作助手

工欲善其事,必先利其器。 随着AI技术与各个行业或细分场景的深度融合,日常工作可使用的AI工具呈现出井喷式发展的趋势,AI工具的类别也从最初的AI文本生成、AI绘画工具,逐渐扩展到AI思维导图工具、AI流程图工具、AI生成PPT工具、AI…

肆拾玖坊的商业模式,49坊新零售奖金制度体系,众筹众创+会员制

肆拾玖坊之所以能够在短时间内成为白酒行业的“现象级”企业,,不仅是依靠独特商业模式,同时也依靠的是坚持用户为核心,围绕用户需求,让用户与产品直接产生连接理念。 坐标:厦门,我是易创客肖琳 深耕社交新零售行业10年,主要提供新零售系统工…

Windows 安装docker详细步骤说明

文章目录 1. 检查系统要求2. 启用硬件虚拟化3. 启用Hyper-V和容器功能4. 下载并安装Docker Desktop5. 配置Docker Desktop6. 安装WSL 27. 验证Docker安装8. 常见问题排查9. 重点说明参考资源 在Windows上安装Docker的详细步骤如下: 1. 检查系统要求 确保您的Window…

【CSAPP]-binarybomb实验

目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果(可贴图) 操作异常问题与解决方案 实验总结 实验目的与要求 1. 增强学生对于程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。 2. 掌握使用gdb调试器…