layereight.wifi
ansible-wifi 
一个简单的 Ansible 角色,用于在类似 Debian 的系统上安装和配置 wpa_supplicant。
要求
- 需要一个具有 sudo 权限的用户
通过 Ansible Galaxy 安装角色
典型的运行命令:
$ ansible-galaxy install layereight.wifi
如果你想在一个包含其他角色的集合中安装特定版本,可以使用角色文件:
$ ansible-galaxy install -r roles.yml
roles.yml
- name: layereight.wifi
src: layereight.wifi
version: "1.3.0"
- 还可以参考 Ansible Galaxy 文档 和 Ansible Galaxy 介绍
角色变量
必填项
wifi_ssid: 你的 Wifi SSID。
wifi_psk: 你的 Wifi 密码。
可选项
wifi_country
- 默认值: "DE"
- 描述: 设备当前操作的国家的 国家代码。
wifi_control_interface_access_group
- 默认值: root
- 描述: 可用于允许非 root 用户使用控制接口。 更多信息见 wpa_supplicant
wifi_apt_cache_valid_time
- 默认值: 86400
- 描述: APT 缓存有效的秒数。
wifi_rfkill_unblock
- 默认值: true
- 描述: 当设置为
true
时,使用rfkill
解锁 wifi 接口。
wifi_disable_dhcpcd_workaround
- 默认值: false
- 描述: dhcpcd 会干扰 wpa_supplicant 的正常接口配置。此解决方法将会为给定的 wifi_disable_dhcpcd_workaround_interface 禁用 dhcpcd 以及 wpa_supplicant 钩子。
wifi_disable_dhcpcd_workaround_interface
- 默认值: wlan0
- 描述: 我们将为该网络接口应用 wifi_disable_dhcpcd_workaround。
示例剧本
典型剧本运行命令:
$ ansible-playbook -i inventory wifi.yml
inventory
[wifihosts]
myhost ansible_host=192.168.0.101 ansible_user=myuser ansible_ssh_pass=password
wifi.yml
- hosts: wifihosts
roles:
- layereight.wifi
vars:
wifi_ssid: "my_wifi_name"
wifi_psk: "my_wifi_password"