Dies ist eine alte Version des Dokuments!
Doku von Freifunk Mainz/Wiesbaden/Umgebung
Kurzanleitung für Ubuntu 14.04
Bird6 konfigurieren
router id 10.191.255.17; # z.B. 10.191.255.10
# Filter definieren
filter ffs_filter {
krt_metric = 100;
if net ~ [ fd21:b4dc:4b00::/56+ ] then accept;
else reject;
}
protocol kernel {
learn; # Learn all alien routes from the kernel
persist no;
scan time 20; # Scan kernel routing table every 20 seconds
import filter ffs_filter;
kernel table 70; # fuer table stuttgart
export filter ffs_filter; # Propagate routes with low metric into kernel table
device routes;
}
# This pseudo-protocol watches all interface up/down events.
protocol device {
scan time 10; # Scan interfaces every 10 seconds
}
protocol ospf ffsBackbone {
preference 100; # prio zahl
rfc1583compat no; # Metrik gem. OSPFv2, RFC 2328
stub router no; # Box macht ggf. auch Transit-Traffic
tick 1; # Topologie-Berechnungen nur alle 1s
ecmp no; # Kein Equal-Cost-Multipath, um Problemen mit unterschiedlichen
# Uplinks aus dem Weg zu gehen
import filter ffs_filter;
export filter ffs_filter;
area 0.0.0.0 { # Backbone-Area
external{
::/0;
};
interface "ffsbb" { # Run OSPF over VPN
cost 100;
hello 10;
poll 20;
retransmit 5;
priority 10;
wait 40;
type bcast;
};
};
};
Freifunk Aktualisierungen
/etc/rc,local einfuegen
/usr/local/bin/update-ff &
/usr/local/bin/update-ff
#!/bin/sh
wwwpfad="/var/www/html"
vpns="vpn03"
# Endlosschleife
while : ; do
## ffs Peers aktualisieren
cd /etc/fastd/peers
back=$( git pull )
echo "fastd-peers: $back"
/usr/local/bin/update_peers.py --repo /etc/fastd/peers
## ffsbb aktualisieren
cd /root/tinc-ffsbb/
back=$( git pull )
echo "tinc-ffsbb: $back"
tincd -n ffsbb -k HUP
# Status veroeffentlichen
for i in $vpns; do
status.pl /var/run/fastd-$i.status | jq . | grep -v "\"address\": " >$wwwpfad/data/fastd-status-$i.json
done
echo "*** fertig ***"
sleep 120
done
Tinc VPN Layer 2 einrichten
- Es wird ein Tinc Netz 10.191.255.0/24 erstellt auf jedem GW und den DHCP Servern, evtl. auch noch auf Servern die Dienste innerhalb Freifunk anbieten
- 3 DHCP Server erhalten die IPs 10.191.255.251/24, 10.191.255.252/24, 10.191.255.253/24, diese werden bei den GWs als Relay Server eingetragen
- die Gateways nutzen erhalten eine IP in 10-191.255.x/24.
- Jeder GW macht in Tinc 3 VPN Connects zu den 3 DHCP Servern, diese fungieren als Zentralen des VPN Netzes.
- IPv6 entsprechend einrichten
- Das wars!
/etc/default/tinc einfügen (damit etwas mehr im Logfile/syslog steht)
echo 'EXTRA="-d 2"' >> /etc/default/tinc
mkdir -p /etc/tinc/ffsbb/hosts
/etc/tinc/ffsbb/tinc.conf erstellen
Name = gw07n99 ConnectTo = dhcp01 ConnectTo = dhcp02 ConnectTo = dhcp03 Mode = switch Port = 6551 #GraphDumpFile = /tmp/ffs.gv
/etc/tinc/ffsbb/tinc-up erstellen
#!/bin/sh ip addr add 10.191.255.99/24 broadcast 10.191.255.255 dev $INTERFACE ip link set $INTERFACE up ip rule add iif $INTERFACE table stuttgart priority 7000 ip route add 10.191.255.0/24 proto kernel scope link src 10.191.255.99 dev $INTERFACE table stuttgart ip addr add fd21:b4dc:4b00::a38:9900/64 dev $INTERFACE
chmod +x /etc/tinc/ffsbb/tinc-up
tincd -n ffsbb -K
2 x Return drücken
/etc/tinc/ffsbb/hosts/gw07n99 am Anfang hinzufügen:
address = gw07n99.freifunk-stuttgart.de port = 6551
echo ffsbb >> /etc/tinc/nets.boot
service tinc restart
/etc/tinc/ffsbb/hosts/gw07n99 ins Git kopieren: https://github.com/freifunk-stuttgart/tinc-ffsbb
Tinc VPN Layer 2 einrichten Teil2, hosts Dateien aus Git holen
git clone https://github.com/freifunk-stuttgart/tinc-ffsbb /root/tinc-ffsbb
Alte hosts umbenennen als Backup
mv /etc/tinc/ffsbb/hosts /etc/tinc/ffsbb/hosts.1
Git Dateien verwenden
ln -s /root/tinc-ffsbb/hosts /etc/tinc/ffsbb/hosts
service tinc restart
Gateway sicher vom Netz nehmen
Wenn ein Gateway aus dem Netz raus soll, bitte wiefolgt vorgehen, damit es keine Ausfälle bei den Nodes und Clients gibt
- batctl gw off
- 1 Minute warten
- DHCP Server deaktivieren, bei Dnsmasq die Datei /etc/dnsmasq.d/dhcp entfernen und dnsmasq neu starten
- 10 Minuten warten, damit die Clients eine IP vom Alternativ-DHCP Server bekommen
- fastd beenden
gw setup howto