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=2image: ghcr.io/wg-easy/wg-easycontainer_name: wg-easyvolumes:- /usr/local/wg-easy/data:/etc/wireguardports:- "51820:51820/udp"- "51821:51821/tcp"restart: unless-stoppedcap_add:- NET_ADMIN- SYS_MODULEsysctls:- 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: fireflydevices:- /dev/net/tunnetwork_mode: hostvolumes:- /lib/modules:/lib/modules- /etc/firefly:/firefly/confcap_add:- NET_ADMIN- SYS_MODULErestart: unless-stoppedenvironment:- 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:19at process.processTicksAndRejections (node:internal/process/task_queues:95:5)at async /app/lib/WireGuard.js:62:9

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】STL-stack_queue

目录 1、stack和queue的使用 1.1 最小栈 1.2 栈的弹出和压入序列 1.3 二叉树的层序遍历 2、stack和queue的模拟实现 2.1 适配器 2.2 deque 2.2.1 deque的成员变量 2.2.2 deque的迭代器 2.2.3 deque尾插元素 2.2.4 deque头插元素 2.2.5 下标访问 2.2.6 deque的不足 …

golang结合neo4j实现权限功能设计

neo4j 是非关系型数据库之图形数据库,这里不再赘述。 传统关系数据库基于rbac实现权限, user ---- role ------permission,加上中间表共5张表。 如果再添上部门的概念:用户属于部门,部门拥有 角色,则又多了一层: user-…

数据加密解密和哈希的解析

[S1301]数据的加解密 对提供的原始数据(字符串或者二进制数组)进行加密是数据保护框架体提供的基本功能,接下来我们利用一个简单的控制台程序来演示一下加解密如何实现。数据的加解密均由IDataProtector对象来完成,而该对象由IDa…

Elasticsearch:Runtime fields - 运行时字段(一)

运行时字段(runtime fields)是在查询时计算的字段。运行时字段使你能够: 向现有文档添加字段而无需重新索引数据开始处理数据而无需了解其结构在查询时覆盖索引字段返回的值定义用于特定用途的字段而无需修改底层架构 你可以像访问其他任何…

bash条件判断基础adsawq1`1nn

判断的作用 判断后续操作的提前条件是否满足如果满足执行一种命令不满足则执行另一种指令 条件测试类型: 整型测试字符测试文字测试 整数测试:比较两个整数谁大谁小,是否相等; 二元测试: num1 操作符 num2 -eq: 等于…

uniapp封装虚拟列表滚动组件

uniapp封装虚拟列表滚动组件 这里用到一个列表&#xff0c;然后数据可能有很多很多…&#xff0c;一次性全部渲染到dom上会卡顿&#xff0c;很废性能&#xff0c;于是用了这个虚拟列表就变丝滑很多很多。 组件mosoweInventedList 代码&#xff1a; <!-- 虚拟滚动列表组件&a…

代码随想录Day67(图论 part04)

110.字符串接龙 题目&#xff1a;110. 字符串接龙 (kamacoder.com) 思路&#xff1a;没有思路 答案 import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();String beginStr sc…

华为手机怎么打印文件?

关于华为手机打印的问题&#xff0c;如果您有打印机&#xff0c;并且已经成功和华为手机相连&#xff0c;在解决上就要容易很多。 具体操作如下&#xff1a; 选择文件 文件来源&#xff1a;华为手机上的文件可以来自多个应用&#xff0c;如图库、备忘录、文件管理等&#xf…

20240628模拟赛总结

cf好了 让我们开始 T1 Two Regular Polygons 判断能不能构造出题中要求的正多边形 关键是n%m0 Two Regular Polygons #include<bits/stdc.h> using namespace std; int t; int n,m; int main() {cin>>t;for(int i1;i<t;i){cin>>n>>m;if(n%m0)co…

MySQL——事务ACID原则、脏读、不可重复读、幻读

什么是事务 要么都成功&#xff0c;要么都失败 一一一一一一一 1. SQL执行&#xff1a;A给B转账 A 1000 ---->200 B 200 2. SQL执行&#xff1a;B收到A的钱 A 800 B 400 一一一一一一一 将一组SQL放在一个批次中去执行~ 事务原则&#xff1a;ACI…

学习笔记(linux高级编程)10

IPC 进程间通信 interprocess communicate 三大类&#xff1a; 1、古老的通信方式 无名管道 有名管道 信号 2、IPC对象通信 system v BSD suse fedora kernel.org 消息队列(用的相对少&#xff0c;这里不讨论) 共享内存 信号量集 3、socket通信 网络通信 特…

TF/IDF算法

第1关&#xff1a;去除停用词 任务描述 本关任务&#xff1a;根据本关所学有关停用词的知识&#xff0c;编写使用停用词表去除停用词的程序并通过测试用例。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 停用词的意义&#xff1b; 去除停用词的步骤。 …

浅谈Web性能测试(原创)

一、性能测试不是什么高技术的活&#xff1a; 说到性能测试&#xff0c;很多工作时间较短的新同事或者应届生就很害怕。 为什么害怕&#xff0c;因为感觉无从下手&#xff0c;不知道该做什么、怎么做、做到什么程度&#xff1f; 一听性能测试首先想到的是各种专业的性能测试…

ThingsKit物联网平台功能解析

随着物联网技术的飞速发展&#xff0c;各种物联网平台应运而生&#xff0c;为设备管理和数据集成提供了强大的支持。ThingsKit物联网平台以其全面的功能和灵活的配置&#xff0c;成为行业中的一大亮点。本文将详细解析ThingsKit物联网平台的功能清单&#xff0c;带您深入了解该…

oracle数据库默认表空间详解

文章目录 oracle数据库默认表空间列表 oracle数据库默认表空间列表 系统表空间&#xff08;System Tablespace&#xff09; 系统表空间包含了系统级别的元数据&#xff0c;如数据字典、系统表和存储过程等。例如SYSTEM表空间用于保存数据库的数据字典、PL/SQL程序的源代码和解释…

【C语言】分支(选择)和循环语句

目录 简述选择语句简述if语句单if结构语法格式 if-else结构语法结构 语法结构 循环结构break和continuewhile循环语法结构 for循环语法结构 do while循环语法结构 简述 在c语言中分支和循环语句是极其重要的&#xff0c;就像生活中你难免要做一些判断和循环往复做一些事。 选…

SpringBoot 中的参数校验:构建健壮应用的基石

前言 在开发Web应用时&#xff0c;处理用户输入是不可避免的一环。然而&#xff0c;用户输入往往充满不确定性&#xff0c;可能是格式不正确、类型不匹配&#xff0c;甚至包含恶意内容。为了确保应用的稳定性和安全性&#xff0c;对输入参数进行有效校验显得尤为重要。Spring …

【触想智能】工业平板电脑在新能源领域上的应用分析

工业平板电脑是一种具有高性能和稳定性的计算机设备&#xff0c;适用于在恶劣环境下进行数据采集、运营管理和现场操作。 随着新能源技术的快速发展&#xff0c;工业平板电脑不断地得到应用&#xff0c;并且已成为新能源领域中的重要工具之一。本文将从四个方面探讨工业平板电脑…

WSO2 products 文件上传漏洞(CVE-2022-29464)

前言 CVE-2022-29464 是一个影响多个 WSO2 产品的严重远程代码执行&#xff08;RCE&#xff09;漏洞。这些产品包括 WSO2 API Manager、WSO2 Identity Server 和 WSO2 Enterprise Integrator 等。由于用户输入验证不当&#xff0c;该漏洞允许未经身份验证的攻击者在服务器上上…