# ---------------------------------------------------------------------------- #
## \author Sebastien Beaugrand
## \sa http://beaugrand.chez.com/
## \copyright CeCILL 2.1 Free Software license
## \note Client ip example : 10.66.0.3 gateway 10.66.0.2
## \note File transfert example :
## server> python3 -m http.server
## client> http://10.66.0.2:8000
# ---------------------------------------------------------------------------- #
---
- name: psk
include_vars: hotspot-pr-psk.yml
- name: uuid
shell:
cmd: >
grep uuid /etc/NetworkManager/system-connections/hotspot.nmconnection ||
uuidgen | sed 's/^/uuid=/'
register: uuid
changed_when: no
become: yes
- name: /etc/NetworkManager/system-connections/hotspot.nmconnection
blockinfile:
path: /etc/NetworkManager/system-connections/hotspot.nmconnection
create: yes
mode: 0600
block: |
[connection]
id=hotspot
{{ uuid.stdout }}
type=wifi
autoconnect=false
[wifi]
hidden=true
mode=ap
ssid=hotspot
[wifi-security]
key-mgmt=wpa-psk
psk={{ psk }}
[ipv4]
address1={{ ip }}/24
gateway={{ gateway }}
method=shared
[ipv6]
addr-gen-mode=stable-privacy
method=shared
[proxy]
register: nmconnection
become: yes
- name: /sbin/tcpdump-dns.sh
copy:
src: tcpdump-dns.sh
dest: /sbin/
mode: 0755
become: yes
- name: /sbin/tcpdump-pr-dns.py
copy:
src: tcpdump-pr-dns.py
dest: /sbin/
when: "lookup('fileglob', 'tcpdump-pr-dns.py') != []"
become: yes
- name: tcpdump-dns.service
blockinfile:
path: /etc/systemd/system/tcpdump-dns.service
create: yes
block: |
[Unit]
Description=tcpdump-dns service
[Service]
ExecStart=/sbin/tcpdump-dns.sh {{ iface }} {{ ip }}
register: service
become: yes
- name: daemon-reload
systemd_service:
daemon_reload: yes
when: service.changed
become: yes
- name: /sbin/hotspot-pr-.sh
copy:
src: hotspot-pr-.sh
dest: /sbin/
when: "lookup('fileglob', 'hotspot-pr-.sh') != []"
become: yes
- name: /etc/NetworkManager/dnsmasq-shared.d/dnsmasq-pr-.conf
copy:
src: dnsmasq-pr-.conf
dest: /etc/NetworkManager/dnsmasq-shared.d/
when: "lookup('fileglob', 'dnsmasq-pr-.conf') != []"
register: dnsmasq
become: yes
- name: restart NetworkManager service
systemd_service:
name: NetworkManager.service
state: restarted
when: nmconnection.changed or dnsmasq.changed
become: yes
- name: start nftables service
systemd_service:
name: nftables.service
enabled: yes
state: started
become: yes