Aisbergg.networkmanager

Ansible 角色: aisbergg.networkmanager

这个 Ansible 角色用于在 Debian、RedHat 和 Arch Linux 发行版上安装和配置 NetworkManager,并管理网络连接。

需求

无。

角色变量

变量 默认值 备注
networkmanager_redhat_enablerepo 安装 NetworkManager 时要启用的仓库。仅适用于 RedHat 系统。
networkmanager_debian_repo {{ ansible_distribution_release }}-backports 安装时使用的仓库。仅适用于 Debian 系统。
networkmanager_extra_packages [] 要安装的附加软件包列表,例如 wireguard
networkmanager_service_enabled true 启用 NetworkManager 服务。
networkmanager_service_state started 管理 NetworkManager 服务的状态
可选值:
  • reloaded
  • restarted
  • started
  • stopped
networkmanager_service_restart_on_change true 在配置更改时重启 NetworkManager 服务。
networkmanager_connections [] 网络连接列表。参数可以在 这里 查找。
networkmanager_config {} 主 NetworkManager 配置。可用选项请参阅 NetworkManager.conf.5 手册页。选项需要以键值对的形式提供。请参见下面的示例部分以获取正确的语法。
networkmanager_conf_d {} 将放入 conf.d/ 目录的 NetworkManager 配置列表。请参见下面的示例部分以获取正确的语法。

依赖关系

依赖于 community.general 集合。

示例 Playbook

- hosts: all
  vars: 
    vars:
      networkmanager_service_enabled: true
      networkmanager_service_state: started
      
      networkmanager_config:
        logging:
          level: WARN
          domains: ALL

      networkmanager_conf_d:
        "mac-address":  # -> conf.d/mac-address.conf
          "device-mac-randomization":
            # "yes" 已经是扫描的默认值
            "wifi.scan-rand-mac-address": true

          "connection-mac-randomization":
            # 为每个以太网连接随机化 MAC
            "ethernet.cloned-mac-address": random
            # 为每个 WiFi 生成一个随机 MAC 并永久关联这两个。
            "wifi.cloned-mac-address": random
      
      networkmanager_connections:
        # 设置默认接口上的 DNS 解析器
        - name: "{{ ansible_default_ipv4.interface }}"
          type: "{{ 'ethernet' if ansible_default_ipv4.type == 'ether' else omit }}"
          dns4: ['9.9.9.9']
          dns4_search: example.org

  roles:
    - aisbergg.networkmanager

许可

MIT

作者信息

Andre Lehmann (aisberg@posteo.de)

关于项目

Install and configure NetworkManager and manage network connections using nmcli on Linux systems.

安装
ansible-galaxy install Aisbergg.networkmanager
许可证
mit
下载
1k
拥有者
DevOps, Go, Python, Bash, Ansible, Docker, GitLab-CI, Linux, MariaDB, PostgreSQL, Open Source, Communication Design, Running