0

Django 管理 OpenVPN 账户

 1 year ago
source link: https://blog.51cto.com/liubin0505star/5916392
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Django 管理 OpenVPN 账户

精选 原创

liubin0505star 2022-12-06 16:39:41 博主文章分类:编程脚本 ©著作权

文章标签 MySQL Django PAM 文章分类 Python 编程语言 阅读数197

由于公司办公网络不受我们管控,我们日常又需要远程拨入办公网络进行工作的需求,我们就选择了 OpenVPN 拨入公司网络的方案,为每位开发同事分发一个密钥文件,考虑后期维护的便捷性,计划改为 OpenVPN + MySQL + PAM 的验证方式,并利用 Django 开发一个页面来对 VPN 账户的日常维护,例如创建账户后自动发送邮件、删除账户、账户登录审计等

OpenVPN + MySQL + PAM 架构的搭建与配置,这里就不再说明了,网上的配置文档特别的多,但是有一点要说明的是:我测试用的 OpenVPN 版本为 2.4.8 和 2.4.12 依然还有模块的验证错误问题,还需要 openvpn-2.0.9 编译后的 openvpn-auth-pam.so 模块文件才能用

Django 主要是利用 pymysql 调用 MySQL 数据库的 OpenVPN 的表信息进行操作,结果返回给前端的请求的 Ajax 然后进行展示,具体的代码因为还没完全写好,而且比较烂暂时先不码在这了…

Django 开发的管理页面的 demo 如下:

Django 管理 OpenVPN 账户_PAM
Django 管理 OpenVPN 账户_MySQL_02
Django 管理 OpenVPN 账户_PAM_03

当前 OpenVPN 页面功能设计的是:创建账户按钮、密码重置按钮、删除账户按钮,在其下方的两个表格显示的分别是:当前 OpenVPN 账号列表信息和 最近 OpenVPN 用户拨入信息。

当前的手动创建的账号以邮箱为准,创建成功后,对应邮箱会收到账号和密码信息,创建账户成功后,页面的账户列表内容信息会自动刷新并显示刚新创建的账户,后续会继续完善相关功能,例如创建的时候密码自动生成;删除的时候自动列出当前已存在的账户等。

  • 打赏
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK