Administration/Handbücher/Debugging einer Supernode
Diese Wikiseite gibt einen Überblick über Debuggingmöglichkeiten auf einer in unser Hoodsetup eingegliederten Supernode.
Historische Statistik zur Serverauslastung
Munin generiert eine historische Statistik zur Serverauslastung.
B.A.T.M.A.N.
Zur Kontrolle von B.A.T.M.A.N. wird das Kommando batctl genutzt. Die Manpage liefert eine detaillierte Dokumentation.
Da auf einem Server theoretisch mehrere Hoods laufen können und somit auch mehrere Batman interfaces vorhanden sein können nutzen wir nicht das Standard Batman interface (bat0) sondern vergeben für die Batman interfaces eigene Namen mit dem Prefix "bat-".
Beim Aufruf des Kommandos batctl muss das Batman interface auf das sich das Kommando beziehen soll daher immer mitangegeben werden:
batctl -m bat-stadtos o
B.A.T.M.A.N.-Log
dmesg | grep batman_adv
Originators zählen
batctl -m bat-stadtos o | wc -l
Fastd
Fastd-Log
journalctl -f -u fastd@<INSTANZ>.service
Um die Instanz herauszufinden kann man Autocompletion nutzen.
DHCP
Dnsmasq-Log
journalctl -f -u dnsmasq.service
Traceroute
traceroute -s 10.18.144.1 google.de traceroute to google.de (172.217.20.99), 30 hops max, 60 byte packets 1 10.18.1.5 (10.18.1.5) 0.344 ms 0.334 ms 0.324 ms 2 100.64.4.188 (100.64.4.188) 21.665 ms 21.678 ms 21.675 ms 3 google.ber.ecix.net (194.9.117.34) 21.678 ms 21.675 ms 21.669 ms 4 209.85.249.182 (209.85.249.182) 22.361 ms 209.85.249.184 (209.85.249.184)
Backboneverbindung prüfen
birdc -> show protocols ibgp-gw-ol-01.sn.ffnw.de BGP master up 04:11:53 Established ibgp-test01.sn.ffnw.de BGP master up 04:12:55 Established
default-Route checken
IPv4
ip r s t 42 | grep "default" :( default via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4
IPv6
ip -6 r s t 42 | grep "default" :( default via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4
Trafficanalyse
Durchsatz der Supernode messen
IPv4
wget --bind-address=10.18.XX.1 http://proof.ovh.net/files/10Gb.dat
IPv6
wget --bind-address=IPV6-die-auf-bat-xxx-liegt http://proof.ovh.net/files/10Gb.dat
Liveanalyse
vnstat -l -i fastd-stadtos0
Routing
Auf unseren Supernodes unterscheiden wir zwischen statischem und dynamischen Routing, siehe auch den entsprechenden Artikel in der Wikipedia.
* Statische Routen: werden direkt auf dem Server in /etc/network/interfaces.d/<interface> konfiguriert und vom Kernel gesetzt * Dynamische Routen: werden mithilfe von Routingprotokollen und dem Deamon Bird von anderen Routingteilnehmern (andere Supernodes) über das Supernode-Backbone empfangen und automatisch gesetzt
Siehe http://linux-ip.net/html/tools-ip-route.html
Bird-Log
IPv4
journalctl -f -u bird.service
IPv6
journalctl -f -u bird6.service
Liste aller genutzen Routingtabellen
ip route show table all | grep "table" | sed 's/.*\(table.*\)/\1/g' | awk '{print $2}' | sort | uniq
http://serverfault.com/a/618877
Routingtabelle main
Mit folgendem Befehl kann man sich die Routingtabelle main der Supernode anzeigen lassen. Die Routingtabelle main ist die Standardtabelle für die Befehle route und ip route. Sie enthält idR. die statischen Routen.
ip route show table main
bzw.
ip route show
Die minimale Routigtabelle main einer Supernode sollte so aussehen:
root@gw-os01 /home/floh1111 # ip route show # Alle Adressen für die kein spezielles Routing definiert ist nutzen die Defaultroute # über den Default-Gatway des Rechenzentrums mit der IP 5.9.56.3. Dieser Traffic geht direkt # über das Interface eth0 raus. default via 5.9.56.3 dev eth0 # Die Adresse 5.9.56.3 ist von der IP-Adresse 5.9.56.25 aus über das Interface eth0 erreichbar 5.9.56.3 dev eth0 proto kernel scope link src 5.9.56.25 # Alle IP-Adressen des Netzes 10.18.144.0/21 sind von der IP-Adresse 10.18.144.1 # über das Interface bat-stadtos erreichbar. # Hierbei handelt es sich um die Route zu den über Batman-Nodes angebundenen Clients 10.18.144.0/21 dev bat-stadtos proto kernel scope link src 10.18.144.1 # Alle IP-Adressen des Netzes 10.18.248.4/31 sind von der IP-Adresse 10.18.248.4 # über das Interface bb-ol01 erreichbar. # Hierbei handelt es sich um beiden Enpunkte der Backbone-Verbindung ol01. # Diese Route wird in Bird konfiguriert. 10.18.248.4/31 dev bb-ol01 proto kernel scope link src 10.18.248.4 # Alle IP-Adressen des Netzes 10.207.0.0/16 sind von der IP-Adresse 10.207.18.4 # über das Interface icvpn erreichbar. # Hierbei handelt es sich um die Teilnehmer des IC-VPN 10.207.0.0/16 dev icvpn proto kernel scope link src 10.207.18.4
Zu den Erklärungen was die Werte für proto und scope bedeuten siehe auch http://linux.die.net/man/8/ip in den Abschnitten scope SCOPE_VALUE und protocol RTPROTO.
Routingtabelle 42
Die Routingtabelle 42 ist die von Bird verwaltete Routingtabelle und enthält die dynamischen Routen. Der Name 42 ist willkürlich gewählt.
root@gw-os01 /etc/bird # ip r s t 42 default via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 unreachable 10.18.0.0/16 proto bird src 10.18.1.4 10.18.1.1 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.1.3 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.1.4 dev lo proto bird src 10.18.1.4 10.18.1.5 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.128.0/21 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.136.0/21 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.144.0/21 dev bat-stadtos proto bird src 10.18.1.4 10.18.152.0/21 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.248.0/31 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.248.2/31 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.18.248.4/31 dev bb-ol01 proto bird src 10.18.1.4 10.18.248.6/31 via 10.18.248.5 dev bb-ol01 proto bird src 10.18.1.4 10.207.0.0/16 dev icvpn proto bird src 10.18.1.4