drew1kun.rpi_network

Ansible 角色:rpi_network

MIT 许可 Galaxy 角色

这个角色做以下事情:

  • 配置无线适配器(内置和外置 USB)以根据 MAC 地址拥有持久名称(如 wlan0、wlan1 等)
  • 设置无线适配器从 DHCP 获取 IP 地址
  • 设置有线网络适配器从 DHCP 获取 IP 地址
  • 设置有线网络适配器获取额外的静态 IP 地址
  • 通过配置的默认网关设置默认 IP 路由

要求

注意: 此角色需要 ansible 进行事实收集!

需要以下发行版(或衍生版)之一:

角色变量

变量 描述 默认值
rpi_network_LAN 有线 LAN 接口 eth0
rpi_network_WLAN 无线 LAN 接口 wlan0
rpi_network_LAN_ip LAN 接口静态 IP 地址 192.168.3.2
rpi_network_LAN_netmask LAN 接口子网掩码 255.255.255.0
rpi_network_LAN_gw LAN 接口的默认网关 IP 地址 192.168.3.1
rpi_network_wireless 使用 wpa_supplicant 配置无线连接 true
rpi_network_wpa_supplicant_conf wpa_supplicant 配置文件路径 /etc/wpa_supplicant/wpa_supplicant.conf
rpi_network_wifi_APs 需要在 wpa_supplicant 中配置的无线接入点列表 defaults/main.yml

注意! 如果 rpi_network_wireless 设置为 true,请确保覆盖 vault_rpi_network_wifi_APs 变量,因为它包含您的无线网络的敏感数据,如 WPA 密码和网络 ESSID...

强烈建议使用 [ansible-vault][ansible-vault-link] 加密。

在运行任何使用此角色的剧本之前,请在 ansible.cfg 中添加以下内容:

[defaults]
vault_password_file = .vault.key

依赖关系

示例剧本

- hosts: rpi_3
  gather_facts: yes

  vars_files:
  - vars/vault.yml  # 强烈建议使用 ansible-vault 来存储敏感信息

  roles:
  - role: drew1kun.rpi_network
    rpi_network_LAN_ip: 10.0.0.1
    rpi_network_LAN_netmask: 255.255.255.0
    rpi_network_LAN_gw: 10.0.0.254
    rpi_network_wifi_APs:
    - id_str: home
      hidden: no
      essid: "{{ vault_rpi_bootstrap__rpi_network_wifi_APs[0].essid }}"
      passphrase: "{{ vault_rpi_bootstrap__rpi_network_wifi_APs[0].passphrase }}"
      priority: 10
    when: ansible_os_family == 'Debian'

vars/vault.yml:

vault_rpi_bootstrap__rpi_network_wifi_APs:
# 只有敏感内容放在这里:
- essid: 您的敏感 ESSID
  passphrase: 您的安全 WPA 密码

许可证

MIT

作者信息

Andrew Shagayev | 电子邮件

关于项目

Ansible role for Raspberry Pi basic network configuration.

安装
ansible-galaxy install drew1kun.rpi_network
许可证
mit
下载
81
拥有者