83 lines
1.9 KiB
YAML
83 lines
1.9 KiB
YAML
# SPDX-License-Identifier: BSD-3-Clause
|
|
---
|
|
- name: Install packages required to set up mock wifi network
|
|
package:
|
|
name:
|
|
- hostapd
|
|
- NetworkManager
|
|
- wpa_supplicant
|
|
state: present
|
|
|
|
- name: Ensure NetworkManager is running
|
|
service:
|
|
name: NetworkManager
|
|
state: started
|
|
|
|
- name: Copy server certificates
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: "/etc/pki/tls/{{ item }}"
|
|
with_items:
|
|
- server.key
|
|
- dh.pem
|
|
- server.pem
|
|
- cacert.pem
|
|
|
|
- name: Create hostapd config
|
|
copy:
|
|
content: |
|
|
interface=wlan1
|
|
driver=nl80211
|
|
ctrl_interface=/var/run/hostapd
|
|
ctrl_interface_group=0
|
|
ssid=mock_wifi
|
|
country_code=EN
|
|
hw_mode=g
|
|
channel=7
|
|
auth_algs=3
|
|
wpa=3
|
|
ieee8021x=1
|
|
eapol_version=1
|
|
wpa_key_mgmt=WPA-EAP WPA-PSK
|
|
wpa_passphrase=p@55w0rD
|
|
eap_reauth_period=3600
|
|
eap_server=1
|
|
use_pae_group_addr=1
|
|
eap_user_file=/etc/hostapd/hostapd.eap_user
|
|
ca_cert=/etc/pki/tls/cacert.pem
|
|
dh_file=/etc/pki/tls/dh.pem
|
|
server_cert=/etc/pki/tls/server.pem
|
|
private_key=/etc/pki/tls/server.key
|
|
private_key_passwd=test
|
|
logger_syslog=-1
|
|
logger_syslog_level=0
|
|
dest: /etc/hostapd/wireless.conf
|
|
|
|
- name: Create eap_user_file config
|
|
copy:
|
|
content: |
|
|
* TLS
|
|
dest: /etc/hostapd/hostapd.eap_user
|
|
|
|
- name: Load mac80211_hwsim kernel module to mock a wifi network
|
|
shell: modprobe mac80211_hwsim && sleep 5
|
|
|
|
- name: Restart NetworkManager and wpa_supplicant
|
|
service:
|
|
name: "{{ item }}"
|
|
state: restarted
|
|
with_items:
|
|
- NetworkManager
|
|
- wpa_supplicant
|
|
|
|
- name: Configure wlan0 and wlan1 (mock wifi interfaces)
|
|
shell: |
|
|
ip link set up wlan0
|
|
ip link set up wlan1
|
|
nmcli device set wlan1 managed off
|
|
ip add add 203.0.113.1/24 dev wlan1
|
|
sleep 5
|
|
|
|
- name: Start hostapd
|
|
shell: hostapd -B /etc/hostapd/wireless.conf && sleep 5
|