Introduction of a new device class (teacherlaptop).

- Wifi-devices will be managed by NetworkManager
 - (USB-)Dockingstation with same MAC as internal device
   will be assigned to virbr1
 - users with role-teacher have privilege
   - to create new NetworkManager connections
   - install additional software
   - change luks-key
 - package plasma-discover will not be removed (for teacherlaptops)
 - http-proxy-Settings will be configured by auto-detect
 - providing sudo-script to mount default-school from server after
   wireguard-connection is established
This commit is contained in:
Raphael Dannecker 2024-04-28 18:38:11 +02:00
parent d46e1199ad
commit 06d7360677
9 changed files with 112 additions and 2 deletions

View file

@ -1,6 +1,20 @@
---
# temporary disable network manager
- name: Use iwd but ignore interfaces managed by systemd-networkd (wlan0,en*)
- name: Use iwd but ignore interfaces managed by systemd-networkd (en*)
blockinfile:
dest: /etc/NetworkManager/NetworkManager.conf
block: |
[device]
match-device=interface-name:wl*
wifi.backend=iwd
[connection]
match-device=interface-name:wl*
ipv4.route-metric=2048
[keyfile]
unmanaged-devices=interface-name:en*;interface-name:vm*
when: groups.teacherlaptop is defined and inventory_hostname in groups.teacherlaptop
- name: Use iwd for USB-Wlan-Sticks but ignore interfaces managed by systemd-networkd (wlan0,en*)
blockinfile:
dest: /etc/NetworkManager/NetworkManager.conf
block: |
@ -12,6 +26,7 @@
ipv4.route-metric=2048
[keyfile]
unmanaged-devices=interface-name:wlan0;interface-name:en*;interface-name:vm*
when: not (groups.teacherlaptop is defined and inventory_hostname in groups.teacherlaptop)
- name: Enable Networkmanager
ansible.builtin.systemd:
@ -36,6 +51,16 @@
line: "MACAddress={{ ansible_facts[ansible_interfaces | select('search', '^en.*') | first].macaddress }}"
when: ansible_interfaces | select('search', '^en.*')
- name: Configure systemd-networkd ethernet.network
ansible.builtin.copy:
dest: /etc/systemd/network/35-ethernet.network
content: |
[Match]
Name=enx{{ ansible_facts[ansible_interfaces | select('search', '^enp.*') | first].macaddress | replace(':','') }}
[Network]
Bridge=virbr1
when: groups.teacherlaptop is defined and inventory_hostname in groups.teacherlaptop
- name: Configure systemd-networkd ethernet.network
ansible.builtin.copy:
dest: /etc/systemd/network/40-ethernet.network
@ -88,3 +113,9 @@
DHCP=yes
[DHCPv4]
UseDomains=true
when: not (groups.teacherlaptop is defined and inventory_hostname in groups.teacherlaptop)
- name: Enable systemd-networkd
ansible.builtin.systemd:
name: systemd-networkd.service
enabled: True