使用docker部署萤火虫快速部署WireGurad Server端
2024-10-17
4 min read
使用WireGurad快速回家,访问家里的网络
1. docker部署
项目地址
https://github.com/Safe3/firefly
docker-compose.yml
version: '3'
services:
firefly:
image: "uusec/firefly:latest"
container_name: firefly-server
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
要注意的是network要改成除了host的任意一个网络
原因是因为wireguard只支持udp在openwrt和其他nas的默认情况下是tcp协议
这里我们要改成子网,并且把端口映射到宿主机协议改为udp

修改配置文件
部署完成以后修改 /etc/firefly 目录下的config.json配置文件

① 你ddns出去的域名,注意如果你修改了端口号记得修改
② dns服务器,如果你本地搭建了dns服务器,你想使用的话那你自己改,这里我用了阿里的dns服务器
ok接下来启动firefly吧
注意别踩坑:
wg_device这个字段,如果你有两个以上的网卡,请确认你的流量出口是哪个网卡自行修改
服务端配置详解:
{
"version": 4.3, // 萤火虫当前版本
"host": "7.7.7.7", // 萤火虫web管理后台ip或域名,默认为自动获取的公网ip
"port": 50121, // 萤火虫web管理后台端口
"auto_ssl": false, // 萤火虫web是否启用自动申请免费SSL证书并续期,启用前将web端口改为443并配置host为域名
"password": "firefly", // 萤火虫web管理后台登录认证密码
"lang": "en", // 萤火虫web管理后台多语言支持,中文请将en改为cn
"ui_traffic_stats": true, // 萤火虫web管理后台是否开启流量图特效
"ui_chart_type": 2, // 萤火虫web管理后台流量特效图类型
"log_level": "error", // 萤火虫服务端日志记录等级
"wg_private_key": "YBw5KAo1vM2mz35GLhZB01ZNYWJYWdGZNQT1MebuCHk=", // 萤火虫服务端 WireGuard 私钥
"wg_device": "eth0", // 萤火虫服务端 WireGuard 出入流量网卡名称
"wg_port": 50120, // 萤火虫服务端 WireGuard UDP端口
"wg_mtu": 1280, // 萤火虫服务端 WireGuard MTU值
"wg_persistent_keepalive": 25, // 萤火虫客户端存活包发送间隔时间
"wg_address": "198.18.0.1/15", // 萤火虫客户端虚拟ip网段范围
"wg_dns": "1.1.1.1", // 萤火虫客户端dns配置
"wg_allowed_ips": "0.0.0.0/0, ::/0", // 萤火虫客户端要转发流量到服务端的ip地址范围,默认所有流量
"wg_proxy_address": ":50122" // 萤火虫TCP协议中转监听地址,可防止UDP QoS限流
}
3.一点点小思路
使用ShellCrash劫持局域网流量实现WireGuard 使用坤厂来学术查询
看图吧看图



这样,你别的设备已经正常,而萤火虫可以学术查询
shellcrash 项目地址:
https://github.com/juewuy/ShellCrash
-
- 1. docker部署
- 修改配置文件
*
*
* 注意别踩坑: - 3.一点点小思路