使用docker部署萤火虫快速部署WireGurad Server端

使用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