Howto/Tinc-Keys generieren

< Howto
Version vom 29. Januar 2019, 19:44 Uhr von Florian (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

ACHTUNG - in unserem Freifunk-Netz nutzen wir inzwischen kein tincd mehr als VPN, sondern fastd

Um mit tincd keys zu generieren benutzt man generell:

tincd -K

Dann muss man aber manuell den Ort der beiden keys festlegen. Das ist recht hinderlich, wenn man viele Keys gleichzeitig generieren will. Aber zum Glück gibt es expect.

 #!/usr/bin/bash

 for i in {1..31}
 do
        expect -c "spawn tincd -K" -c "expect \":\"" -c "send \"/root/tinc_keys/gate$i.priv\r\"" -c "expect \":\"" -c "send \"/root/tinc_keys/gate$i\r\"" -c "interact"
        temp=$((i*4))
        sed -i '1i Subnet=10.37.'"$temp"'.0\/22' /root/tinc_keys/gate$i
        sed -i '1i Compression=0' /root/tinc_keys/gate$i
        sed -i '1i Cipher=aes-128-cbc' /root/tinc_keys/gate$i
        sed -i '1i Address=gate'"$i"'.freifunk-mainz.de' /root/tinc_keys/gate$i

 done

Expect startet "spawn" tincd -K, wartet auf ein ":" und schreibt dann den pfad des private keys. Danach das selbe wie für den public key. "Interact" ist notwendig, damit die Key Generierung zu ende laufen kann. Damit man die public keys direkt als host definitionen im hosts ordner von tinc verwendet werden können, werden hier auch die sonstigen configs hinzugefügt, indem mit sed eine Zeile eingefügt wird.