drew1kun.rpi_network
Ansible 角色:rpi_network
这个角色做以下事情:
- 配置无线适配器(内置和外置 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 密码
许可证
作者信息
Andrew Shagayev | 电子邮件