Wiki - Freifunk Pinneberg

Freies WLAN im Kreis Pinneberg

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lsyncd

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:

lsyncd_init.sh
#!/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

/etc/lsyncd/lsyncd.conf.lua
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"
	}
}
lsyncd.txt · Zuletzt geändert: 17.07.2021 11:10 von havelock