Admintagebuch - Dokumentation der Admintätigkeiten

  • Diverse Wordpress Plugins aktualisiert.
  • Links aktualisiert
    • Der Link zum Wiki führt nun zu unserem “neuen” Wiki und nicht mehr zum Alten.
    • Den Link zur Karte aktualisiert (der alte Link macht zwar nen 301er, aber so ist’s schöner).
  • Kontakt-Widget umsortiert und ein Link zu unserem Chat hinzugefügt (geht die Anmeldung da eigentlich wieder?)
  • Widget “weitere kanäle” hinzugefügt. Ich hoffe es war ok dort den FFMS Twitter&FB Account einzutragen.
2 „Gefällt mir“
  • Ansible-Rolle für HopGlass auf unser Repo angepasst
  • config.json.j2-Template angepasst, sodass die Domänen nun untereinander stehen sollten nach dem nächsten Ausrollen

SSL Zertifikat für freifunk-muensterland.de ausgetauscht.

Dist-Upgrade durchgeführt und reboot gemacht

Cront für cert renew erstellt.

1 „Gefällt mir“
2 „Gefällt mir“

Nachdem der bind auf des1 heute zwei mal seinen Dienst eingestellt hat

root@des1 ~ # cat /var/log/named/bind.log
14-Mar-2017 18:38:31.733 general: critical: adb.c:3160: INSIST((((entry) != ((void *)0)) && (((const isc__magic_t *)(entry))->magic == ((('a') << 24 | ('d') << 16 | ('b') << 8 | ('E')))))) failed, back trace
14-Mar-2017 18:38:31.733 general: critical: #0 0x55fa34175a20 in ??
14-Mar-2017 18:38:31.733 general: critical: #1 0x7fbc898708ea in ??
14-Mar-2017 18:38:31.733 general: critical: #2 0x7fbc8ae8fe30 in ??
14-Mar-2017 18:38:31.733 general: critical: #3 0x7fbc8af45c13 in ??
14-Mar-2017 18:38:31.733 general: critical: #4 0x7fbc8af4a8ec in ??
14-Mar-2017 18:38:31.733 general: critical: #5 0x7fbc8af553ca in ??
14-Mar-2017 18:38:31.733 general: critical: #6 0x7fbc89892d5b in ??
14-Mar-2017 18:38:31.733 general: critical: #7 0x7fbc89243064 in ??
14-Mar-2017 18:38:31.733 general: critical: #8 0x7fbc88c1162d in ??
14-Mar-2017 18:38:31.733 general: critical: exiting (due to assertion failure)

und das Problem in CVE-2017-3135 beschrieben und der Patch bereits am 26.02.2017 (!) in Debian Jessie/8 zur Verfügung gestellt wurde, habe ich mich entschieden das mit den automatischen Updates einfach mal einzubauen:

https://github.com/FreiFunkMuenster/Ansible-Freifunk-Gateway/commit/c88c603fe0368e3ac4c8d54174d0ffed53e5ad1e

Das Argument gegen das automatisierte Installieren von Updates war ja immer, dass etwas schief gehen könnte und dann ein Dienst nicht mehr funktionieren könnte. Da das selbe Problem offenbar auch auftritt, wenn wir es nicht machen, ist das Argument imho hinfällig.

Die Updates werden täglich installiert, es wird jedoch nur einmal in der Woche neu gestartet. Der Reboot wurde über einen cron so realisiert, dass nicht in einer Nacht und zu einer Zeit alle Gateways gleichzeitig neu starten. Review und comments explizit erwünscht. Derzeit werden die jessie-updates, sowie die security updates installiert.

5 „Gefällt mir“

Ein Beitrag wurde in ein neues Thema verschoben: Kartenanzeige optimieren

apt update 
apt dist-upgrade
shutdown -r 03:00

auf dem Firmware-Server ausgeführt. Reboot also heute Nacht um 3:00 Uhr.

2 „Gefällt mir“

Ansible Rolle für bird aktualisiert:

  • man kann jetzt spezifische kosten für ospf über ffms-gre setzen.
  • es werden keine doppelten static Einträge in bird6.conf mehr gesetzt (Lösung ist zwar nicht schön, aber so ist das Leben mit jinja2 halt)
2 „Gefällt mir“

Remü-09 auf Wunsch von @BauerJup neu gestartet.

Da haben wir uns missverstanden ich meinte Remue Domäne9 also Remue8 , mittlerweile scheint es aber wahrscheinlicher dass die Aussetzer und hohen Laufzeiten an Frankfurt liegt.

@Handle hat uns zum Performance Test seine online.net dedibox zur verfügung gestellt.

  • Dedibox als Gateway handle in ansible angelegt.
  • Anbindung über nightbounce
  • Domäne 66 als Testdomäne auf handle angelegt.
  • Da auf handle ein Ubuntu 16.04 läuft die Gelegenheit genutzt und die Gateway Rollen Ubuntu-Tauglich gemacht.

nightbounce hat dafür vorhin einen Neustartsalto gemacht…

3 „Gefällt mir“

Firmware-Update der Ubiquiti-Geräte am Domplatz und der Richtfunkstrecke BEZ<->HAW durchgeführt.(Hauptsächlich Security-Fixes)

2 „Gefällt mir“

Ich hab mal auf Nightbounce eine neue experiementelle DNS-iptables-Regel aufgesetzt:

-N dns
-A INPUT -p udp -m udp --dport 53 -j dns
-A INPUT -p tcp -m tcp --dport 53 -j dns
-A dns -d 89.163.231.228/32 -j RETURN
-A dns -d 213.133.98.98/32 -j RETURN
-A dns -d 213.133.99.99/32 -j RETURN
-A dns -d 213.133.100.100/32 -j RETURN
-A dns -j MARK --set-xmark 0x1/0xffffffff

Die Idee ist, dass man erstmal alle DNS-Pakete in eine Tabelle namens DNS schiebt. Dort werden dann die Pakete, die wir ignorieren wollen (Service-VM und Hetzner-Server) wieder rausgeschmissen (RETURN) und alles was übrig bleibt, kriegt 'nen Stempel verpasst und wird durch’s Rheinland geschickt.

Ich überlege gerade, wie man das testet. Analog müsste man es dann noch für IPV6 bauen, das wäre aber dasselbe in grün.

Hab die Subdomain karte.freifunk-muensterland.de auf der Service VM mal aus dem Lets Encrypt Script entfernt damit der Renew nicht failt.


Ausserdem noch ein bisschen an den Mapserver Rollen geschraubt um es anderen Communitys die unsere Rollen nutzen möchten leichter zu machen.

  • Die Subdomain entspricht jetzt dem Hostname aus Ansible.

  • Caption Variable an den Node und Traffic Stats sind jetzt optional.

  • Konfiguration der Maps in Variablen verpackt.
3 „Gefällt mir“

Ich habe mal ein wenig an am hopglass gewerkelt. Ich habe zu jeder Änderung einen eigenen branch erstellt, damit wir leichter pull requests stellen können:

Außerdem habe ich den Branch ffms erstellt, von dem aus ich die Änderungen aus den anderen Branches cherrypicked habe. Diesen habe ich auch schon ins Ansible geklebt. Falls ihr selber spielen wollt, macht einfach einen weiteren Branch und achtet bitte darauf vorher den aktuellen Stand von upstream zu holen.

Zwei PullRequests habe ich auch schon gestellt:

Und das ganze in unser Ansible eingepflegt und ausgerollt:

PS: Schaut mal auf die Karte der Domäne 16, dort habe ich ein paar weitere Layer eingefügt (der DOP20 ist vermutlich am interessantesten). Die Karten kommen vom Land NRW / BezReg Köln, die dankenswerterweise seit Anfang des Jahres als Datenlizenz Deutschland - Namensnennung - Version 2.0 (www.govdata.de/dl-de/by-2-0) lizenziert sind: http://www.bezreg-koeln.nrw.de/brk_internet/geobasis/opendata/index.html

2 „Gefällt mir“

Sauberer wäre es mit einem Merge gegangen :).

1 „Gefällt mir“

Heute Nacht um ca. 3:40 Uhr hat sich auf Des1 der Tunneldigger Zerledert.

Mar 21 03:38:55 des1 python[13358]: Traceback (most recent call last):                    
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/local/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run                                                 
Mar 21 03:38:55 des1 python[13358]: result = self._run(*self.args, **self.kwargs)         
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/broker/l2tp_broker.py", line 1245, in _run                                                                              
Mar 21 03:38:55 des1 python[13358]: self.handler.handle(socket, data, address)            
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/broker/l2tp_broker.py", line 1190, in handle                                                                            
Mar 21 03:38:55 des1 python[13358]: prepare.cookie, prepare.tunnel_id or 1)               
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/broker/l2tp_broker.py", line 1080, in setup_tunnel                                                                      
Mar 21 03:38:55 des1 python[13358]: tunnel.setup()                                        
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/broker/l2tp_broker.py", line 430, in setup                                                                              
Mar 21 03:38:55 des1 python[13358]: self.setup_netfilter()                                
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/broker/l2tp_broker.py", line 738, in setup_netfilter                                                                    
Mar 21 03:38:55 des1 python[13358]: nat.append_rule('L2TP_PREROUTING_%s' % self.manager.namespace, self.prerouting_rule)                                                            
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/local/lib/python2.7/site-packages/netfilter/table.py", line 105, in append_rule                                         
Mar 21 03:38:55 des1 python[13358]: self.__run_iptables(['-A', chainname] + rule.specbits())                                                                                        
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/local/lib/python2.7/site-packages/netfilter/table.py", line 143, in __run_iptables                                      
Mar 21 03:38:55 des1 python[13358]: self.__run(cmd)                                       
Mar 21 03:38:55 des1 python[13358]: File "/srv/tunneldigger/local/lib/python2.7/site-packages/netfilter/table.py", line 151, in __run                                               
Mar 21 03:38:55 des1 python[13358]: close_fds=True)                                       
Mar 21 03:38:55 des1 python[13358]: File "/usr/lib/python2.7/subprocess.py", line 702, in __init__                                                                                  
Mar 21 03:38:55 des1 python[13358]: errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr)                                                                         
Mar 21 03:38:55 des1 python[13358]: File "/usr/lib/python2.7/subprocess.py", line 1130, in _get_handles                                                                             
Mar 21 03:38:55 des1 python[13358]: c2pread, c2pwrite = self.pipe_cloexec()               
Mar 21 03:38:55 des1 python[13358]: File "/usr/lib/python2.7/subprocess.py", line 1175, in pipe_cloexec                                                                             
Mar 21 03:38:55 des1 python[13358]: r, w = os.pipe()                                      
Mar 21 03:38:55 des1 python[13358]: OSError: [Errno 24] Too many open files               
Mar 21 03:38:55 des1 python[13358]: <BaseControl at 0x7fec9139d0f0> failed with OSError   

Gestern Abend irgendwann hatte sich py-respondd auch schon verabschiedet. Beide heute morgen um kurz vor 6 wieder gestartet.

Edit: Grad noch den Tunneldigger auf Parad0x zur Verteilung neu gestartet…

1 „Gefällt mir“

Auf Des1 Häufen sich segfaults… Diesmal hat es Bind erwischt…

● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled)
  Drop-In: /run/systemd/generator/bind9.service.d
           └─50-insserv.conf-$named.conf
   Active: failed (Result: exit-code) since Tue 2017-03-21 11:07:28 CET; 5min ago
     Docs: man:named(8)
  Process: 7423 ExecStop=/usr/sbin/rndc stop (code=exited, status=1/FAILURE)
  Process: 8563 ExecStart=/usr/sbin/named -f -u bind (code=killed, signal=SEGV)
 Main PID: 8563 (code=killed, signal=SEGV)

Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 98.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 99.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 100.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 101.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 102.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 103.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 104.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 105.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 106.100.IN-ADDR.ARPA
Mar 20 03:42:21 des1 named[8563]: automatic empty zone: view external: 107.100.IN-ADDR.ARPA
Mar 21 11:07:28 des1 systemd[1]: bind9.service: main process exited, code=killed, status=11/SEGV
Mar 21 11:07:28 des1 rndc[7423]: rndc: connect failed: 127.0.0.1#953: connection refused
Mar 21 11:07:28 des1 systemd[1]: bind9.service: control process exited, code=exited status=1
Mar 21 11:07:28 des1 systemd[1]: Unit bind9.service entered failed state.

Außerdem läuft auf nightbounce irgendwas nicht rund. Reboot hat nichts gebracht.

root@nightbounce ~ # batctl -m bat45 dc
Error - mesh has not been enabled yet
Activate your mesh by adding interfaces to batman-adv

Hab grade nicht viel Zeit zu suchen, @MPW kann das mit dem Test der iptable rules zu tun haben?

Eigentlich nicht, weil ich das bisher nur auf Nightbounce ausgerollt hatte. Es sei denn, du hast es auf Des1 ausgerollt.

Wir sollten mal diesen blöden Tunneldigger etwas debuggen. Python ist nicht so schwer und der Code ist nicht so lang. Kann eigentlich nicht so schwer sein, diese Abstürze zu finden.

Man müsste mal verstehen, woran und in welcher Situation er überhaupt hängt. Eventuell mal Debugausgaben einbauen?

es ging im unteren Teil um Nightbounce :wink: