Die Peers sollen nur auf einem Gateway gepflegt werden müssen. Änderungen werden automatisch an die weiteren Server verteilt. Nach der Verteilung erfolgt dort auch gleich die Aktivierung, dafür wird incron verwendet.
Für die Übertragung wird ein Schlüsselpaar benötigt:
lsync
und lsync.pub
.
Die Synchronisation läuft im Benutzerkontext von fastd
.
Das geschieht aus Bequemlichkeitsgründen und weil die Peer-Dateien
sowieso dem Benutzer fastd
gehören.
Auf den Zielsystemen muß also der öffentliche Schlüssel lsync.pub
in
die authorized_keys
-Datei eingetragen werden:
cd /etc/fastd mkdir .ssh chmod 700 .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys nano .ssh/authorized_keys
Initialisieren eines neuen Gateways:
#!/bin/bash # # Initialisiere das peers-Verzeichnis auf dem angegebenen # Gateway # GATEWAY=gate03.pinneberg.freifunk.net PEERS_DIR=/etc/fastd/ffpi/peers/ rsync -e 'ssh -l fastd -i /etc/lsyncd/lsync -o StrictHostKeyChecking=no' \ -azv $PEERS_DIR $GATEWAY:$PEERS_DIR
apt-get install lsyncd mkdir /etc/lsyncd mkdir /var/log/lsyncd cd /etc/lsyncd ssh-keygen -t rsa -b 2048 -f ./lsync -P "" -C "lsync"
Konfigurationsdatei
settings { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/status.log", statusInterval = 20 } -- fastd Peers sync { default.rsync, source = "/etc/fastd/ffpi/peers/", target = "10.137.12.1:/etc/fastd/ffpi/peers/", exclude = { "*~" }, delay = 30, rsync = { compress = true, acls = true, verbose = true, rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no -l fastd -i /etc/lsyncd/lsync" } }