您正在查看: Other 分类下的文章

OpenVPN 管理器:面向企业 VPN 管理的完整开源解决方案

管理整个组织内的 VPN 用户不应该再像 2005 年那样了。不再需要使用包含凭据的电子表格、手动配置文件,也不再需要费心去了解“现在谁在线?”。

OpenVPN Manager——一个开源的 Web 应用程序,它为您的 VPN 基础架构带来现代化的用户管理;同时发布的还有OpenVPN Client——一个配套工具,它可以将所有内容无缝集成。

问题

如果你曾经为团队管理过 OpenVPN 服务器,你就会了解这些痛点:

  • 用户管理一片混乱——添加用户意味着生成证书、编辑配置,还要祈祷别搞砸了什么。
  • 完全看不到任何信息——谁在线?带宽使用情况如何?连接历史记录?祝你好运,希望能找到答案。
  • 访问控制难题——工程部门和人力资源部门需要不同的网络访问权限,但 OpenVPN 并没有简化这一过程。
  • 审计要求——当安全部门询问“谁在何时访问了什么?”时,您可能需要花费数小时翻阅日志。
  • 承包商访问权限——本应过期但从未过期的临时用户。

解决方案:两个项目,一个完整系统

OpenVPN 管理器(Web 应用程序)

整个系统的核心。一个基于网页的管理面板,您可以在这里管理所有事项:

基于角色的访问控制的用户管理

三个角色确保一切井然有序:

  • 用户——可以查看和编辑自己的个人资料
  • 管理员——可以创建和管理团队中的用户
  • 管理员——拥有所有权限

非常适合团队负责人需要管理团队的 VPN 访问权限,而又不想麻烦 IT 部门的组织。


基于组的网络访问

定义用户组(例如工程组、人力资源组、财务组),并为每个用户分配网络段。用户继承其所属用户的访问权限。简单、可扩展且可审计。


VPN IP 自动分配

只需配置一次 VPN 网络范围,系统就会自动为新用户分配下一个可用的 IP 地址。从此告别 IP 地址冲突和手动追踪。

会话跟踪与审核

最后,了解您的 VPN 信息:

  • 实时连接状态
  • 用户带宽使用情况
  • 完整的连接历史记录
  • 所有变更的完整审计跟踪


限时访问

需要授予承包商两周的访问权限?设置日期valid_from即可valid_to。访问权限会自动过期。再也不用担心忘记登录了。

OpenVPN客户端(集成脚本)

将你的 OpenVPN 服务器连接到管理器的 Go 二进制文件:

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ 
│ OpenVPN 服务器 │─────────────▶│ OpenVPN 客户端 │────▶│ OpenVPN 管理器
│ │ │ │ (Go 二进制文件)                           │ │ (Web 应用) │ 
└─────────────────┘ └───────────────────┘ └───────────────────┘ 
                               │ 
                               ▼ 
                        ┌───────────────────┐ 
                        │ nftables/iptables 
                        │ │ (防火墙) │ 
                        └─────────────────┘

四个二进制文件处理所有事情:

BinaryPurpose 功能openvpn-login包括:根据 API 验证用户凭据openvpn-connect;分配 IP 地址;根据组成员身份推送路由openvpn-disconnect;记录会话结束和流量统计信息;openvpn-firewall为每个用户生成 nftables/iptables 规则。

完整安装指南

步骤 1:安装 OpenVPN 管理器

选项 A:DEB 软件包(Debian/Ubuntu)

VERSION="1.0.1" 
wget https://github.com/tldr-it-stepankutaj/openvpn-mng/releases/download/v${VERSION}/openvpn-mng_${VERSION}_linux_amd64.deb 
sudo dpkg -i openvpn-mng_${VERSION}_linux_amd64.deb

选项 B:RPM 软件包(RHEL/AlmaLinux/Rocky)

VERSION="1.0.1" 
wget https://github.com/tldr-it-stepankutaj/openvpn-mng/releases/download/v${VERSION}/openvpn-mng_${VERSION}_linux_amd64.rpm 
sudo dnf install ./openvpn-mng_${VERSION}_linux_amd64.rpm

选项 C:Docker

docker pull tldrit/openvpn-mng:latest

步骤 2:配置数据库

# PostgreSQL 
sudo -u postgres psql 
CREATE USER openvpn WITH PASSWORD 'your-secure-password'; 
CREATE DATABASE openvpn_mng OWNER openvpn; 
\q

步骤 3:配置 OpenVPN 管理器

# 生成密钥
JWT_SECRET=$(openssl rand -hex 32) 
VPN_TOKEN=$(openssl rand -hex 32)
echo "JWT_SECRET: $JWT_SECRET" 
echo "VPN_TOKEN: $VPN_TOKEN"
# 编辑配置文件
sudo nano /etc/openvpn-mng/config.yaml

关键设置:

database:
  type: "postgres"
  host: "localhost"
  password: "your-db-password"
  database: "openvpn_mng"
auth:
  jwt_secret: "your-generated-jwt-secret"
api:
  vpn_token: "your-generated-vpn-token"
vpn:
  network: "10.90.90.0/24"
  server_ip: "10.90.90.1"

步骤 4:启动 OpenVPN 管理器

sudo systemctl enable --now openvpn-mng.service
# 验证
curl http://localhost:8080/

默认登录名:admin/ admin123— 请立即更改!

步骤 5:安装 OpenVPN 客户端

选项 A:DEB 软件包(Debian/Ubuntu)

VERSION="1.0.0" 
wget https://github.com/tldr-it-stepankutaj/openvpn-client/releases/download/v${VERSION}/openvpn-client_${VERSION}_linux_amd64.deb 
sudo dpkg -i openvpn-client_${VERSION}_linux_amd64.deb

选项 B:RPM 软件包(RHEL/AlmaLinux/Rocky)

VERSION="1.0.0" 
wget https://github.com/tldr-it-stepankutaj/openvpn-client/releases/download/v${VERSION}/openvpn-client_${VERSION}_linux_amd64.rpm 
sudo dnf install ./openvpn-client_${VERSION}_linux_amd64.rpm

选项 C:从源代码构建

git clone https://github.com/tldr-it-stepankutaj/openvpn-client.git 
cd openvpn-client 
make build-linux 
sudo make install

步骤 6:配置 OpenVPN 客户端

sudo mkdir -p /etc/openvpn/client 
sudo nano /etc/openvpn/client/config.yaml
api:
  base_url: "http://127.0.0.1:8080"
  token: "your-vpn-token-from-step-3"
  timeout: 10s
openvpn:
  session_dir: "/var/run/openvpn"
firewall:
  type: "nftables"
  nftables:
    rules_file: "/etc/nftables.d/vpn-users.nft"
    reload_command: "/usr/sbin/nft -f /etc/sysconfig/nftables.conf"

步骤 7:配置 OpenVPN 服务器

添加到您的 OpenVPN 服务器配置中:

# VPN network (must match OpenVPN Manager config)
server 10.90.90.0 255.255.255.0
topology subnet
# Authentication via OpenVPN Manager
username-as-common-name
auth-user-pass-verify /usr/bin/openvpn-login via-file
client-connect /usr/bin/openvpn-connect
client-disconnect /usr/bin/openvpn-disconnect
script-security 2

步骤 8:设置防火墙规则定时任务

# 创建初始规则
sudo mkdir -p /etc/nftables.d 
sudo touch /etc/nftables.d/vpn-users.nft 
sudo /usr/bin/openvpn-firewall
# 添加 cron 任务
echo "*/5 * * * * root /usr/bin/openvpn-firewall >> /var/log/openvpn-firewall.log 2>&1" | sudo tee /etc/cron.d/openvpn-firewall

步骤 9:重启 OpenVPN

sudo systemctl restart openvpn@server

这一切是如何协同运作的

  1. 用户使用用户名和密码连接
  2. openvpn-login使用 Manager API 验证凭据
  3. openvpn-connect获取用户的组和网络,然后推送路由
  4. 防火墙规则根据用户的组成员身份限制流量
  5. 会话在管理器数据库中进行跟踪。
  6. 管理员可在网页界面查看实时连接。
  7. openvpn-disconnect 会在用户断开连接时记录流量统计信息。

技术栈

OpenVPN 管理器:

  • Go + Gin 框架
  • GORM(PostgreSQL/MySQL)
  • JWT 身份验证
  • Bootstrap 5 Web UI

OpenVPN客户端:

  • Go
  • nftables/iptables 支持
  • 结构化日志记录(slog)

两者都编译成单个二进制文件,可以部署到任何地方。

接下来是什么?

计划功能:

  • LDAP/Active Directory 集成
  • 双因素身份验证
  • WireGuard 支持
  • 普罗米修斯指标
  • Terraform 提供程序

开始使用

OpenVPN 管理器:

OpenVPN客户端:

这两个项目均采用 Apache 2.0 许可协议。欢迎贡献代码!

如果您厌倦了传统的 VPN 用户管理方式,不妨试试这个方法。如果您觉得它有用,请在 GitHub 上点个星标,非常感谢!

原文:https://medium.com/@stepan_95301/openvpn-manager-a-complete-open-source-solution-for-enterprise-vpn-management-fe214b8f4627

Ubuntu 20.04 中使用OpenVPN搭建VPN服务器

和其它的文章不同,以下是很简单的搭建方法
1、升级系统打上补丁可以使用以下命令行

sudo apt update
sudo apt upgrade -y

2、下载openvpn的安装脚本,使用脚本安装省去安装证书等过程。我们可以通过以下命令下载脚本并运行脚本

wget https://git.io/vpn -O openvpn-ubuntu-install.sh
chmod -v +x openvpn-ubuntu-install.sh
sudo ./openvpn-ubuntu-install.sh

在安装过程选择如下图:
主要选项是协议一般选择UDP,DNS可以任意选择,Client名称可以自己名字,运行完脚本最终会在 /root目录下生成一个 .ovpn文件,这个正是我们上网的凭证文件。同时vpn服务也会自动安装好了
3、我们可以通过以下命令来管理vpn服务

sudo systemctl status openvpn-server@server.service
sudo systemctl start openvpn-server@server.service
sudo systemctl stop openvpn-server@server.service
sudo systemctl restart openvpn-server@server.service

4、如果我们还要添加用户可以继续运行以下脚本

 sudo ./openvpn-ubuntu-install.sh

端口测试

nc -vuz 159.135.192.235 1194
// Connection to 159.135.192.235 1194 port [udp/openvpn] succeeded!

https://gist.github.com/ebta/301f286fa9056d67e61bfc7cedd4ad56
相关链接:
https://linuxconfig.org/basic-ubuntu-22-04-openvpn-client-server-connection-setup
https://kifarunix.com/install-and-setup-openvpn-server-on-ubuntu-22-04/
https://www.cyberciti.biz/faq/ubuntu-20-04-lts-set-up-openvpn-server-in-5-minutes/

如何使用 Trustivon 数字钱包(Vault)管理您的数字资产

概述

本教程将指导您如何使用 Trustivon 数字钱包(Vault)管理您的数字资产,包括创建钱包、存储资产和发起交易。

先决条件

操作步骤

1. 打开 Trustivon 数字钱包

浏览器访问地址:https://vault.trustivon.com

img

2. 登录和注册

选项一:电子邮件注册和登录

img

  • 点击“登录”按钮
  • 输入邮箱和密码
  • 点击“登录”按钮
  • 登录您填写的邮箱,查看激活邮件中的链接,然后点击激活。
  • 返回登录界面,输入邮箱和密码完成登录。

选项二:使用 MetaMask 钱包登录

  • 点击“使用以太坊登录”按钮
  • 在弹出的 MetaMask 对话框中,单击确认按钮
  • 自动注册和登录完成

3. 管理资产

查看仪表盘

img

1. 存款地址

登录后,您将自动获得一个分配的 MPC 钱包存款地址,用于接收链上资产。

当此存款地址收到支持的链上资产时,资产将自动记入您的登录账户余额。

Trustivon 测试网目前支持的存款代币如下:

代币符号 令牌地址 标记小数
0x985B6b5B751A0FE61498A36B29F9E73Fe5d733f4 18
美国财政部 0x50fC77e9115CF0CD317A2c341023E454870dd011 18
美元 0x69d0E122E8e207250EB0E84f1eAB7e429A4a27dA 18
比特币 0xF6c3ED439B8534D3A93C0750a00FF8ff71f523cd 18
TC Chain Native Token 18

2. 账户余额

功能介绍:将支持的资产存入指定充值地址后,您的链下账户余额将会更新。您无需任何区块链相关经验,即可通过 Web2 方式使用中心化资产。其充值和提现功能与传统交易所的功能相同。

提现:支持将余额提现到区块链。点击“提现”按钮,打开提现对话框,选择提现资产,输入提现金额和链上接收地址,即可完成链上提现。

img

3. 内部调拨

img

请输入相关参数以完成内部交易转账。

查看交易记录

img

  • 存款记录:链上存款记录
  • 转账记录:内部交易记录
  • 提现记录:链上提现记录

相关链接

新手完全指南:从安装 MetaMask 到完成你在 Trustivon 的第一笔链上转账

这篇文章面向完全没有区块链基础的小白用户。
如果你从未接触过区块链、不会使用钱包,甚至不知道“链”“转账”是什么意思,本教程将带你从零开始学会:

完成阅读后,你将能完整理解一笔区块链交易的运作方式。


一、MetaMask 是什么?为什么要安装它?

MetaMask 是目前最常用的区块链钱包,作用包括:

  • 用于管理你的区块链账户
  • 登录区块链应用(类似 Web3 的“微信登录”)
  • 发起链上转账
  • 添加新的区块链网络
  • 查看资产余额

你可以将 MetaMask 理解为进入区块链世界的入口工具。
下面开始正式安装。


二、安装 MetaMask(以电脑 Chrome 浏览器为例)

步骤 1:访问 MetaMask 官方下载网址

为了安全,请务必访问官方地址:
https://metamask.io/download/

步骤 2:选择浏览器版本(以 Chrome 为例)

点击 “Install MetaMask for Chrome”,跳转至扩展商店。

步骤 3:安装扩展插件

在 Chrome 扩展页面点击:
“Add to Chrome” → “Add extension”

安装完成后 MetaMask 会自动打开。

步骤 4:创建新钱包

  • 点击 “Create a new wallet”
  • 设置钱包密码(这个密码只用于本地浏览器)
  • 按提示备份助记词
    • 不要截图
    • 不要发送给任何人
    • 不要存到微信、QQ
    • 助记词丢失后,资产无法找回

恭喜,你已经成功安装了区块链钱包。


三、通过 Trustivon ChainList 添加 Trustivon 测试网

ChainList 是一个快速添加区块链网络的工具。Trustivon 提供了独立的链配置入口。

步骤 1:打开 Trustivon ChainList

访问:
https://chainlist.trustivon.com/

页面中会看到 Trustivon Testnet 网络的配置项。

步骤 2:连接钱包

点击右上角 “Connect Wallet”
MetaMask 弹出提示 → 选择账户 → 点击连接。

步骤 3:将 Trustivon 测试网添加到 MetaMask

点击 “Add to MetaMask”
MetaMask 会弹出请求
→ 点击 “Approve”
→ 再点击 “Switch Network”

此时你的钱包已成功切换到 Trustivon Testnet 网络。


四、通过 Trustivon Faucet 领取 TC 测试币

测试网的转账不需要真币,TC 是免费的测试代币。

步骤 1:访问水龙头网站

打开:
https://faucet.trustivon.com/

步骤 2:复制你的钱包地址

打开 MetaMask
点击你的地址进行复制
地址格式一般以 “0x” 开头。

步骤 3:粘贴地址并领取测试币

将地址粘贴到输入框
点击“领取”或“Claim”

稍等几秒,你的钱包将收到 TC 测试币。


五、在 MetaMask 中发起第一笔链上转账

这是区块链最核心的操作。

步骤 1:打开 MetaMask,确认当前网络为 Trustivon Testnet

如果不是,请手动切换。

步骤 2:点击 “Send”

步骤 3:填写接收地址

你可以准备第二个地址,或使用朋友的地址。

步骤 4:输入转账金额

例如输入:
0.1 TC

步骤 5:确认 Gas Fee(矿工费)

测试网费用很低。
点击 “Confirm” 发送交易。

交易会进入网络打包,这需要几秒时间。


六、在 Trustivon Scan 查看交易状态

区块链浏览器是用于查询所有链上数据的工具。

步骤 1:访问 Trustivon Scan

打开:
https://scan.trustivon.com/

步骤 2:查看交易信息

你可以通过以下方式查看交易:

  • 搜索交易哈希(MetaMask 中会显示)
  • 搜索你的钱包地址
  • 查看最新区块列表

在浏览器中可以看到:

  • 交易是否成功
  • 发起时间
  • 发送地址/接收地址
  • Gas 消耗
  • 区块高度

这表明你的转账已成功记录在链上。


七、你已完成整个链上流程

到这里,你已经独立完成了:

  • 安装 MetaMask
  • 添加 Trustivon 自定义网络
  • 领取测试币
  • 发起链上转账
  • 在区块链浏览器查询交易

这意味着你已经具备操作任何 EVM 系列区块链的能力,例如 Ethereum、BNB Chain、Polygon、Arbitrum 等。

Trustivon 提供的工具让新用户能够快速、低门槛地体验区块链操作流程。