ansibleguy.infra_openvpn

进行中!请勿在生产环境中使用!

OpenVPN Logo

Ansible 角色 - OpenVPN 客户端到站点 VPN

警告: 此角色仍在开发中。请勿尝试在生产环境中使用

用于部署 OpenVPN 客户端到站点 VPN 设置的角色。

请请我喝杯咖啡

Molecule 测试状态 YamlLint 测试状态 PyLint 测试状态 Ansible-Lint 测试状态 Ansible Galaxy

Molecule 日志:简短完整

OpenVPN 版本

此角色使用 开源 OpenVPN 社区 版。

为什么要使用社区版?

  • 优点:

    • 无需许可费用 - 一台服务器可以扩展到数千个客户端而无需重大成本
    • 所有主要功能都在开源版本中
    • 可以使用 Ansible 管理
  • 缺点:

    • 此版本没有图形(_网页_)用户界面!

      如果您想要一个漂亮的网页界面来点击 => 请查看 OpenVPN 访问服务器

测试过的系统:

  • Debian 11
  • Debian 12

安装

# 最新版本
ansible-galaxy role install git+https://github.com/ansibleguy/infra_openvpn

# 从 galaxy 安装
ansible-galaxy install ansibleguy.infra_openvpn

# 或指定自定义角色路径
ansible-galaxy install ansibleguy.infra_openvpn --roles-path ./roles

# 安装依赖
ansible-galaxy install -r requirements.yml

用法

您想要一个简单的 Ansible 图形界面?请查看我的 Ansible WebUI

配置

根据需要定义配置:

openvpn:

您可能想使用 'ansible-vault' 来加密您的密码:

ansible-vault encrypt_string

执行

运行剧本:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

还有一些有用的 标签 可用:

* *

要调试错误 - 您可以在运行时设置 'debug' 变量:

# 警告:将记录密码!
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

要让 OpenVPN 服务自动重启 (_无交互提示_):

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e auto_restart=yes

功能

  • 软件包安装

    • Ansible 依赖 (最小)
  • 配置 *

    • 默认配置: *

    • 默认选项确认: *

    • 默认选项排除

信息

  • 信息: 如果您想了解更多有关配置 OpenVPN 社区的信息,请查看他们的 综合文档

    有趣的页面:

  • 信息: ChromeOS 使用开放网络配置 (ONC) 格式。

    它以 JSON 格式编写,调试起来相当困难,因为您无法获得任何有用的错误消息。

    此角色提供的配置模板可能不适用于每个特殊情况。

    如果您需要排查故障,请查看 ONC 文档。 但请注意:并非每个选项都可能按文档中所述实际工作。

  • 警告: 如果 OpenVPN 实例需要支持与 ChromeOS 客户端的连接 - 您需要将 'openvpn.instances.[name].security.tls_crypt' 选项设置为 'false',因为这在当前的 ChromeOS 实现中不受支持。

  • 注意: 此角色目前仅支持基于 Debian 的系统。

  • 注意: 此角色的大多数功能可以选择启用或禁用。

    有关所有可用选项,请查看位于 主默认文件 的默认配置!

  • 警告: 您提供的并非每个设置/变量都会被检查有效性。配置错误可能会导致角色失效!

  • 信息: 如果您想使用 openvpn.unprivileged: true 来获得 增强的系统安全性,则已安装的 OpenVPN 二进制文件需要支持 iproute2

    该角色将检查二进制文件的兼容性,如果不兼容将失败!

    获取 iproute2 支持的选项:

    • 您必须使用一个编译时启用该选项的二进制文件
    • 卸载现有的 OpenVPN 软件包/二进制文件
    • openvpn 二进制文件复制/链接到 /usr/local/bin
  • 信息: 如果您使用多因素认证,当某些客户端(_如 ChromeOS_)不支持第二个输入字段时,可能会遇到问题!

    您可能需要将 openvpn.server.auth.mfa_separator 设置为您喜欢的任何特殊字符。 (例如:<<<_)

    这使您可以在同一个输入字段中输入两个秘密!比如这样:p4ssW0rd<<<001122

    默认分隔符 : 将始终得到支持 - 即使您设置了自定义分隔符。这允许两种方法都得到支持。

安装
ansible-galaxy install ansibleguy.infra_openvpn
许可证
other
下载
2k
拥有者
Moved to github.com/O-X-L