Howto/Tinc-Keys generieren

Aus Freifunk MWU Wiki
Wechseln zu: Navigation, Suche

ACHTUNG - in unserem Freifunk-Netz nutzen wir inzwischen fast statt tincd

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.