-ping
+#!/bin/bash
+
+# Wir brauchen: $ip $newhostname $macen $macwl
+# Der neue Rechner muss mit PXE und Preseed fertig sein
+
+ip="$1"
+newhostname="$2"
+
+# Nach den Werten fragen und in Variable schreiben,
+# wenn diese beim Aufruf vergessen wurden.
+if [ -z $ip ]
+then
+ read -p "ip-Adresse des neuen Rechners: " ip
+fi
+if [ -z $newhostname ]
+then
+ read -p "Hostname des neuen Rechners: " newhostname
+fi
+
+# temporaere hosts-Datei fuer ansible
+echo "$ip" > temphosts
+#cat temphosts
+
+# Pruefe, ob $ip in custom-list
+# wenn ja --> Abbruch
+#if grep ${ip} files/dns-pihole_custom.list
+#then
+# echo "IP bereits in dns-pihole_custom.list eingetragen"
+# echo " bitte entfernen oder andere IP auswählen! Abbruch :-("
+# exit 1
+#fi
+
+# suche in ../client-mgt/hosts nach $newhostname
+# wenn nein
+# stop,
+# Echo nicht in hosts dazhei, eingetragen, dann weiter
+if grep ${newhostname} ../client-mgt/hosts
+then
+ echo "Rechnername in hosts-Datei eingetragen, suupi!"
+else
+ echo "Rechnername fehlt in ../client-mgt/hosts. Abbruch :-("
+ exit 1
+fi
+
+# suche in /home/ansible/.ssh/known_hosts nach $ip
+# wenn ja
+ssh-keygen -f "/home/ansible/.ssh/known_hosts" -R "$ip"
+#if grep ${ip} $HOME/.ssh/known_hosts
+
+ssh -o BatchMode=yes -o ConnectTimeout=5 -o StrictHostKeyChecking=no ${ip} 'exit 0'
+if [ $? != 0 ]
+then
+ echo "Host nicht per SSH erreichbar! Abbruch :-("
+ exit 1
+fi
+
+# MAC-Adressen finden
+macen=$(ssh ${ip} cat /sys/class/net/en*/address)
+echo "MAC-Ethernet: $macen"
+macwl=$(ssh ${ip} cat /sys/class/net/wl*/address)
+echo "MAC-WLAN: $macwl"
+
+if [ -z $macwl ]
+then
+ echo "dhcp-host=${macen},${ip},${newhostname}" >> files/dns20-pihole_04-pihole-static-dhcp.conf
+else
+ echo "dhcp-host=${macen},${macwl},${ip},${newhostname}" >> files/dns20-pihole_04-pihole-static-dhcp.conf
+fi
+
+# Hostnamen aendern
+oldhostname=$(ssh ${ip} hostname)
+ssh ${ip} sudo hostnamectl set-hostname ${newhostname}
+# change in /etc/hosts
+ssh ${ip} sudo sed -i "s/$oldhostname/$newhostname/" /etc/hosts
+
+echo "$ip $newhostname" >> files/dns-pihole_custom.list
+
+echo
+echo "Prüfe, ob Host perAnsible erreichbar ist"
+ansible ${ip} -i temphosts -m ping
+
+echo
+echo "Alle DNS-Server mit neuen Listen versorgen"
+ansible-playbook pihole-update.yml
+
+echo
+echo "pruefen, ob DNS-Aufloesung fuer neuen Host funktioniert"
+ping -c 3 ${newhostname}
+
+# temporaere Dateien loeschen"
+rm temphosts
+
+echo
+echo "+++ pihole static-dhcp file +++"
+tail files/dns20-pihole_04-pihole-static-dhcp.conf
+
+echo
+echo "+++ pihole custom list"
+tail files/dns-pihole_custom.list
+
+echo
+echo "fertig?"
+echo "fertig!"
+echo " :-)"
+
+###
+#ansible ${ip} -i newhost -m ping
+#ansible ${ip} -i newhost -m gather_facts
+#ansible ${ip} -i newhost -m ansible.builtin.setup -a 'filter=ansible_wlp4s0'
+