Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
linux:ansible:ffmuc-rpb4-ol [27.09.2022 14:46. ] djangolinux:ansible:ffmuc-rpb4-ol [27.09.2022 15:43. ] – [Tasks] django
Zeile 582: Zeile 582:
  
 === Playbook "main" === === Playbook "main" ===
-<file java ~/ansible/wireguard-offloader.yml>--- # Ansible Playbook für (statische) Konfiguration eines Offloader auf Basis eines Raspberry PI 4B +<file c++ ~/ansible/wireguard-offloader.yml>--- # Start der YML Datei 
-- name:         raspi_offloader_file.yml  +# Ansible Playbook für (statische) Konfiguration eines Offloader auf Basis eines Raspberry PI 4B 
-  hosts:        raspberry-wireguard +# Aufruf via $ ansible-playbook playbooks/wireguard-offloader.yml für alle Hosts der Gruppe 
-  become:       yes +# bzw. $ ansible-playbook playbooks/wireguard-offloader.yml --limit rpb4-ol-a für nur einen 
-  become_user:  root+# Host mit dem Namen rpb4 aus derm inventory 
 + 
 +- name: wireguard-offloader.yml         # Name des Playbooks 
 +  hosts: ffmuc                          # Hostgruppe für die das Playbook gelten soll 
 +  become: true                          # Rechteerweiterung am Zielsystem via sudo/su 
 +  become_user: root                     # Nutzer für die Ansible Aufgaben auf dem Remote-System
  
   roles:   roles:
-    - basic         # Basiskonfiguration des Hosts (Host-/Username anpassen und System Updaten) +    - role: basic                       # Basiskonfiguration des Hosts (Host-/Username anpassen und System Updaten) 
-    - batman        # Installation und Konfiguration der BATMAN Kernel-Module +      tags: basic 
-    - wireguard     # Installation und Konfiguration des wireguard Tunnels +    - role: batman                      # Installation und Konfiguration der BATMAN Kernel-Module 
-    - vxlan         # Konfiguration von VXLAN für wireguard-Tunnel-Verbindung in Richtung Gateway +      tags: batmam                      # 
-    - ext-respondd  # Installation und Konfiguration des ext-respondd (Statistiken für https://map.ffmuc.net) +    - role: wireguard                   # Installation und Konfiguration des wireguard Tunnels 
-    - hostapd       # Installation und Konfiguration des hostap Treibers für den WiFi-Support +      tags: wireguard                   # 
-    - client-mesh   # Grundkonfiguration von Client und/oder Meshing (V)LANs +    - role: vxlan                       # Konfiguration von VXLAN für wireguard-Tunnel-Verbindung in Richtung Gateway 
-    oled          Konfiguration eines OLEDisplays sofern eines am Respberry 4B verbaut ist +      tags: vxlan                       # 
-    - final         # Reboot nach Abschluss der Konfiguration unseres Offloaders  +    - role: ext-respondd                # Installation und Konfiguration des ext-respondd (Statistiken für https://map.ffmuc.net) 
 +      tags: ext-respondd                # 
 +    - role: hostapd                     # Installation und Konfiguration des hostap Treibers für den WiFi-Support 
 +      when: ( raspberry_wifi == true )  # 
 +      tags: hostapd                     # 
 +    - role: client-mesh                 # Grundkonfiguration von Client und/oder Meshing (V)LANs 
 +      tags: client-mesh                 
 +    - role: final                       # Reboot nach Abschluss der Konfiguration unseres Offloaders 
 +      tags: final                       #
 ... # YML Ende ... # YML Ende
 </file> </file>
Zeile 604: Zeile 616:
 === Rolle "basic" === === Rolle "basic" ===
 == Tasks == == Tasks ==
-<file java ~/ansible/roles/basic/tasks/main.yml>--- # Grundkonfiguration und Systemupgrade des Raspberry Pi OS+<file c++ ~/ansible/roles/basic/tasks/main.yml>---                                     # Grundkonfiguration und Systemupgrade des Raspberry Pi OS
 - include: hostname.yml                 # Hostname ändern - include: hostname.yml                 # Hostname ändern
 - include: hosts.yml                    # /etc/hosts anpassen - include: hosts.yml                    # /etc/hosts anpassen
Zeile 610: Zeile 622:
 - include: rfkill.yml                   # Service rfkill bei Raspberry Pi OS deaktivieren - include: rfkill.yml                   # Service rfkill bei Raspberry Pi OS deaktivieren
 - include: update.yml                   # Update und Upgrade der APT-Pakete - include: update.yml                   # Update und Upgrade der APT-Pakete
-- include: reboot.yml                   # Reboot nach update +- include: reboot.yml                   # Reboot nach Abschluss der Erstinstallation/-konfiguration 
-</file>+...</file>
  
-<file java ~/ansible/roles/basic/tasks/hostname.yml>--- +<file c++ ~/ansible/roles/basic/tasks/hostname.yml>---
-  - name: "Hostname ändern" +
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +
-    shell:  +
-      cmd: hostnamectl set-hostname {{ raspberry_hostname }} +
-</file>+
  
-<file java ~/ansible/roles/basic/tasks/hosts.yml>--- +- name: "Hostname ändern
-  - name: "Template Konfigurationsdatei für /etc/hosts an Ort und Stelle kopieren und Variablen anpassen+  ansible.builtin.command: 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +    cmdhostnamectl set-hostname {{ raspberry_hostname }} 
-    template:  +  changed_whenfalse
-      srctemplates/hosts.j2 +
-      dest: /etc/hosts +
-</file>+
  
-<file java ~/ansible/roles/basic/tasks/usercomment.yml>--- +...
-  - name: "Beschreibung des User 'pi' anpassen" +
-    # https://docs.ansible.com/ansible/latest/modules/user_module.htm +
-    user:  +
-      name: pi +
-      comment: "Raspberry Pi OS System User" +
-      state: present+
 </file> </file>
  
-<file java ~/ansible/roles/basic/tasks/rfkill.yml>--- +<file c++ ~/ansible/roles/basic/tasks/hosts.yml>---
-  - name: "Service rfkill am Raspberry deaktivieren" +
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +
-    shell:  +
-      cmd: rfkill unblock wifi +
-</file>+
  
-<file java ~/ansible/roles/basic/tasks/update.yml>--- +- name: "Template Konfigurationsdatei für /etc/hosts an Ort und Stelle kopieren und Variablen anpassen" 
-  - name: "Update und Upgrade der APT-Pakete+  ansible.builtin.template: 
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html +    srctemplates/hosts.j2 
-    apt:  +    dest: /etc/hosts 
-      upgradedist +    ownerroot 
-      update_cacheyes+    grouproot 
 +    mode'0644' 
 + 
 +...
 </file> </file>
  
-<file java ~/ansible/roles/basic/tasks/reboot.yml>--- +<file c++ ~/ansible/roles/basic/tasks/usercomment.yml>--- 
-  - name: "Reboot nach update+ 
-    # https://docs.ansible.com/ansible/latest/modules/reboot_module.html +- name: "Beschreibung des User 'pi' anpassen" 
-    reboot: +  ansible.builtin.user: 
-</file>+    namepi 
 +    comment: "Raspberry Pi OS System User" 
 +    state: present 
 + 
 +...</file> 
 + 
 +<file c++ ~/ansible/roles/basic/tasks/rfkill.yml>--- 
 + 
 +- name: "Service rfkill am Raspberry deaktivieren" 
 +  ansible.builtin.command: 
 +    cmd: rfkill unblock wifi 
 +  changed_when: false 
 + 
 +...</file> 
 + 
 +<file c++ ~/ansible/roles/basic/tasks/update.yml>--- 
 + 
 +- name: "Zuerst 'apt-get update' ausführen" 
 +  ansible.builtin.apt: 
 +    update_cache: true 
 + 
 +- name: "Alle installierten Pakete Updaten" 
 +  ansible.builtin.apt: 
 +    name: "*" 
 +    state: latest 
 + 
 +...</file> 
 + 
 +<file c++ ~/ansible/roles/basic/tasks/reboot.yml>--- 
 + 
 +- name"Reboot nach update" 
 +  ansible.builtin.reboot: 
 + 
 +...</file>
 == Templates == == Templates ==
 <file java ~/ansible/roles/basic/templates/hosts.j2>127.0.0.1 localhost {{ raspberry_hostname }} <file java ~/ansible/roles/basic/templates/hosts.j2>127.0.0.1 localhost {{ raspberry_hostname }}
Zeile 665: Zeile 694:
 === Rolle "batman" === === Rolle "batman" ===
 == Tasks == == Tasks ==
-<file java ~/ansible/roles/batman/tasks/main.yml>--- # Installation und Konfiguration von BATMAN+<file c++ ~/ansible/roles/batman/tasks/main.yml>--- # Installation und Konfiguration von BATMAN
 - include: install.yml                  # Download des aktuellen BATMAN Archives - include: install.yml                  # Download des aktuellen BATMAN Archives
 - include: compile.yml                  # BATMAN Kernel-Module erzeugen - include: compile.yml                  # BATMAN Kernel-Module erzeugen
 - include: modulloads.yml               # MATMAN-ADV und DUMMY Module laden - include: modulloads.yml               # MATMAN-ADV und DUMMY Module laden
-- include: backport.yml                 # Buster-backports für Installation von batctl vorbereiten +- include: utilsinstall.yml             # Installation der bridge-utils und batctl
-- include: utilsinstall.yml             # Installation der bridge-utils und batctl +
 - include: batmanstart.yml              # Aktivierung von BATMAN_V - include: batmanstart.yml              # Aktivierung von BATMAN_V
 - include: interfaceconfigure.yml       # Konfiguration der Interfaces - include: interfaceconfigure.yml       # Konfiguration der Interfaces
-- include: reboot.yml                   # Rebot nach Ende des Installationsschritts +- include: rsyslog.yml                  # syslog-Anpassungen 
-</file>+- include: reboot.yml                   # Reboot nach Ende des Installationsschritts 
 +... # YML Ende</file>
  
-<file java ~/ansible/roles/batman/tasks/install.yml>--- +<file c++ ~/ansible/roles/batman/tasks/install.yml>---
-  - name: "*BATMAN Installation* : Download des aktuellen BATMAN Archives" +
-    # https://docs.ansible.com/ansible/latest/modules/get_url_module.html +
-    get_url:  +
-      url: https://downloads.open-mesh.org/batman/releases/batman-adv-{{ batman_adv_version }}/batman-adv-{{ batman_adv_version }}.tar.gz +
-      dest: /usr/src/batman-adv-{{ batman_adv_version }}.tar.gz +
-      mode: '0644'+
  
-  - name: "*BATMAN Installation* : Entpacken des BATMAN-Archives" +- name: "Download des aktuellen BATMAN Archives" 
-    https://docs.ansible.com/ansible/latest/modules/unarchive_module.html +  ansible.builtin.get_url: 
-    unarchive: +    url: https://downloads.open-mesh.org/batman/releases/batman-adv-{{ batman_adv_version }}/batman-adv-{{ batman_adv_version }}.tar.gz 
-      src: /usr/src/batman-adv-{{ batman_adv_version }}.tar.gz +    dest: /usr/src/batman-adv-{{ batman_adv_version }}.tar.gz 
-      dest/usr/src +    mode'0644'
-      remote_src: yes +
-</file>+
  
-<file java ~/ansible/roles/batman/tasks/compile.yml>--- +- name: "Entpacken des BATMAN-Archives" 
-  - name: "*BATMAN compile* : Installation des Dynamic Kernel Module Support Framework und der Header Files für den Raspberry Pi OS Linux Kernel+  ansible.builtin.unarchive: 
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html +    src: /usr/src/batman-adv-{{ batman_adv_version }}.tar.gz 
-    apt:  +    dest: /usr/src 
-      update_cache: yes +    remote_srctrue
-      pkg: +
-        - dkms +
-        - raspberrypi-kernel-headers +
-      statepresent+
  
-  - name: "*BATMAN compile* : Rebuild BATMAN Kernel Header Dateien" +...</file>
-    # https://docs.ansible.com/ansible/latest/modules/make_module.html +
-    make: +
-      chdir: /usr/src/linux-headers-{{ ansible_kernel }} +
-      target: scripts +
-    ignore_errors: yes+
  
-  - name: "*BATMAN compile* : Anlegen der dkms.conf für Dynamic Kernel Module Support" +<file c++ ~/ansible/roles/batman/tasks/compile.yml>---
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +
-    template: +
-      src: templates/dkms.j2 +
-      dest: /usr/src/batman-adv-{{ batman_adv_version }}/dkms.conf+
  
-  - name: "*BATMAN compile* : Dynamic Kernel Module Support hinzufügen+- name: "Installation des Dynamic Kernel Module Support Framework und der Header Files für den Raspberry Pi OS Linux Kernel
-    # https://docs.ansible.com/ansible/latest/modules/command_module.html +  ansible.builtin.apt: 
-    command: dkms add -m batman-adv -v {{ batman_adv_version }} +    update_cachetrue 
-    registerret +    pkg: 
-    failed_when: ret.rc != 0 and ret.rc != 3 +      - dkms 
-    changed_when: ret.rc == 0+      raspberrypi-kernel-headers 
 +    statepresent
  
-  - name: "*BATMAN compile* : Dynamic Kernel Module bauen+- name: "Rebuild BATMAN Kernel Header Dateien" 
-    # https://docs.ansible.com/ansible/latest/modules/command_module.html +  community.general.make: 
-    command: dkms build -m batman-adv -{{ batman_adv_version }}+    chdir: /usr/src/linux-headers-{{ ansible_kernel }} 
 +    target: scripts 
 +  ignore_errors: true
  
-  - name: "*BATMAN compile* : BATMAN Dynamic Kernel Module installieren+- name: "Anlegen der dkms.conf für Dynamic Kernel Module Support
-    # https://docs.ansible.com/ansible/latest/modules/command_module.html +  ansible.builtin.template: 
-    command: dkms install -m batman-adv -{{batman_adv_version }} +    srctemplates/dkms.j2 
-</file>+    dest: /usr/src/batman-adv-{{ batman_adv_version }}/dkms.conf 
 +    owner: root 
 +    group: root 
 +    mode: '0644'
  
-<file java ~/ansible/roles/batman/tasks/modulloads.yml>--- +- name: "Dynamic Kernel Module Support hinzufügen
-  - name: "*BATMAN load-modules* : Laden der BATMAN Dynamic Kernel Module beim Booten sicherstellen+  ansible.builtin.command: 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +    cmddkms add -m batman-adv -v {{ batman_adv_version }} 
-    template +  register: ret 
-      src: templates/batman-adv.module.j2 +  failed_when: ret.rc != 0 and ret.rc != 3 
-      dest/etc/modules-load.d/batman-adv.module.conf+  changed_whenret.rc == 0
  
-  - name: "*BATMAN load-modules* : dummy Modul laden+- name: "Dynamic Kernel Module bauen
-    # https://docs.ansible.com/ansible/latest/modules/modprobe_module.html +  ansible.builtin.command: 
-    modprobe:  +    cmddkms build -m batman-adv -v {{ batman_adv_version }} 
-      name: dummy +  changed_whenfalse
-      statepresent+
  
-  - name: "*BATMAN load-modules* : BATMAN-ADV Modul laden+- name: "BATMAN Dynamic Kernel Module installieren
-    # https://docs.ansible.com/ansible/latest/modules/modprobe_module.html +  ansible.builtin.command: 
-    modprobe:  +    cmddkms install -m batman-adv -v {{ batman_adv_version }} 
-      namebatman_adv +  changed_whenfalse
-      state: present +
-</file>+
  
-<file java ~/ansible/roles/batman/tasks/backport.yml>--- +...</file>
-  - name: "*buster-backport* : PGP-Schlüssel 04EE7237B7D453EC für buster-backports installieren" +
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +
-    shell: +
-      cmd: apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-key 04EE7237B7D453EC+
  
-  - name: "*buster-backport* : PGP-Schlüssel 648ACFD622F3D138 für buster-backports installieren" +<file c++ ~/ansible/roles/batman/tasks/modulloads.yml>---
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +
-    shell: +
-      cmd: apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-key 648ACFD622F3D138+
  
-  - name: "*buster-backport* : buster-backports dem System bekannt machen+- name: "Laden der BATMAN Dynamic Kernel Module beim Booten sicherstellen
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +  ansible.builtin.template: 
-    shell: +    srctemplates/batman-adv.module.j2 
-      cmd: echo "deb http://deb.debian.org/debian buster-backports main" | tee /etc/apt/sources.list.d/buster-backports.list+    dest: /etc/modules-load.d/batman-adv.module.conf 
 +    owner: root 
 +    group: root 
 +    mode: '0644'
  
-  - name: "*buster-backport* : APT-Cache aktualisieren"  +- name: "BATMAN dummy Modul laden
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html +  community.general.modprobe: 
-    apt+    namedummy 
-      update_cacheyes +    statepresent
-</file>+
  
-<file java ~/ansible/roles/batman/tasks/utilsinstall.yml>--- +- name: "BATMAN-ADV Modul laden" 
-  - name: "*utils-installation* : Installation der bridge-utils" +  community.general.modprobe: 
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html +    name: batman_adv 
-    apt:  +    state: present 
-      #update_cacheyes + 
-      pkg: +...</file> 
-       - bridge-utils + 
-       - dnsutils +<file c++ ~/ansible/roles/batman/tasks/utilsinstall.yml>--- 
-       - vim + 
-      state: present+- name: "Installation der bridge-utils" 
 +  ansible.builtin.apt: 
 +    pkg
 +      - bridge-utils 
 +      - dnsutils 
 +      - vim 
 +    state: present
  
-  - name: "*utils-installation* : Installation der bridge-utils+- name: "Installation des batctl-packages
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html +  ansible.builtin.apt: 
-    apt: +    pkg:
-      #update_cache: yes +
-      pkg:+
       - batctl       - batctl
-      default_release: buster-backports +    default_release: "/^bullseye(|-security|-updates)$/" 
-      state: present +    state: present
-</file>+
  
-<file java ~/ansible/roles/batman/tasks/batmanstart.yml>--- +...</file>
-  - name: "*BATMAN-ADV* : Aktivierung von BATMAN_V" +
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +
-    shell:  +
-      cmd: batctl ra BATMAN_V +
-</file>+
  
-<file java ~/ansible/roles/batman/tasks/interfaceconfigure.yml>--- +<file c++ ~/ansible/roles/batman/tasks/batmanstart.yml>---
-  - name: "*BATMAN-ADV Interfaces* : Konfiguration des Interfaces"   +
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +
-    template: +
-      src: templates/interfaces.j2 +
-      dest: /etc/network/interfaces +
-</file>+
  
-<file java ~/ansible/roles/batman/tasks/reboot.yml>--- +- name: "Aktivierung von BATMAN_V
-  - name: "*BATMAN Installation* : Reboot nach Ende der BATMAN Installationsschritte+  ansible.builtin.command: 
-    # https://docs.ansible.com/ansible/latest/modules/reboot_module.html +    cmdbatctl ra BATMAN_V 
-    reboot+  changed_when: false
-</file>+
  
 +...</file>
 +
 +<file c++ ~/ansible/roles/batman/tasks/interfaceconfigure.yml>---
 +
 +- name: "Konfiguration des Interfaces"
 +  ansible.builtin.template:
 +    src: templates/interfaces.j2
 +    dest: /etc/network/interfaces
 +    owner: root
 +    group: root
 +    mode: '0644'
 +
 +...</file>
 +
 +<file c++ ~/ansible/roles/batman/tasks/rsyslog.yml>---
 +
 +- name: "rsyslog konfigurieren, damit received packet ... with own address as source address im syslog unterdrückit werden"
 +  template:
 +    src: templates/01-blocklist.j2
 +    dest: /etc/rsyslog.d/01-blocklist.conf
 +    owner: root
 +    group: root
 +    mode: '0644'
 +
 +...</file>
 +
 +<file c++ ~/ansible/roles/batman/tasks/reboot.yml>---
 +
 +- name: "Reboot nach Ende der BATMAN Installationsschritte"
 +  ansible.builtin.reboot:
 +
 +...</file>
 == Templates == == Templates ==
-<file java ~/ansible/roles/batman/templates/batman-adv.module.j2>#+<file c++ ~/ansible/roles/batman/templates/01-blocklist.j2>:msg,contains,": received packet on bat-{{ ffmuc_segment }} with own address as source address " STOP</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/batman/templates/batman-adv.module.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually! 
 +#
 # Load batman-adv module on system boot # Load batman-adv module on system boot
 # #
 batman-adv batman-adv
-dummy +dummy</file>
-</file>+
  
-<file java ~/ansible/roles/batman/templates/dkms.j2>PACKAGE_NAME=batman-adv+<file c++ ~/ansible/roles/batman/templates/dkms.j2>PACKAGE_NAME=batman-adv
 PACKAGE_VERSION={{ batman_adv_version }} PACKAGE_VERSION={{ batman_adv_version }}
  
Zeile 833: Zeile 865:
 CLEAN="'make' clean" CLEAN="'make' clean"
  
-AUTOINSTALL="yes" +AUTOINSTALL="yes"</file>
-</file>+
  
  
-<file java ~/ansible/roles/batman/templates/interfaces.j2># interfaces(5) file used by ifup(8) and ifdown(8)+<file c++ ~/ansible/roles/batman/templates/interfaces.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually! 
 +# interfaces(5) file used by ifup(8) and ifdown(8)
  
 # Please note that this file is written to be used with dhcpcd # Please note that this file is written to be used with dhcpcd
Zeile 859: Zeile 891:
         pre-up /usr/sbin/batctl meshif bat-{{ ffmuc_segment }} gw_mode client         pre-up /usr/sbin/batctl meshif bat-{{ ffmuc_segment }} gw_mode client
         pre-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev bat-{{ ffmuc_segment }}         pre-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev bat-{{ ffmuc_segment }}
-        post-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev br-{{ ffmuc_segment }} +        post-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev br-{{ ffmuc_segment }}</file>
-</file>+
  
  
 === Rolle "wireguard" === === Rolle "wireguard" ===
 == Tasks == == Tasks ==
-<file java ~/ansible/roles/wireguard/tasks/main.yml>--- # Installation und Konfiguration von WIREGUARD+<file c++ ~/ansible/roles/wireguard/tasks/main.yml>--- # Installation und Konfiguration von WIREGUARD
 - include: install.yml                  # Installation des wireguard-Paketes - include: install.yml                  # Installation des wireguard-Paketes
 - include: genkeys.yml                  # Schlüsselmaterial erzeugen - include: genkeys.yml                  # Schlüsselmaterial erzeugen
 - include: genlinklocal.yml             # lokale link-local IPv6 Adresse generieren - include: genlinklocal.yml             # lokale link-local IPv6 Adresse generieren
 - include: configuration.yml            # Konfigurationsdatei kopieren und anpassen - include: configuration.yml            # Konfigurationsdatei kopieren und anpassen
-- include: brokerinform.yml             # Public-Key unseres Nodes an den Broker übermitteln +- include: brokerinform.yml             # Public-Key unseres Nodes an den Broker übermitteln
 - include: wireguardstart.yml           # Aktivierung des wireguard client-daemon - include: wireguardstart.yml           # Aktivierung des wireguard client-daemon
 +- include: radv-filter.yml              # RADV-Filter setzen
 - include: checkup.yml                  # Wireguard überprüfen - include: checkup.yml                  # Wireguard überprüfen
-</file>+... # YML Ende</file>
  
-<file java ~/ansible/roles/wireguard/tasks/install.yml>--- 
-  - name: "*wireguard* : Installation von wireguard" 
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html 
-    apt:  
-      #update_cache: yes 
-      pkg: 
-       - wireguard 
-      state: present 
-</file> 
  
-<file java ~/ansible/roles/wireguard/tasks/genkeys.yml>--- +<file c++ ~/ansible/roles/wireguard/tasks/install.yml>---
-  - name: "*wireguard* : Schlüsselmaterial erstellen" +
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +
-    shell: /usr/bin/wg genkey | tee client_private.key | wg pubkey | tee client_public.key  +
-    args: +
-      chdir: /etc/wireguard/ +
-      creates: client_private.key  +
  
-  - name: "*wireguard* : Zugriffsrechte des Private Keys anpassen+- name: "Installation von wireguard und iptables
-    # https://docs.ansible.com/ansible/latest/modules/file_module.html +  ansible.builtin.apt: 
-    file:  +    pkg
-      path: /etc/wireguard/client_private.key +      wireguard 
-      mode'0600'+      - iptables 
 +    statepresent
  
-  - name: "*wireguard* : Zugriffsrechte des Public Keys anpassen" +...</file>
-    # https://docs.ansible.com/ansible/latest/modules/file_module.html +
-    file:  +
-      path: /etc/wireguard/client_public.key +
-      mode: '0600' +
-</file>+
  
-<file java ~/ansible/roles/wireguard/tasks/genlinklocal.yml>--- 
-  - name: "*wireguard* : lokale link-local IPv6 Adresse aus dem PUBLIC-Key erzeugen" 
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html 
-    shell: cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' 
-    register: wg_node_linklocal 
-</file> 
  
-<file java ~/ansible/roles/wireguard/tasks/configuration.yml>--- +<file c++ ~/ansible/roles/wireguard/tasks/genkeys.yml>---
-  - name: "*wireguard* : private-key einlesen und in Variable übergeben" +
-    # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/shell_module.html +
-    shell: cat /etc/wireguard/client_private.key +
-    register: wg_client_privatekey+
  
-  - name: "*wireguard* : public-key einlesen und in Variable übergeben+- name: "Schlüsselmaterial erstellen" 
-    # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/shell_module.html +  ansible.builtin.command: 
-    shellcat /etc/wireguard/client_public.key +    cmd: /usr/bin/wg genkey | tee client_private.key | wg pubkey | tee client_public.key 
-    registerwg_client_publickey+  args: 
 +    chdir: /etc/wireguard/ 
 +    createsclient_private.key
  
-  - name: "*wireguard* : Socket ermitteln+- name: "Zugriffsrechte des Private Keys anpassen
-    # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/set_fact_module.html +  ansible.builtin.file: 
-    set_fact: +    path/etc/wireguard/client_private.key 
-      ffmuc_wireguard_port: "{{ item.value }}" +    mode: '0600'
-    loop"{{ lookup('dict', wireguard_ports) }}" +
-    when: "ffmuc_segment in item.key"+
  
-  - name: "*wireguard* : link-local des Gateways ermitteln+- name: "Zugriffsrechte des Public Keys anpassen
-    # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/set_fact_module.html +  ansible.builtin.file: 
-    set_fact: +    path/etc/wireguard/client_public.key 
-      ffmuc_wireguard_linklocal: "{{ item.value }}" +    mode: '0600'
-    loop"{{ lookup('dict', gw_linklocal) }}" +
-    when: "ffmuc_gateway in item.key"+
  
-  - name: "*wireguard* : publickey des Gateways ermitteln" +...</file>
-    # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/set_fact_module.html +
-    set_fact: +
-      ffmuc_wireguard_gwpubkey: "{{ item.value }}" +
-    loop: "{{ lookup('dict', gw_publickey) }}" +
-    when: "ffmuc_gateway in item.key"+
  
-  - name: "*wireguard* : Konfigurationsdatei des wireguard-Tunnels erzeugen" 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html 
-    template: 
-      src: templates/uplink.j2 
-      dest: /etc/wireguard/wg-uplink.conf 
-</file> 
  
-<file java ~/ansible/roles/wireguard/tasks/brokerinform.yml>--- +<file c++ ~/ansible/roles/wireguard/tasks/genlinklocal.yml>---
-  - name: "*wireguard* : systemd unit file für broker -Information anlegen"     +
-     # https://docs.ansible.com/ansible/latest/modules/template_module.html +
-    template: +
-      src: templates/broker.j2 +
-      dest: /etc/systemd/system/broker.service+
  
-  - name: "*wireguard* : Service broker starten beim Booten starten+- name: "lokale link-local IPv6 Adresse aus dem PUBLIC-Key erzeugen
-    # https://docs.ansible.com/ansible/latest/modules/systemd_module.html +  ansible.builtin.shell:
-    systemd: +    cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' 
-      namebroker +  registerwg_node_linklocal 
-      daemon_reloadyes +  changed_when: false
-      statestarted +
-      enabledyes +
-</file>+
  
-<file java ~/ansible/roles/wireguard/tasks/wireguardstart.yml>--- +...</file>
-  - name: "*wireguard* : Service wireguard via systemd startem" +
-    # https://docs.ansible.com/ansible/latest/modules/systemd_module.html +
-    systemd: +
-      name: wg-quick@wg-uplink +
-      daemon_reload: yes +
-      state: started +
-      enabled: yes +
-</file>+
  
-<file java ~/ansible/roles/wireguard/tasks/checkup.yml>--- +<file c++ ~/ansible/roles/wireguard/tasks/configuration.yml>---
-  - name: "*wireguard* : lokale link-local IPv6 Adresse aus dem PUBLIC-Key erzeugen" +
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +
-    shell: cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' +
-    register: wg_node_linklocal +
  
-  - name: "*wireguard* : checkupscript zum Testen der wireguard-Verbindung anlegen+- name: "private-key einlesen und in Variable übergeben" 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +  ansible.builtin.command: 
-    template+    cmdcat /etc/wireguard/client_private.key 
-      srctemplates/checkup.j2 +  registerwg_client_privatekey 
-      dest: /usr/local/bin/checkup+  changed_whenfalse
  
-  - name: "*wireguard* : Ausführungsrechte des Bash-Scripts anpassen+- name: "public-key einlesen und in Variable übergeben
-    # https://docs.ansible.com/ansible/latest/modules/file_module.html +  ansible.builtin.command: 
-    file: +    cmdcat /etc/wireguard/client_public.key 
-      path: /usr/local/bin/checkup +  register: wg_client_publickey 
-      mode'0740'+  changed_whenfalse
  
-  - name: "*wireguardcrontab für minütlichen checkup der wireguard-Verbindung anlegen" +- name: "Socket ermitteln" 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +  ansible.builtin.set_fact: 
-    template: +    ffmuc_wireguard_port: "{{ item.value }}" 
-      src: templates/crontab.j2 +  loop: "{{ lookup('dict', wireguard_ports) }}" 
-      dest: /etc/crontab +  when: "ffmuc_segment in item.key" 
- </file>+ 
 +- name: "link-local des Gateways ermitteln" 
 +  ansible.builtin.set_fact: 
 +    ffmuc_wireguard_linklocal: "{{ item.value }}" 
 +  loop: "{{ lookup('dict', gw_linklocal) }}" 
 +  when: "ffmuc_gateway in item.key" 
 + 
 +- name: "publickey des Gateways ermitteln" 
 +  ansible.builtin.set_fact: 
 +    ffmuc_wireguard_gwpubkey: "{{ item.value }}" 
 +  loop: "{{ lookup('dict', gw_publickey) }}" 
 +  when: "ffmuc_gateway in item.key" 
 + 
 +- name: "Konfigurationsdatei des wireguard-Tunnels erzeugen" 
 +  ansible.builtin.template: 
 +    src: templates/uplink.j2 
 +    dest: /etc/wireguard/wg-uplink.conf 
 +    owner: root 
 +    group: root 
 +    mode: '0644' 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/wireguard/tasks/brokerinform.yml>--- 
 + 
 +- name: "systemd unit file für broker -Information anlegen" 
 +  ansible.builtin.template: 
 +    src: templates/broker.j2 
 +    dest: /etc/systemd/system/broker.service 
 +    owner: root 
 +    group: root 
 +    mode: '0644' 
 + 
 +- name: "Service broker starten beim Booten starten" 
 +  ansible.builtin.systemd: 
 +    name: broker 
 +    daemon_reload: true 
 +    state: started 
 +    enabled: true 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/wireguard/tasks/wireguardstart.yml>--- 
 + 
 +- name: "Service wireguard via systemd starten" 
 +  ansible.builtin.systemd: 
 +    name: wg-quick@wg-uplink 
 +    daemon_reload: true 
 +    state: started 
 +    enabled: true 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/wireguard/tasks/radv-filter.yml>--- 
 + 
 +- name: "Startsrcipt für der RADV-Filter anlegen" 
 +  template: 
 +    srctemplates/radv-filter.j2 
 +    dest: /usr/local/bin/radv-filter 
 +    owner: root 
 +    group: root 
 +    mode: '0644' 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/wireguard/tasks/checkup.yml>--- 
 + 
 +- name: "Lokale link-local IPv6 Adresse aus dem PUBLIC-Key erzeugen" 
 +  ansible.builtin.shell:
 +    cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' 
 +  register: wg_node_linklocal 
 +  changed_when: false 
 + 
 +- name: "checkupscript zum Testen der wireguard-Verbindung anlegen" 
 +  ansible.builtin.template: 
 +    src: templates/checkup.j2 
 +    dest: /usr/local/bin/checkup 
 +    owner: root 
 +    group: root 
 +    mode: '0750' 
 + 
 +- name: "Ausführungsrechte des Bash-Scripts anpassen" 
 +  ansible.builtin.file: 
 +    path: /usr/local/bin/checkup 
 +    mode: '0740' 
 + 
 +- name: "crontab für minütlichen checkup der wireguard-Verbindung anlegen" 
 +  ansible.builtin.template: 
 +    src: templates/crontab.j2 
 +    dest: /etc/crontab 
 +    owner: root 
 +    group: root 
 +    mode: '0644' 
 + 
 +...</file>
  
 == Templates == == Templates ==
-<file java ~/ansible/roles/wireguard/templates/broker.j2># Django : 2020-12-07+<file c++ ~/ansible/roles/wireguard/templates/broker.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually!
 [Unit] [Unit]
 # see man systemd.unit # see man systemd.unit
Zeile 1019: Zeile 1087:
 [Install] [Install]
 WantedBy=default.target WantedBy=default.target
 +
 </file> </file>
  
-<file java ~/ansible/roles/wireguard/templates/checkup.j2>#!/bin/bash+<file c++ ~/ansible/roles/wireguard/templates/checkup.j2>#!/bin/bash 
 +# Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually!
  
 # Check connectivity to supernode # Check connectivity to supernode
Zeile 1042: Zeile 1112:
         #logger -t checkuplink "wiregurad-tunnel is up an running : HTTP-statuscode: ${HTTP_STATUS_CODE}"         #logger -t checkuplink "wiregurad-tunnel is up an running : HTTP-statuscode: ${HTTP_STATUS_CODE}"
 fi fi
 +
 </file> </file>
  
-<file java ~/ansible/roles/wireguard/templates/crontab.j2># /etc/crontab: system-wide crontab+<file c++ ~/ansible/roles/wireguard/templates/crontab.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually! 
 +# /etc/crontab: system-wide crontab
 # Unlike any other crontab you don't have to run the `crontab' # Unlike any other crontab you don't have to run the `crontab'
 # command to install the new version when you edit this file # command to install the new version when you edit this file
Zeile 1052: Zeile 1124:
 SHELL=/bin/sh SHELL=/bin/sh
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 +
 +MAILTO=""
  
 # Example of job definition: # Example of job definition:
Zeile 1061: Zeile 1135:
 # |  |  |  |  | # |  |  |  |  |
 # *  *  *  *  * user-name command to be executed # *  *  *  *  * user-name command to be executed
-17 * * * * root    cd / && run-parts --report /etc/cron.hourly +17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly 
-25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) +25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 
-47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) +47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 
-52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )+52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
 # #
  
 # check wireguard-connection # check wireguard-connection
-* * * * * root /usr/local/bin/checkup 2>&1 /dev/null+-* * * * *      root    /usr/local/bin/checkup 2>&1 /dev/null 
 + 
 +# set firewall-role for RA-Filter 
 +-* * * * *       root    /usr/local/bin/radv-filter 2>&1 /dev/null
 </file> </file>
  
-<file java ~/ansible/roles/wireguard/templates/uplink.j2>[Interface]+<file c++ ~/ansible/roles/wireguard/templates/uplink.j2>[Interface]
 PrivateKey = {{ wg_client_privatekey.stdout }} PrivateKey = {{ wg_client_privatekey.stdout }}
 Address = {{ wg_node_linklocal.stdout }} Address = {{ wg_node_linklocal.stdout }}
Zeile 1084: Zeile 1161:
  
 === Rolle "vxlan" === === Rolle "vxlan" ===
-<file java ~/ansible/roles/vxlan/tasks/main.yml>--- # Installation und Konfiguration von VXLAN+== Tasks == 
 +<file c++ ~/ansible/roles/vxlan/tasks/main.yml>--- # Installation und Konfiguration von VXLAN
 - include: configure.yml                # VXLAN Konfigurieren - include: configure.yml                # VXLAN Konfigurieren
 - include: vxlanstart.yml               # Aktivierung des wireguard client-daemon - include: vxlanstart.yml               # Aktivierung des wireguard client-daemon
-</file>+... # YML Ende</file>
  
-== Tasks == +<file c++ ~/ansible/roles/vxlan/tasks/configure.yml>---
-<file java ~/ansible/roles/vxlan/tasks/configure.yml>  name: "*VXLAN* : Paketfilter anpassen Eingehenden VXLAN Verkehr auf dem Mesh-Interface erlauben" +
-    # https://docs.ansible.com/ansible/latest/modules/commans_module.html +
-    command: ip6tables -I INPUT 1 -i wg-uplink -m udp -p udp --dport 8472 -j ACCEPT +
  
-  - name: "*VXLAN* : VXLAN-ID des gewählten Segments ermitteln+- name: "Paketfilter anpassen - Eingehenden VXLAN Verkehr auf dem Mesh-Interface erlauben
-    # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/set_fact_module.html +  ansible.builtin.command| 
-    set_fact: +    ip6tables -I INPUT 1 -i wg-uplink -m udp -p udp --dport 8472 -j ACCEPT 
-      ffmuc_vxlan_id: "{{ item.value }}" +  changed_whenfalse
-    loop: "{{ lookup('dict', gw_vxlan_ids) }}" +
-    when"ffmuc_segment in item.key"+
  
-  - name: "*VXLAN* : link-local des Gateways ermitteln" +- name: "VXLAN-ID des gewählten Segments ermitteln" 
-    # https://docs.ansible.com/ansible/latest/collections/ansible/builtin/set_fact_module.html +  ansible.builtin.set_fact: 
-    set_fact: +    ffmuc_vxlan_id: "{{ item.value }}" 
-      ffmuc_wireguard_linklocal: "{{ item.value }}" +  loop: "{{ lookup('dict', gw_vxlan_ids) }}" 
-    loop: "{{ lookup('dict', gw_linklocal) }}" +  when: "ffmuc_segment in item.key"
-    when: "ffmuc_gateway in item.key"+
  
-  - name: "*VXLAN* : lokale link-local IPv6 Adresse aus dem PUBLIC-Key erzeugen+- name: "link-local des Gateways ermitteln
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +  ansible.builtin.set_fact: 
-    shellcat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' +    ffmuc_wireguard_linklocal"{{ item.value }}" 
-    registerwg_node_linklocal+  loop: "{{ lookup('dict', gw_linklocal}}" 
 +  when"ffmuc_gateway in item.key"
  
-  - name: "*VXLAN* : Startupdatei für VXLAN kopieren+- name: "lokale link-local IPv6 Adresse aus dem PUBLIC-Key erzeugen
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +  ansible.builtin.shell:
-    template: +    cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' 
-      srctemplates/vxlan-init.j2 +  registerwg_node_linklocal 
-      dest/usr/local/bin/vxlan+  changed_when: false
  
-  - name: "*VXLAN* : Ausführungsrechte des Bash-Scripts anpassen+- name: "Startupdatei für VXLAN kopieren" 
-    # https://docs.ansible.com/ansible/latest/modules/file_module.html +  template: 
-    file: +    srctemplates/vxlan-init.j2 
-      path: /usr/local/bin/vxlan +    dest: /usr/local/bin/vxlan 
-      mode: '0740' +    owner: root 
-</file>+    group: root 
 +    mode: '0750'
  
-<file java ~/ansible/roles/vxlan/tasks/vxlanstart.yml>--- +...</file> 
-  - name: "*VXLAN* : systemd-unitfile anlegen" + 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html + 
-    template: +<file c++ ~/ansible/roles/vxlan/tasks/vxlanstart.yml>--- 
-      src: templates/systemd-service-file.j2 + 
-      dest: /etc/systemd/system/vxlan.service+- name: "systemd-unitfile anlegen" 
 +  ansible.builtin.template: 
 +    src: templates/systemd-service-file.j2 
 +    dest: /etc/systemd/system/vxlan.service 
 +    owner: root 
 +    group: root 
 +    mode: '0644' 
 + 
 +- name: "Neues Unitfile dem systemd bekannt geben" 
 +  ansible.builtin.systemd: 
 +    daemon_reload: true 
 + 
 +- name: "Service vxlan via systemd starten" 
 +  ansible.builtin.systemd: 
 +    name: vxlan.service 
 +    daemon_reload: true 
 +    state: started 
 +    enabled: true 
 + 
 +...</file>
  
-  - name: "*VXLAN* : Neues Unitfile dem systemd bekannt geben" 
-    # https://docs.ansible.com/ansible/latest/modules/systemd_module.html 
-    systemd: 
-      daemon_reexec: yes 
  
-  - name: "*VXLAN* : Service vxlan via systemd starten" 
-    # https://docs.ansible.com/ansible/latest/modules/systemd_module.html 
-    systemd: 
-      name: vxlan.service 
-      daemon_reload: yes 
-      state: started 
-      enabled: yes 
-</file> 
  
 == Templates == == Templates ==
-<file java ~/ansible/roles/vxlan/templates/systemd-service-file.j2>[Unit]+<file c++ ~/ansible/roles/vxlan/templates/systemd-service-file.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually! 
 +[Unit]
 # see man systemd.unit # see man systemd.unit
 Description=Bringing up VXLAN Interface Description=Bringing up VXLAN Interface
Zeile 1162: Zeile 1244:
  
 [Install] [Install]
-WantedBy=multi-user.target +WantedBy=multi-user.target</file> 
-</file>+
  
-<file bash ~/ansible/roles/vxlan/templates/vxlan-init.j2>#!/bin/bash+<file c++ ~/ansible/roles/vxlan/templates/vxlan-init.j2>#!/bin/bash 
 +# Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually!
  
 # Bring up VXLAN # Bring up VXLAN
Zeile 1177: Zeile 1260:
 /usr/sbin/batctl hardif mesh-vpn throughput_override 10000 /usr/sbin/batctl hardif mesh-vpn throughput_override 10000
 </file> </file>
- 
  
  
 === Rolle "ext-respondd" === === Rolle "ext-respondd" ===
 == Tasks == == Tasks ==
-<file java ~/ansible/roles/ext-respondd/tasks/main.yml>--- # Installation und Konfiguration des ext-respondd (Statistiken für https://map.ffmuc.net)+<file c++ ~/ansible/roles/ext-respondd/tasks/main.yml>--- # Installation und Konfiguration des ext-respondd (Statistiken für https://map.ffmuc.net)
 - include: gitinstall.yml               # Installation der Pakete git und python3-netifaces  - include: gitinstall.yml               # Installation der Pakete git und python3-netifaces 
 - include: gitclone.yml                 # Repo ext-respondd klonen  - include: gitclone.yml                 # Repo ext-respondd klonen 
Zeile 1191: Zeile 1273:
 </file> </file>
  
-<file java ~/ansible/roles/ext-respondd/tasks/aliasgenerate.yml>--- 
-  - name: "Erstellen der resondd Konfigurationsdatei alias.json" 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html 
-    template:  
-      src: templates/ext-respondd_alias.json.j2 
-      dest: /opt/ext-respondd/alias.json 
-</file> 
  
-<file java ~/ansible/roles/ext-respondd/tasks/configgenerate.yml>--- +<file c++ ~/ansible/roles/ext-respondd/tasks/gitinstall.yml>---
-  - name: "Erstellen der resondd Konfigurationsdatei config.json" +
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +
-    template:  +
-      src: templates/ext-respondd_config.json.j2 +
-      dest: /opt/ext-respondd/config.json +
-</file>+
  
-<file java ~/ansible/roles/ext-respondd/tasks/copyconfig.yml>--- +- name: "Installation der Pakete git und python3-netifaces
-  - name: "Systemd Startdatei für respondd kopieren+  ansible.builtin.apt: 
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html +    update_cache: true 
-    shell:  +    pkg
-      cmd: cp /opt/ext-respondd/ext-respondd.service.example /etc/systemd/system/ext-respondd.service +      - git 
-</file>+      python3-netifaces 
 +    state: present
  
-<file java ~/ansible/roles/ext-respondd/tasks/gitclone.yml>--- +...</file>
-  - name: "Repo ext-respondd klonen" +
-    # https://docs.ansible.com/ansible/latest/modules/git_module.html +
-    git: +
-      repo: https://github.com/freifunkMUC/ext-respondd +
-      dest: /opt/ext-respondd/ +
-</file>+
  
-<file java ~/ansible/roles/ext-respondd/tasks/gitinstall.yml>--- 
-  - name: "Installation der Pakete git und python3-netifaces" 
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html 
-    apt:  
-      update_cache: yes 
-      pkg: 
-        - git 
-        - python3-netifaces 
-      state: present 
-</file> 
  
-<file java ~/ansible/roles/ext-respondd/tasks/servicestartup.yml>--- + 
-  - name: "Service ext-respondd beim Booten starten+<file c++ ~/ansible/roles/ext-respondd/tasks/gitclone.yml>--- 
-    https://docs.ansible.com/ansible/latest/modules/systemd_module.html + 
-    systemd: +- name: "ggf. bestehende Altlast bereinigen" 
-      name: ext-respondd +  ansible.builtin.file: 
-      daemon_reload: yes +    path: /opt/ext-respondd 
-      state: started +    state: absent 
-      enabled: yes + 
-</file>+- name: "Repo ext-respondd klonen" 
 +  ansible.builtin.git: 
 +    repo: https://github.com/freifunkMUC/ext-respondd 
 +    dest: /opt/ext-respondd/ 
 +    version: master 
 +    clone: true 
 +    update: true 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/ext-respondd/tasks/copyconfig.yml>--- 
 + 
 +- name: "Systemd Startdatei für respondd kopieren" 
 +  ansible.builtin.copy: 
 +    src: /opt/ext-respondd/ext-respondd.service.example 
 +    dest: /etc/systemd/system/ext-respondd.service 
 +    remote_src: true 
 +     # cmd: cp /opt/ext-respondd/ext-respondd.service.example /etc/systemd/system/ext-respondd.service 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/ext-respondd/tasks/aliasgenerate.yml>--- 
 + 
 +- name: "Erstellen der resondd Konfigurationsdatei alias.json" 
 +  ansible.builtin.template: 
 +    src: templates/ext-respondd_alias.json.j2 
 +    dest: /opt/ext-respondd/alias.json 
 +    owner: root 
 +    group: root 
 +    mode: '0644' 
 + 
 +...</file> 
 + 
 +<file c++ ~/ansible/roles/ext-respondd/tasks/configgenerate.yml>--- 
 + 
 +- name: "Erstellen der resondd Konfigurationsdatei config.json" 
 +  ansible.builtin.template: 
 +    src: templates/ext-respondd_config.json.j2 
 +    dest: /opt/ext-respondd/config.json 
 +    owner: root 
 +    group: root 
 +    mode: '0644' 
 + 
 +...</file> 
 + 
 +<file c++ ~/ansible/roles/ext-respondd/tasks/bugfixing.yml>--- 
 + 
 +- name: "Typo in der /opt/ext-respondd/lib/nodeinfo.py korrigieren" 
 +  ansible.builtin.replace: 
 +    path: /opt/ext-respondd/lib/nodeinfo.py 
 +    # zu ersetzende/korrigierende Zeile 
 +    regexp: 'Processor' 
 +    # wird ersetzt durch 
 +    replace: 'processor' 
 + 
 +...</file> 
 + 
 +<file c++ ~/ansible/roles/ext-respondd/tasks/servicestartup.yml>--- 
 + 
 +- name: "Service ext-respondd beim Booten starten" 
 +  systemd: 
 +    name: ext-respondd 
 +    daemon_reload: true 
 +    state: started 
 +    enabled: true 
 + 
 +...</file> 
  
 == Templates == == Templates ==
-<file java ~/ansible/roles/ext-respondd/templates/ext-respondd_alias.json.j2>{+<file c++ ~/ansible/roles/ext-respondd/templates/ext-respondd_alias.json.j2>{
   "nodeinfo": {   "nodeinfo": {
     "hostname": "{{ raspberry_hostname }}",     "hostname": "{{ raspberry_hostname }}",
Zeile 1263: Zeile 1386:
   },   },
   "firstseen": "2019-08-14T12:34:56"   "firstseen": "2019-08-14T12:34:56"
-} +}</file>
-</file>+
  
 <file java ~/ansible/roles/ext-respondd/templates/ext-respondd_config.json.j2>{ <file java ~/ansible/roles/ext-respondd/templates/ext-respondd_config.json.j2>{
Zeile 1273: Zeile 1395:
   "rate_limit": 30,   "rate_limit": 30,
   "rate_limit_burst": 10   "rate_limit_burst": 10
-} +}</file>
-</file>+
  
  
 === Rolle "hostapd" === === Rolle "hostapd" ===
 == Tasks == == Tasks ==
-<file java ~/ansible/roles/hostapd/tasks/main.yml>--- # Installation und Konfiguration des hostap Treibers für den WiFi-Support+<file c++ ~/ansible/roles/hostapd/tasks/main.yml>--- # Installation und Konfiguration des hostap Treibers für den WiFi-Support
 - include: install.yml                  # Paket hostapd für WLAN installieren - include: install.yml                  # Paket hostapd für WLAN installieren
 - include: configure.yml                # hostapd konfigurieren - include: configure.yml                # hostapd konfigurieren
 - include: genconfig.yml                # hostapd Konfigurationsdatei anlegen - include: genconfig.yml                # hostapd Konfigurationsdatei anlegen
 - include: wlanbridging.yml             # wlan0 in Bridge packen - include: wlanbridging.yml             # wlan0 in Bridge packen
-- include: servicestartup.yml           # Service hostapd beim Booten und jetzt starten und das Laden der Unit Datei vom Service hostapd ermöglichen +- include: servicestartup.yml           # Service hostapd beim Booten und jetzt starten 
-</file>+                                        # und so das Laden der Unit Datei vom Service 
 +                                        # hostapd ermöglichen 
 +... # YML Ende</file>
  
-<file java ~/ansible/roles/hostapd/tasks/configure.yml>--- 
-  - name: "hostapd konfigurieren" 
-    # https://docs.ansible.com/ansible/latest/modules/shell_module.html 
-    shell: echo 'DAEMON_OPTS="-d"' >> /etc/default/hostapd 
-    when: ( raspberry_wifi == "ja" ) 
-</file> 
  
-<file java ~/ansible/roles/hostapd/tasks/genconfig.yml>--- +<file c++ ~/ansible/roles/hostapd/tasks/install.yml>---
-  - name: "hostapd Konfigurationsdatei anlegen" +
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +
-    template:  +
-      src: templates/hostapd.j2 +
-      dest: /etc/hostapd/hostapd.conf +
-    when: ( raspberry_wifi == "ja"+
-</file>+
  
-<file java ~/ansible/roles/hostapd/tasks/install.yml>--- +- name: "Paket hostapd für WLAN installieren" 
-  - name: "Paket hostapd für WLAN installieren+  ansible.builtin.apt: 
-    # https://docs.ansible.com/ansible/latest/modules/apt_module.html +    update_cache: true 
-    apt+    pkg: 
-      update_cacheyes +      - hostapd 
-      pkg+    state: present 
-        hostapd + 
-      statepresent +...</file> 
-    when( raspberry_wifi == "ja) + 
-</file>+ 
 +<file c++ ~/ansible/roles/hostapd/tasks/configure.yml>--- 
 + 
 +- name: "hostapd konfigurieren" 
 +  ansible.builtin.command: | 
 +    echo 'DAEMON_OPTS="-d"' >> /etc/default/hostapd 
 +  changed_whenfalse 
 + 
 +...</file> 
 + 
 +<file c++ ~/ansible/roles/hostapd/tasks/genconfig.yml>--- 
 + 
 +- name: "hostapd Konfigurationsdatei anlegen" 
 +  ansible.builtin.template: 
 +    src: templates/hostapd.j2 
 +    dest: /etc/hostapd/hostapd.conf 
 +    ownerroot 
 +    grouproot 
 +    mode'0644' 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/hostapd/tasks/wlanbridging.yml>--- 
 + 
 +- name: "wlan0 in Bridge packen" 
 +  template
 +    src: templates/rclocal_wifi.j2 
 +    dest: /etc/rc.local 
 +    owner: root 
 +    group: root 
 +    mode: '0750' 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/hostapd/tasks/servicestartup.yml>--- 
 + 
 +- name: "Service hostapd beim Booten und jetzt starten und das Laden der Unit Datei vom Service hostapd ermöglichen
 +  ansible.builtin.systemd: 
 +    name: hostapd 
 +    enabled: true 
 +    masked: false 
 +    state: started 
 + 
 +...</file>
  
-<file java ~/ansible/roles/hostapd/tasks/servicestartup.yml>--- 
-  - name: "Service hostapd beim Booten und jetzt starten und das Laden der Unit Datei vom Service hostapd ermöglichen" 
-    # https://docs.ansible.com/ansible/latest/modules/systemd_module.html 
-    systemd: 
-      name: hostapd 
-      enabled: yes 
-      masked: no 
-      state: started 
-    when: ( raspberry_wifi == "ja" ) 
-</file> 
  
-<file java ~/ansible/roles/hostapd/tasks/wlanbridging.yml>--- 
-  - name: "wlan0 in Bridge packen" 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html 
-    template:  
-      src: templates/rclocal_wifi.j2 
-      dest: /etc/rc.local 
-    when: ( raspberry_wifi == "ja" ) 
-</file> 
  
 == Templates == == Templates ==
-<file java ~/ansible/roles/hostapd/templates/hostapd.j2>ssid=muenchen.freifunk.net/{{ ffmuc_segment }}+<file c++ ~/ansible/roles/hostapd/templates/hostapd.j2>ssid=muenchen.freifunk.net/{{ ffmuc_segment }}
  
 country_code=US country_code=US
Zeile 1365: Zeile 1502:
 vht_oper_chwidth=1 vht_oper_chwidth=1
 channel=36 channel=36
-vht_oper_centr_freq_seg0_idx=42 +vht_oper_centr_freq_seg0_idx=42</file> 
-</file>+
  
 <file java ~/ansible/roles/hostapd/templates/rclocal_wifi.j2>#!/bin/sh -e <file java ~/ansible/roles/hostapd/templates/rclocal_wifi.j2>#!/bin/sh -e
 +# Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually!
 # #
 # rc.local # rc.local
Zeile 1387: Zeile 1525:
 fi fi
 sleep 10; /sbin/brctl addif br-{{ ffmuc_segment }} wlan0 sleep 10; /sbin/brctl addif br-{{ ffmuc_segment }} wlan0
-exit 0 +exit 0</file>
-</file>+
  
  
 === Rolle "client-mesh" === === Rolle "client-mesh" ===
 == Tasks == == Tasks ==
-<file java ~/ansible/roles/client-mesh/tasks/main.yml>--- # Grundkonfiguration von Client und/oder Meshing (V)LANs+<file c++ ~/ansible/roles/client-mesh/tasks/main.yml>--- # Grundkonfiguration von Client und/oder Meshing (V)LANs
 - include: clientohnemesh.yml           # Konfiguration des Client-VLAN ohne Mesh-Netz - include: clientohnemesh.yml           # Konfiguration des Client-VLAN ohne Mesh-Netz
 - include: getvxlanid.yml               # vxlan_id für ausgewähltes Segment ermitteln - include: getvxlanid.yml               # vxlan_id für ausgewähltes Segment ermitteln
Zeile 1400: Zeile 1537:
 - include: batmanohnewifi.yml           # Konfiguration des bevorzugte Meshingpoint in BATMAN_V ohne Wifi-Nutzung - include: batmanohnewifi.yml           # Konfiguration des bevorzugte Meshingpoint in BATMAN_V ohne Wifi-Nutzung
 - include: batmanmitwifi.yml            # Konfiguration des bevorzugte Meshingpoint in BATMAN_V mit Wifi-Nutzung - include: batmanmitwifi.yml            # Konfiguration des bevorzugte Meshingpoint in BATMAN_V mit Wifi-Nutzung
-</file>+... # YML Ende</file>
  
-<file java ~/ansible/roles/client-mesh/tasks/batmanmitwifi.yml>--- 
-  - name: "Konfiguration des bevorzugte Meshingpoint in BATMAN_V mit Wifi-Nutzung" 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html 
-    template:  
-      src: templates/rclocal_both.j2 
-      dest: /etc/rc.local 
-    when: ( raspberry_meshvlan|length > 0 ) and ( raspberry_wifi == "ja" ) 
-</file> 
  
-<file java  ~/ansible/roles/client-mesh/tasks/batmanohnewifi.yml>--- +<file c++ ~/ansible/roles/client-mesh/tasks/clientohnemesh.yml>---
-  - name: "Konfiguration des bevorzugte Meshingpoint in BATMAN_V ohne Wifi-Nutzung" +
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +
-    template:  +
-      src: templates/rclocal_vxlan.j2 +
-      dest: /etc/rc.local +
-    when: ( raspberry_meshvlan|length > 0 ) and ( raspberry_wifi != "ja"+
-</file>+
  
-<file java ~/ansible/roles/client-mesh/tasks/clientohnemesh.yml>django@Djangos-ThinkPad-X230:~$ cat ~/ansible/roles/client-mesh/tasks/clientohnemesh.yml  +- name: "Konfiguration des Client-VLAN ohne Mesh-Netz" 
---- +  ansible.builtin.template: 
-  - name: "Konfiguration des Client-VLAN ohne Mesh-Netz" +    src: templates/interfaces_client_ohne_mesh.j2 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +    dest: /etc/network/interfaces 
-    template:  +    owner: root 
-      src: templates/interfaces_client_ohne_mesh.j2 +    group: root 
-      dest: /etc/network/interfaces +    mode: '0640' 
-    when: ( raspberry_clientvlan|length > 0 ) and ( raspberry_meshvlan|length == 0 ) +  when: ( raspberry_clientvlan|length > 0 ) and ( raspberry_meshvlan|length == 0 )
-</file>+
  
-<file java  ~/ansible/roles/client-mesh/tasks/getvxlanid.yml>--- +...</file>
-  - name: "vxlan_id für ausgewähltes Segment ermitteln" +
-    # https://docs.ansible.com/ansible/latest/modules/set_fact_module.html +
-    set_fact: +
-      ffmuc_vxlan_id: "{{ item.value }}" +
-    loop: "{{ lookup('dict', vxlan_ids) }}" +
-    when: "ffmuc_segment in item.key" +
-</file>+
  
-<file java ~/ansible/roles/client-mesh/tasks/meshohneclient.yml>--- +<file c++ ~/ansible/roles/client-mesh/tasks/getvxlanid.yml>---
-  - name: "Konfiguration des Mesh-VLAN ohne Client-VLAN" +
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +
-    template:  +
-      src: templates/interfaces_mesh_ohne_client.j2 +
-      dest: /etc/network/interfaces +
-    when: ( raspberry_clientvlan|length == 0 ) and ( raspberry_meshvlan|length > 0 ) +
-</file>+
  
-<file java  ~/ansible/roles/client-mesh/tasks/meshundclient.yml>--- +- name: "vxlan_id für ausgewähltes Segment ermitteln" 
-  - name: "Konfiguration von Mesh- und Client-VLAN" +  ansible.builtin.set_fact: 
-    # https://docs.ansible.com/ansible/latest/modules/template_module.html +    ffmuc_vxlan_id: "{{ item.value }}" 
-    template:  +  loop: "{{ lookup('dict', vxlan_ids) }}" 
-      src: templates/interfaces_mesh_mit_client.j2 +  when: "ffmuc_segment in item.key" 
-      dest: /etc/network/interfaces + 
-    when: ( raspberry_clientvlan|length > 0 ) and ( raspberry_meshvlan|length > 0 ) +...</file
-</file>+ 
 +<file c++ ~/ansible/roles/client-mesh/tasks/meshohneclient.yml>--- 
 + 
 +- name: "Konfiguration des Mesh-VLAN ohne Client-VLAN" 
 +  ansible.builtin.template: 
 +    srctemplates/interfaces_mesh_ohne_client.j2 
 +    dest: /etc/network/interfaces 
 +    owner: root 
 +    group: root 
 +    mode: '0640' 
 +  when: ( raspberry_clientvlan|length == 0 ) and ( raspberry_meshvlan|length > 0 ) 
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/client-mesh/tasks/meshundclient.yml>--- 
 + 
 +- name: "Konfiguration von Mesh- und Client-VLAN" 
 +  ansible.builtin.template: 
 +    src: templates/interfaces_mesh_mit_client.j2 
 +    dest: /etc/network/interfaces 
 +    owner: root 
 +    group: root 
 +    mode: '0640' 
 +  when: ( raspberry_clientvlan|length > 0 ) and ( raspberry_meshvlan|length > 0 ) 
 + 
 +...</file> 
 + 
 +<file c++  ~/ansible/roles/client-mesh/tasks/batmanohnewifi.yml>--- 
 + 
 +- name: "Konfiguration des bevorzugte Meshingpoint in BATMAN_V ohne Wifi-Nutzung" 
 +  ansible.builtin.template: 
 +    src: templates/rclocal_vxlan.j2 
 +    dest: /etc/rc.local 
 +    owner: root 
 +    group: root 
 +    mode: '0750' 
 +  when: ( raspberry_meshvlan|length > 0 ) and ( raspberry_wifi != "true"
 + 
 +...</file> 
 + 
 + 
 +<file c++ ~/ansible/roles/client-mesh/tasks/batmanmitwifi.yml>--- 
 + 
 +- name: "Konfiguration des bevorzugte Meshingpoint in BATMAN_V mit Wifi-Nutzung" 
 +  ansible.builtin.template: 
 +    src: templates/rclocal_both.j2 
 +    dest: /etc/rc.local 
 +    owner: root 
 +    group: root 
 +    mode: '0750' 
 +  when: ( raspberry_meshvlan|length > 0 ) and ( raspberry_wifi == "true"
 + 
 +...</file>
  
 == Templates == == Templates ==
-<file java ~/ansible/roles/client-mesh/templates/interfaces_client_ohne_mesh.j2># interfaces(5) file used by ifup(8) and ifdown(8)+<file c++ ~/ansible/roles/client-mesh/templates/interfaces_client_ohne_mesh.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually! 
 +# interfaces(5) file used by ifup(8) and ifdown(8)
  
 # Please note that this file is written to be used with dhcpcd # Please note that this file is written to be used with dhcpcd
Zeile 1483: Zeile 1644:
         pre-up /usr/sbin/batctl meshif bat-{{ ffmuc_segment }} gw_mode client         pre-up /usr/sbin/batctl meshif bat-{{ ffmuc_segment }} gw_mode client
         pre-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev bat-{{ ffmuc_segment }}         pre-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev bat-{{ ffmuc_segment }}
-        post-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev br-{{ ffmuc_segment }} +        post-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev br-{{ ffmuc_segment }}</file> 
-</file>+
  
-<file java ~/ansible/roles/client-mesh/templates/interfaces_mesh_mit_client.j2># interfaces(5) file used by ifup(8) and ifdown(8)+<file c++ ~/ansible/roles/client-mesh/templates/interfaces_mesh_mit_client.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually! 
 +# interfaces(5) file used by ifup(8) and ifdown(8)
  
 # Please note that this file is written to be used with dhcpcd # Please note that this file is written to be used with dhcpcd
Zeile 1523: Zeile 1685:
 </file> </file>
  
-<file java ~/ansible/roles/client-mesh/templates/interfaces_mesh_ohne_client.j2># interfaces(5) file used by ifup(8) and ifdown(8)+ 
 +<file java ~/ansible/roles/client-mesh/templates/interfaces_mesh_ohne_client.j2># Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually! 
 +# interfaces(5) file used by ifup(8) and ifdown(8)
  
 # Please note that this file is written to be used with dhcpcd # Please note that this file is written to be used with dhcpcd
Zeile 1554: Zeile 1718:
         pre-up /usr/sbin/batctl meshif bat-{{ ffmuc_segment }} gw_mode client         pre-up /usr/sbin/batctl meshif bat-{{ ffmuc_segment }} gw_mode client
         pre-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev bat-{{ ffmuc_segment }}         pre-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev bat-{{ ffmuc_segment }}
-        post-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev br-{{ ffmuc_segment }} +        post-up /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev br-{{ ffmuc_segment }}</file> 
-</file>+
  
 <file bash ~/ansible/roles/client-mesh/templates/rclocal_both.j2>#!/bin/sh -e <file bash ~/ansible/roles/client-mesh/templates/rclocal_both.j2>#!/bin/sh -e
 +# Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually!
 # #
 # rc.local # rc.local
Zeile 1577: Zeile 1742:
 sleep 10; /sbin/brctl addif br-{{ ffmuc_segment }} wlan0 sleep 10; /sbin/brctl addif br-{{ ffmuc_segment }} wlan0
 /usr/sbin/batctl hardif mesh-vpn throughput_override 10000 /usr/sbin/batctl hardif mesh-vpn throughput_override 10000
-exit 0 +exit 0</file> 
-</file>+
  
 <file bash ~/ansible/roles/client-mesh/templates/rclocal_vxlan.j2>#!/bin/sh -e <file bash ~/ansible/roles/client-mesh/templates/rclocal_vxlan.j2>#!/bin/sh -e
 +# Generated by Ansible on {{ ansible_date_time.date }}, do not edit manually!
 # #
 # rc.local # rc.local
Zeile 1599: Zeile 1765:
 fi fi
 /usr/sbin/batctl hardif mesh-vpn throughput_override 10000 /usr/sbin/batctl hardif mesh-vpn throughput_override 10000
-exit 0 +exit 0</file>
-</file> +
  
 +/* 
 === Rolle "oled" === === Rolle "oled" ===
 == Tasks == == Tasks ==
Zeile 2041: Zeile 2206:
 </file> </file>
  
 +*/
  
 === Rolle "final" === === Rolle "final" ===
 == Tasks == == Tasks ==
 <file java ~/ansible/roles/final/tasks/main.yml>--- # Reboot nach Abschluss der Konfiguration unseres Offloaders <file java ~/ansible/roles/final/tasks/main.yml>--- # Reboot nach Abschluss der Konfiguration unseres Offloaders
-- include: reboot.yml                   # /etc/hosts anpassen +- include: reboot.yml                   # abschließender Reboot nach Fertigstellung 
-... #YAML Ende Syntax +... # YML Ende</file> 
-</file>+
  
 <file java ~/ansible/roles/final/tasks/reboot.yml>--- <file java ~/ansible/roles/final/tasks/reboot.yml>---
-  - name: "Reboot nach Abschluss der Konfiguration unseres Offloaders" + 
-    # https://docs.ansible.com/ansible/latest/modules/reboot_module.html +- name: "Reboot nach Abschluss der Konfiguration unseres Offloaders" 
-    reboot: +  ansible.builtin.reboot: 
-</file>+ 
 +...</file>
  
 ==== Download des auf Debian Buster basierenden Raspbian ==== ==== Download des auf Debian Buster basierenden Raspbian ====
  • linux/ansible/ffmuc-rpb4-ol.txt
  • Zuletzt geändert: 27.09.2022 15:47.
  • von django