====== Peer-Synchronisation mit lsyncd ======
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
===== Installation (Gate01) =====
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"
}
}