# Wireguard服務(wù)器管理工具之 zzxia-wireguard-manage

你知道的,Wireguard服務(wù)器是沒有圖形界面管理工具的,默認(rèn)只能在命令行編輯配置文件進(jìn)行添加刪除用戶,更沒有其他高級功能了,這非常不方便,然后就自己開發(fā)了這個工具,已經(jīng)用了好多年了,現(xiàn)在推薦給大家:zzxia-wireguard-manage,項目地址是:https://gitee.com/zhf_sy/zzxia-wg-manage

[toc]

1 介紹

wireguard 服務(wù)器管理工具。提供服務(wù)器配置、重啟、警報、報表等功能;提供用戶的列出、添加、刪除、導(dǎo)出配置、二維碼分享等功能

1.1 功能:

  1. 配置服務(wù)器
  2. 列出賬號
  3. 添加刪除賬號
  4. 導(dǎo)出用戶配置文本,也可以二維碼分享
  5. 重啟
  6. 顯示用戶在線狀態(tài)
  7. 用戶登錄發(fā)送釘釘消息
  8. 用戶離線發(fā)送釘釘消息
  9. 每天生成用戶報告
  10. 總報告

1.2 喜歡她,就滿足她:

  1. 【Star】她,讓她看到你是愛她的;
  2. 【W(wǎng)atching】她,時刻感知她的動態(tài);
  3. 【Fork】她,為她增加新功能,修Bug,讓她更加卡哇伊;
  4. 【Issue】她,告訴她有哪些小脾氣,她會改的,手動小綿羊;
  5. 【打賞】她,為她買jk;
    <img src="http://pic-bed.zzxia.vip/pic1/20210429155627295.jpg" alt="打賞" style="zoom:50%;" />

2 軟件架構(gòu)

Linux shell

3 安裝教程

  • 克隆下來即可
  • wireguard服務(wù)器的安裝方法請參考官網(wǎng)

4 使用說明

請使用-h|--help參數(shù)運行sh腳本即可看到使用幫助

4.1 創(chuàng)建修改環(huán)境變量文件

基于env.sh.sample創(chuàng)建環(huán)境變量文件env.sh,并根據(jù)自己的環(huán)境修改它:

$ cat env.sh 
#!/bin/bash

## ----- 一般不需要修改 -----
# server env
SERVER_CONF_FILE_PATH="/etc/wireguard"             #--- wireguard服務(wù)器配置文件路徑
WG_IF='wg0'                                        #--- wireguard服務(wù)器網(wǎng)卡
IP_PREFIX='172.30.0'                               #--- wireguard服務(wù)器網(wǎng)絡(luò)地址前3節(jié)
IP_NETMASK='24'                                    #--- wireguard服務(wù)器IP掩碼
# run
SERVER_CONF_FILE="${SERVER_CONF_FILE_PATH}/${WG_IF}.conf"
SERVER_PRIVATE_KEY="${SERVER_CONF_FILE_PATH}/private.key"
TODAY_WG_USER_LATEST_LOGIN_FILE="/tmp/wg-user-first-login-today.txt"

## ----- 一般需要修改 -----
# 釘釘
export DINGDING_API_URL_FOR_LOGIN="https://oapi.dingtalk.com/robot/send?access_token=填上你的token在這里"      #-- 用來發(fā)送釘釘消息
# server env
SERVER_CONNECT_INFO='服務(wù)器IP或域名:端口如51820'            #--- wireguard服務(wù)器用以接受用戶連接的IP或域名及端口,用來生成用戶的wg配置文件
# user env
USER_DNSs='192.168.11.3,192.168.11.4'                       #--- 用戶的DNS,用來設(shè)置用戶的DNS
USER_ALOWED_IPs="${IP_PREFIX}.0/${IP_NETMASK},0.0.0.0/0"    #--- 用戶端走Wireguard鏈路的網(wǎng)絡(luò)地址范圍(用來設(shè)置用戶端路由)

4.2 服務(wù)器設(shè)置

運行0-init-setup.sh用于第一次配置服務(wù)器:

# ./0-init-setup.sh

4.3 服務(wù)器管理

# ./wg-manage.sh -h

    用途:用于wireguard的用戶管理
    依賴:./env.sh
          qrencode
    注意:
    用法:
        ./wg-manage.sh  [-h|--help]
        ./wg-manage.sh  [-l|--list]
        ./wg-manage.sh  [-a|--add {用戶名}]  <{IP第4段}>
        ./wg-manage.sh  [-r|--rm|-o|--output-config  {用戶名}]
        ./wg-manage.sh  [-R|--reload]
        ./wg-manage.sh  [-s|--status]
    參數(shù)說明:
        \$0   : 代表腳本本身
        []   : 代表是必選項
        <>   : 代表是可選項
        |    : 代表左右選其一
        {}   : 代表參數(shù)值,請?zhí)鎿Q為具體參數(shù)值
        %    : 代表通配符,非精確值,可以被包含
        #
        -h|--help      此幫助
        -l|--list      列出現(xiàn)有用戶
        -a|--add       添加用戶
        -r|--rm        刪除用戶
        -o|--output-config 輸出用戶配置文件
        -R|--reload    重啟服務(wù)器
        -s|--status    服務(wù)器狀態(tài)
    示例:
        #
        ./wg-manage.sh  -l              #--- 列出用戶清單
        #
        ./wg-manage.sh  -a 豬豬俠 11    #--- 添加用戶【豬豬俠】,IP地址尾號為【11】
        ./wg-manage.sh  -a 豬豬俠       #--- 添加用戶【豬豬俠】,IP地址尾號自動分配
        #
        ./wg-manage.sh  -r 豬豬俠       #--- 刪除用戶【豬豬俠】
        #
        ./wg-manage.sh  -o 豬豬俠       #--- 輸出用戶【豬豬俠】的配置文件
        #
        ./wg-manage.sh  -R              #--- 重啟服務(wù)器
        #
        ./wg-manage.sh  -s              #--- 查看服務(wù)器狀態(tài)

4.3 用戶登錄警報級用戶登錄報告(可選)

添加計劃任務(wù):

# ./1-add-crontab.sh

查看報告:

# cat ./report/wg-report.list
+------------+----------+---------+---------+----------+-------------+----------------+
|日期        |用戶名    |總流浪MiB|IN流量MiB|OUT流量MiB|IP           |遠(yuǎn)程IP          |
+------------+----------+---------+---------+----------+-------------+----------------+
|2021-07-19  |HB清      |.3       |.1       |.2        |172.30.5.23  |113.111.63.250  |
|2021-07-19  |HB穎      |28.9     |3.4      |25.5      |172.30.5.31  |113.111.63.250  |
|2021-07-20  |HB宇      |45.3     |8.3      |37.0      |172.30.5.22  |113.111.63.250  |
|2021-07-20  |HB華      |708.9    |101.6    |607.3     |172.30.5.23  |113.111.63.250  |
+------------+----------+---------+---------+----------+-------------+----------------+

警報需要釘釘API,方法是建立釘釘群,然后添加一個釘釘機(jī)器人,然后把得到的api url寫入到env.sh即可。

測試警報:

# ./wg-login-alert-cron.sh

5 總結(jié)

真的好好用!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容