====== 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" } }