|
@@ -4,13 +4,12 @@ title: Ansible ff@home aufsetzen
|
|
toc: yes
|
|
toc: yes
|
|
...
|
|
...
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
# Software
|
|
# Software
|
|
- Debian 12 (bookworm) oder Ubuntu 22.04
|
|
- Debian 12 (bookworm) oder Ubuntu 22.04
|
|
- python3 und ansible
|
|
- python3 und ansible
|
|
|
|
|
|
***** Es empfiehlt sich, eine python virtuelle Umgebung zu verwenden *****
|
|
***** Es empfiehlt sich, eine python virtuelle Umgebung zu verwenden *****
|
|
|
|
+ Nur für die folgende Paketinstallation sind root-Rechte erforderlich,alle weiteren Terminaleingaben erfolgen als normaler user.
|
|
Die folgenden Pakete installieren:
|
|
Die folgenden Pakete installieren:
|
|
|
|
|
|
sudo apt install python3-pip python3-venv
|
|
sudo apt install python3-pip python3-venv
|
|
@@ -32,13 +31,15 @@ Zum Verlassen der Umgebung:
|
|
deactivate oder Terminal Fenster schliessen
|
|
deactivate oder Terminal Fenster schliessen
|
|
|
|
|
|
Jetzt kann ansible in der ffhome Umgebung installiert werden:
|
|
Jetzt kann ansible in der ffhome Umgebung installiert werden:
|
|
|
|
+
|
|
pip3 install ansible
|
|
pip3 install ansible
|
|
|
|
|
|
|
|
|
|
18:11:20[frankb@berglap /datadisk/ffhome 0]
|
|
18:11:20[frankb@berglap /datadisk/ffhome 0]
|
|
Die Verzeichnistruktur der Testumgebung
|
|
Die Verzeichnistruktur der Testumgebung
|
|
|
|
|
|
- tree -L 4 /datadisk/ffhome
|
|
|
|
|
|
+ tree -L 4 /datadisk/ffhome
|
|
|
|
+
|
|
/datadisk/ffhome
|
|
/datadisk/ffhome
|
|
├── ansible.cfg
|
|
├── ansible.cfg
|
|
├── bin
|
|
├── bin
|
|
@@ -54,27 +55,24 @@ Die Verzeichnistruktur der Testumgebung
|
|
├── inventory
|
|
├── inventory
|
|
│ ├── hosts.yaml
|
|
│ ├── hosts.yaml
|
|
│ └── host_vars
|
|
│ └── host_vars
|
|
- | │ ├── bergdesk
|
|
|
|
- │ │ │ ├── vars
|
|
|
|
- │ │ │ ├── vars.01.bak
|
|
|
|
- │ │ │ ├── vars.02.bak
|
|
|
|
- │ │ │ └── vault
|
|
|
|
- │ │ ├── berghofen
|
|
|
|
- │ │ │ ├── vars
|
|
|
|
- │ │ │ ├── vars.01.bak
|
|
|
|
- │ │ │ ├── vars.bak
|
|
|
|
- │ │ │ └── vault
|
|
|
|
- │ │ ├── berglap
|
|
|
|
- │ │ │ ├── vars
|
|
|
|
- │ │ │ ├── vars.01.bak
|
|
|
|
- │ │ │ ├── vars.bak
|
|
|
|
- │ │ │ └── vault
|
|
|
|
- │ │ └── luna
|
|
|
|
- │ │ ├── vars
|
|
|
|
- │ │ └── vault
|
|
|
|
- │ └── resources
|
|
|
|
- │ └── host
|
|
|
|
- │ └── bergdesk
|
|
|
|
|
|
+ | ├── bergdesk
|
|
|
|
+ │ │ ├── vars
|
|
|
|
+ │ │ ├── vars.01.bak
|
|
|
|
+ │ │ ├── vars.02.bak
|
|
|
|
+ │ │ └── vault
|
|
|
|
+ │ ├── berghofen
|
|
|
|
+ │ │ ├── vars
|
|
|
|
+ │ │ ├── vars.01.bak
|
|
|
|
+ │ │ ├── vars.bak
|
|
|
|
+ │ │ └── vault
|
|
|
|
+ │ ├── berglap
|
|
|
|
+ │ │ ├── vars
|
|
|
|
+ │ │ ├── vars.01.bak
|
|
|
|
+ │ │ ├── vars.bak
|
|
|
|
+ │ │ └── vault
|
|
|
|
+ │ └── luna
|
|
|
|
+ │ ├── vars
|
|
|
|
+ │ └── vault
|
|
├── lib
|
|
├── lib
|
|
│ └── python3.10
|
|
│ └── python3.10
|
|
├── lib64 -> lib
|
|
├── lib64 -> lib
|
|
@@ -166,10 +164,10 @@ Datei mit den beteiligten Hosts inventory/hosts.yaml
|
|
Die Gruppen apus und desktops enthalten die testhosts, die Gruppen altlast und supernodes sind nicht komplett einbezogen.
|
|
Die Gruppen apus und desktops enthalten die testhosts, die Gruppen altlast und supernodes sind nicht komplett einbezogen.
|
|
|
|
|
|
|
|
|
|
-Im Verzeichnis inventory/host_vars sind Variablen für die einzelnen hosts, u.a. die passwords, in vars unverschlüsselt, in vault aes256 geschützt. Weiter sind Parameter für tinc enthalten, nur in vars, unverschlüsselt..
|
|
|
|
|
|
+Im Verzeichnis inventory/host_vars sind Variablen für die einzelnen hosts, u.a. die passwords, in vars unverschlüsselt, in vault aes256 geschützt. Weiter sind Parameter für tinc enthalten, nur in vars, unverschlüsselt.
|
|
Beispielhaft für berghofen
|
|
Beispielhaft für berghofen
|
|
|
|
|
|
-berghofen/vars
|
|
|
|
|
|
+cat berghofen/vars
|
|
|
|
|
|
|
|
|
|
---
|
|
---
|
|
@@ -182,7 +180,7 @@ berghofen/vars
|
|
lan_ip: 192.168.34.1/24
|
|
lan_ip: 192.168.34.1/24
|
|
|
|
|
|
|
|
|
|
-berghofen/vault
|
|
|
|
|
|
+cat berghofen/vault
|
|
|
|
|
|
|
|
|
|
$ANSIBLE_VAULT;1.2;AES256;xx
|
|
$ANSIBLE_VAULT;1.2;AES256;xx
|
|
@@ -222,8 +220,7 @@ und wieder entschlüsseln mit
|
|
Es gibt z.Zt. zwei playbooks: update.yaml und tincbuild.yaml
|
|
Es gibt z.Zt. zwei playbooks: update.yaml und tincbuild.yaml
|
|
|
|
|
|
|
|
|
|
-playbooks/update.yaml
|
|
|
|
-
|
|
|
|
|
|
+cat playbooks/update.yaml
|
|
|
|
|
|
|
|
|
|
---
|
|
---
|
|
@@ -296,8 +293,7 @@ playbooks/update.yaml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-playbooks/tincbuild.yaml
|
|
|
|
-
|
|
|
|
|
|
+cat playbooks/tincbuild.yaml
|
|
|
|
|
|
---
|
|
---
|
|
# name: tincbuild yaml
|
|
# name: tincbuild yaml
|
|
@@ -494,6 +490,24 @@ playbooks/tincbuild.yaml
|
|
- meta: end_play
|
|
- meta: end_play
|
|
|
|
|
|
|
|
|
|
|
|
+Für tinc-up werden folgende templates verwendet
|
|
|
|
+
|
|
|
|
+cat playbooks/templates/tinc-up.lan.j2
|
|
|
|
+
|
|
|
|
+ #!/bin/sh
|
|
|
|
+
|
|
|
|
+ ip addr add {{ lan_ip }} brd {{ lan_broadcast_ip }} dev $INTERFACE
|
|
|
|
+ ip link set $INTERFACE mtu 1504 up
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+cat playbooks/templates/tinc-up.wan.j2
|
|
|
|
+
|
|
|
|
+ #!/bin/sh
|
|
|
|
+
|
|
|
|
+ ip addr add {{ wan_ip }} brd {{ wan_broadcast_ip }} dev $INTERFACE
|
|
|
|
+ ip link set $INTERFACE mtu 1504 up
|
|
|
|
+
|
|
|
|
|
|
Aufruf der beiden playbooks mit
|
|
Aufruf der beiden playbooks mit
|
|
|
|
|
|
@@ -573,3 +587,4 @@ Gekürzte Ausgabe:
|
|
hoerde : ok=5 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
|
|
hoerde : ok=5 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
|
|
luna : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0
|
|
luna : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0
|
|
|
|
|
|
|
|
+
|