Archiv ‘IT’

Sonntag, 14. Mai 2017

iPhone zeigt Landing Page eines WLAN-Gästeportals nicht an

Am Mittwoch nahm ich beruflich im Hotel Mövenpick in Egerkingen an einem Workshop teil. Abgesehen vom kalten Duschwasser (das Hotel war in der Nacht vom Mittwoch auf den Donnerstag restlos ausgebucht) ein sehr angenehmer Aufenthalt!

Ein Arbeitskollege hatte aber anfänglich mit dem Gästeportal des kostenlosen WLAN zu kämpfen. Obwohl er sich jeweils mit dem WLAN verband, zeigte sein iPhone die sogenannte „Landing Page“ des Gästeportals nicht an. So war es ihm nicht möglich, sich mit Vornamen, Nachnamen und E-Mail-Adresse zu registrieren und den Internetzugang freizuschalten.

Mit meinem iPhone klappte die Registrierung problemlos, wobei sich das Telefon sowieso die meiste Zeit im Swisscom-WLAN einbuchte. Der Kollege war aus Wien und kam deshalb nicht in den Genuss von WLAN-Roaming seines Mobilfunkanbieters.

Doch wie löst man ein solches Problem? Ein kurze Google-Suche später die Erkenntnis:

Load the Authentication / Login Page manually

To load the login page, you have to get the router gate IP. You can get router gateway IP address from Wi-Fi details screen. To get router IP, go to iPhone Settings > Wi-Fi > tap on “i” of selected Wi-Fi network > Next Screen DHCP Tab > Router IP.

Now copy this router IP Address and type into your browser address area and enter to load the page.

Your browser will load the Wi-Fi provider’s authentication page, fill out the necessary details on this page before submitting.

Once you submit and the provider authenticates your connection, then you can start to enjoy the free Wi-Fi.

Quelle: How to Solve Wi-Fi Login Page not Loading Issue in iPhone & Connect Wi-Fi HotSpot

Diesen Trick kannte ich zugegebenermassen selber noch nicht: Man surfe einfach die IP des Gateways an (diese Informationen hat das iPhone vom DHCP-Server erhalten), und die Landing Page erscheint. Genau so funktionierte es auch bei dieser WLAN-Infrastruktur. Nett!

Tags: , , , , , ,
Labels: IT

5 Kommentare | neuen Kommentar verfassen

Sonntag, 7. Mai 2017

Ein Gästenetzwerk auf dem Ubiquiti EdgeRouter-X vom restlichen Netzwerk isolieren

Heute habe ich meinen ersten EdgeRouter-X in Betrieb genommen. Die Konfiguration war etwas gewöhnungsbedürftig, aber im Zusammenspiel mit Web-GUI und CLI hat es tatsächlich geklappt. Am meisten schätze ich, dass die Konfiguration des Routers eine simple Text-Datei ist, die man mit Subversion (oder: Git) versionieren kann und bei Bedarf mit ein paar Handgriffen für neue Umgebungen oder zusätzliche Installationen anpassen kann.

Da solche Ubiquiti-Geräte semi-professionelle Router und Switches sind, habe ich heute auch einen lang ersehnten Spezialfall umgesetzt: Am Installationsort teilen sich Vermieter und Mieter einen Internetanschluss. Der Vermieter möchte dabei aber dem Mieter aber eigentlich nur den Internetzugang ermöglichen und ihn aus dem heimischen LAN heraushalten.

Dies ist nicht sonderlich kompliziert, da der Mieter ein Ethernet-Kabel vom Router auf seinen Switch gezogen hat — es muss also einfach ein Faden geschützt werden.

Mit WLAN stellt man dies mit einer zweiten SSID sicher, die im UniFi-Controller als Gästenetzwerk konfiguriert wird. Auf Ethernet-Ebene ist es etwas komplizierter. Doch freundlicherweise hat sich ein geschätzter Zeitgenosse die Zeit genommen, genau diesen Use Case zu dokumentieren:

Setting up a guest network with the EdgeRouter Lite

Zwei kleine Anpassungen habe ich gemacht:

  1. Im DHCP-Server gebe ich als DNS die Server von Cablecom mit, weshalb sich aus meiner Sicht eine Firewall-Regel für internes DNS erübrigt.
  2. Als Privates Netz habe ich 192.168.1.0/24 gewählt und nicht 172.16.x.x.

Die Trennung mittels VLANs und Firewalls ist nun eingerichtet, aktiv und versioniert — leider konnte ich den Mieter aber noch nicht fragen, ob seine Geräte damit auch weiterhin funktionieren.

Tags: , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 6. Mai 2017

Einen UniFi Access Point forcieren, die Konfiguration neu einzulesen

Heute habe ich einen weiteren UniFi Access Point (dieses Mal wieder einen AC AP PRO) in Betrieb genommen.

Leider konnte ich den Access Point nach einigen Stunden Betrieb nicht dazu bewegen, die gemäss meiner Anleitung aktualisierten SSH-Keys neu einzulesen. Im Fachjargon nennt man das „forced re-provisioning“.

Ein Neustart des Access Points über das Web-Interface des UniFi-Controllers bewirkte nichts.

Schlussendlich entdeckte ich mehrere Threads in den Foren des Herstellers (Ubiquiti) und musste realisieren, dass der Hersteller offenbar keine direkte Möglichkeit implementiert hat, um einen Access Point mitzuteilen, seine Konfiguration vom Server neu einzulesen.

Everytime you change something at a config.properties, the APs need to be reprovisioned to apply that configurations. A reboot on the controller or the APs will not trigger a reprovision. So you have two options:
1) If you want to reprovision a single or a few APs, you can manually change one of their settings, like channel or TX power, then revert the config. Only that APs will be reprovisioned and will then apply whatever you have at config.properties for that site.
2) To reprovision all APs on a site you can enable and then disable the guest portal. This will trigger a reprovision on all APs, and apply all the settings on config.properties for that site.

Quelle:

Folgende Massnahme hat dann aber zum gewünschten Erfolg geführt:

  1. UniFi Controller
  2. Devices
  3. Klick auf den Namen des gewünschten Access Points
  4. In der rechten Spalte erscheinen die Eigenschaften des Access Points
  5. Configuration
  6. Radios
  7. Channel Width: Einen anderen Wert auswählen, als derzeit aktiviert (bei mir von HT40 zu HT20)
  8. Queue Changes

Nach einigen Sekunden sollte die Konfiguration endlich neu eingelesen worden sein. Nun die Änderungen rückgängig machen — und fertig.

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Freitag, 14. April 2017

Safari stürzt neuerdings beim Drag & Drop von Bildern ab

Das letzte offizielle Update von Safari auf Version 10.1 (11603.1.30.0.34) hat einen nervigen Bug mitgebracht: Packt man eine Grafik, die man in einem neuen Tab geöffnet hat (Rechtsklick auf Grafik, „Open Image in New Tab“) und will diese auf den Desktop ziehen, stürzt das Tab unmittelbar ab:

Anschliessend öffnet sich ein Fenster, mit welchem man die Fehlermeldung zu Apple senden kann:

Der Fehler zeigt sich bei mir unter macOS 10.11.6 mit allen installierten Sicherheitsupdates.

Das Problem ist nicht auf mich beschränkt, andere Leute haben es auch (gemäss Apple Diskussionsforen).

Das deaktivieren der Extensions 1Password und 1Blocker hat nichts gefruchtet — das Problem muss meiner Meinung wirklich an Safari selbst liegen.

Tags: , , , ,
Labels: Apple, IT

1 Kommentar | neuen Kommentar verfassen

Freitag, 7. April 2017

Einen Technics SL-1210MK2 mit einer Panasonic SC-HTB770EGS Soundbar verbinden

Dieses Jahr war der Frühlingsputz zu Hause etwas weitreichender als auch schon: Ich habe mich entschieden, mich von meinem altehrwürdigen Sony-Verstärker und einem Paar popeligen JVC-Lautsprechern zu trennen.

Soweit so gut — die HiFi-Anlage hatte ich nur noch in Betrieb, um über meinen Technics SL-1210MK2 Schallplatten zu hören. Doch was nun, da der Verstärker und die Boxen weg sind?

An meinem Panasonic-TV (TX-P55VTW60) hängt eine Soundbar und ein kabelloser Subwoofer desselben Herstellers mit der Modellbezeichnung SC-HTB770EGS. Wieso also nicht den Plattenspieler an die Soundbar anschliessen und künftig über dieses Setup Platten hören?

Gesagt, getan. Da der Soundbar ein Analog-Eingang (Cinch) fehlt, muss ich das Signal über AUX3 digital, d.h. optisch mittels TOSLINK, einspeisen. Mit folgendem Material klappt die Wiedergabe der Schallplatten über die Anlage problemlos:

  • Phono-Vorverstärker Der Nowsonic Phonix nimmt die Cinch-Kabel des Plattenspielers entgegen und verstärkt das Audio-Signal. Ich habe dieses Produkt gewählt, weil es einerseits Reglerknöpfe besitzt, um den Gain und den Monitor-Level zu steuern, andererseits, weil es mannigfaltige Ein- und Ausgänge bietet: USB-Ausgang, um das Audio-Signal digital an einen Computer weiterzuleiten. Eine 3.5mm Klinkenbuchse, um einen Kopfhörer als Monitor anzuschliessen (leider regelt der Monitorknopf sowohl die Ausgabe auf den Kopfhörern als auch auf dem verstärkten Cinch-Ausgang). Und einen Schalter, um zwischen Line- und Phono-Eingang zu unterscheiden (letzterer muss massiv stärker verstärkt werden).
  • Analog-Digital Wandler Der CYP AU-D4 nimmt ein (verstärktes) Audio-Signal über Cinch entgegen, wandelt es digital zu LPCM mit 48 kHz und gibt es sowohl über einen (optischen) TOSLINK- als auch gleichzeitig über einen digitalen Koaxial-Ausgang weiter.
  • TOSLINK-Kabel Das 7.5 Meter lange Kabel transportiert das digitale Signal vom AD-Wandler bis zur Soundbar. Ich habe mich für ein Produkt der Marke Lindy entschieden.

Inkompatibilitäten

Anstelle des (eher nach billiger China-Ware anmutenden) CYP AD-Wandlers versuchte ich es ursprünglich mit dem Oehlbach AD-Wandler (gemäss technischem Datenblatt des Herstellers mit 96 kHz, im Unterschied zu den 48 kHz des CYP. Verbaut sind zwei Chips, der eigentliche AD-Wandler Cirrus Logic CS5340 sowie der Cirrus Logic CS8427, welcher das digitalisierte Audio-Signal auf TOSLINK und Coaxial ausgibt).

In meinem Setup funktioniert dieser AD-Wandler nicht, und ich weiss bis jetzt nicht, ob das Problem beim Wandler oder bei der Soundbar zu suchen ist. Bei allen ausser einem Versuch blieb die Soundbar still. Nur ein einziges Mal hörte ich abgehackte Soundfetzen der Schallplatte, was ich bei den folgenden Versuchen nicht reproduzieren konnte.

Gemäss Panasonic-Handbuch unterstützt die Soundbar ein Eingangssignal mit einer Abtastrate von bis zu 96 kHz, in dem Fall aber nur LPCM und nicht Dolby DTS und anderen Schnickschnack. Somit müsste der Oehlbach-Wandler mit seinen 96 kHz aus technischer Sicht problemlos funktionieren …

Um den Fehler einzugrenzen, musste ich mir am Samstag-Nachmittag vor Ladenschluss im örtlichen MediaMarkt noch ein zweites (viel kürzeres) TOSLINK-Kabel kaufen. Zusätzlich erstand ich mir einen CYP AU-D3, damit ich mich mittels eines Cinch-auf-Klinke-auf-Klinke-Adapters versichern konnte, dass der Analog-zu-Digital-Wandler korrekt funktioniert.

Das tat er tatsächlich — wenn ich meinen Plattenspieler oder mein iPhone an den Vorverstärker anschloss, hörte ich am anderen Ende das analog-digital-analog formatierte Signal auf den Kopfhörern. Der Oehlbach funktioniert somit in diesem spezifischen Setup, nicht aber im Zusammenspiel mit der Panasonic-Soundbar.

Tags: , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 5. April 2017

Zeichenkette auf der Linux-Kommandozeile in mehreren Dateien suche und ersetzen

Heute hat Cyon meinen Web-Server gezügelt. Dies machte es nötig, dass ich meine Postfix-Konfiguration auf einem halben dutzend Linux-Servern anpassen musste.

Da ich für jeden Server spezifische Konfigurationsdateien verwende, machte ich mich auf die Suche nach einer einfachen Lösung, wie man die Zeichenkette server41.cyon.ch mit s056.cyon.net ersetzen konnte.

Und zwar auf der Kommandozeile, mit einem Befehl?

Wie üblich half Stackexchange weiter:

$ sed -i -- 's/server41.cyon.ch/s056.cyon.net/g' *

Quelle: How can I replace a string in a file(s)?

Und schwupp-di-wupp waren die Konfigurationsdateien angepasst.

Tags: , , , , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 20. März 2017

UniFi Controller erkennen automatisch unerlaubte WiFi Access Points

Als ich gestern mit meinem TP-LINK TL-MR3020 am herumspielen war, tauchte plötzlich folgende E-Mail-Nachricht in meiner INBOX auf:

Ein Feature, von dem ich nicht wusste, dass es existiert. Nett. Umkehrschluss: Da der UniFi Controller das erste Mal ausgeschlagen hat, hatte ich noch nie einen „Rogue Access Point“ im Netz.

PS: Und ja, bevor jemand fragt: Die Konfigurationsoption für den Domain-Namen des Systems habe ich mittlerweile auch entdeckt und der Realität angepasst …

Tags: , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 19. März 2017

OpenVPN mit iPhone, iPad und MacBook Air — aber nicht mit Travel Router TP-LINK TL-MR3020

Auf Grund der bald bevorstehenden Reise in die USA habe ich mir heute Zeit genommen, einen VPN-Server einzurichten, mit welchem ich mich unterwegs in den USA mit iPhone, iPad und MacBook Air verbinden kann.

Obwohl heutzutage die meisten Web-Sites mit HTTPS kommunizieren, stelle ich damit sicher, dass allfällige unverschlüsselte Kommunikation im Hotel-WiFi nicht abgehört werden kann. Als netten Nebeneffekt gaukle ich meinen Geräten weiter vor, dass sie sich in der Schweiz befinden und umgehe so allfällige Geoblocks. Da wir seit einem Jahr eine Glasfaster-Internet-Anbindung mit 1 GBit/s symmetrischem Datenverkehr verfügen, sollte die Performance höchstens noch von der hohen Latenz getrübt werden.

Ich hatte bisher bereits eine Lösung im Einsatz (im Grunde zwei, PPTP sowie OpenVPN mit einem Shared Key), doch nun war es an der Zeit, das Gefrickel aufzuräumen und eine zukunftstaugliche, performante und sichere Lösung zu bauen, welche (fast) nativ mit macOS und iOS funktioniert — konkret mit Tunnelblick unter macOS sowie mit OpenVPN.app unter iOS.

Die beiden Applikationen kann man mittels .ovpn-Textdateien als VPN-Clients konfigurieren.

Ich bin im Grossen und Ganzen der Anleitung „How To Set Up an OpenVPN Server on Ubuntu 16.04“ von DigitalOcean gefolgt, habe die Konfiguration dabei aber meiner Heimnetzwerk-Architektur angepasst und mittels Bash-Scripts automatisiert. Denn irgendeinmal muss ich den OpenVPN-Server aktualisieren und bin mit dem DevOps-Ansatz sicher, mittels Knopfdruck wieder eine funktionierende Lösung bereit zu haben.

Die Anleitung zeigt einen netten Weg auf, wie man sich die .ovpn-Dateien vollautomatisierte mittels eines bash-Scripts erstellt.

Ich verwende nun für alle meine Geräte ein eigenständiges Zertifikat, damit ich diese im Notfall einzeln revozieren kann.

Die Konfiguration funktioniert tadellos — einzig bei Tunnelblick (d.h. unter macOS) musste ich die Passagen

...
user nobody
group nogroup
...

wieder auskommentieren, da es sonst zu komischen Fehlermeldungen im OpenVPN-Log des Clients kam. Ausserdem muss man im GUI anklicken, dass der gesamte IPv4-Verkehr durch das VPN geroutet wird:

Wehrmutstropfen: Eigentlich war der Aufbau eines VPN-Tunnels pro Device nur als Plan B gedacht. Denn bei Reisen verwende ich einen TP-LINK TL-MR3020 „Reiserouter“ (klitzekleiner Wireless Access Point, der sich mit USB-Stromversorgung betreiben lässt), um diesen mit Hotel-WiFis zu verbinden und die SSID mit den Zugangsdaten meines Heimnetzwerkes anzubieten. So spare ich es mir, dass das Hotel-WiFi auf all meinen Geräten konfiguriert werden muss.

Auf dem Router habe ich mir das quelloffene OpenWrt (Version Attitude Adjustment) installiert und mittlerweile so konfiguriert, damit es mit allen möglichen WLAN-Netzwerken von Unterkünften funktioniert (einige Hersteller von Gästeportalen frickeln massiv mit dem Netzwerk herum, um Clients auf die Landing Pages zu bringen).

Plan A war es nun eigentlich, OpenVPN auf dem Router selbst zu installieren und jedes Mal automatisch eine Verbindung mit meinem OpenVPN-Server in der Schweiz herzustellen, sobald der Router eine Internet-Verbindung herstellen kann. So hätte ich nicht pro Endgerät einzeln eine VPN-Verbindung aufbauen müssen und die Verschlüsselung wäre ohne weitere Interaktion standardmässig aktiviert gewesen.

Eine Anleitung zur Installation von OpenVPN als VPN-Client auf einem TP-LINK TL-MR3020 findet sich dazu im Netz (plus eine generische Anleitung für OpenWRT), doch leider habe ich erst während der Installation bemerkt, dass der Router nicht genügend Speicherplatz mit sich bringt, um die Pakete openvpn, openssl und andere Libraries zu installieren:

Da opkg nicht komplett durchgelaufen ist, musste ich die über das Router-Filesystem verstreute Überreste der Pakete eigenhändig entfernen (indem ich die .ipks vom offiziellen Repository händisch herunterlud, mit gzip entpackte und die resultierenden Dateien dann erneut mit tar und gzip entpackte):

.
./kmod-tun_3.3.8-1_ar71xx
./kmod-tun_3.3.8-1_ar71xx/etc
./kmod-tun_3.3.8-1_ar71xx/etc/modules.d
./kmod-tun_3.3.8-1_ar71xx/etc/modules.d/30-tun
./kmod-tun_3.3.8-1_ar71xx/lib
./kmod-tun_3.3.8-1_ar71xx/lib/modules
./kmod-tun_3.3.8-1_ar71xx/lib/modules/3.3.8
./kmod-tun_3.3.8-1_ar71xx/lib/modules/3.3.8/tun.ko
./kmod-tun_3.3.8-1_ar71xx/postinst
./liblzo_2.06-1_ar71xx
./liblzo_2.06-1_ar71xx/usr
./liblzo_2.06-1_ar71xx/usr/lib
./liblzo_2.06-1_ar71xx/usr/lib/liblzo2.so
./liblzo_2.06-1_ar71xx/usr/lib/liblzo2.so.2
./liblzo_2.06-1_ar71xx/usr/lib/liblzo2.so.2.0.0
./libopenssl_1.0.1h-1_ar71xx
./libopenssl_1.0.1h-1_ar71xx/usr
./libopenssl_1.0.1h-1_ar71xx/usr/lib
./libopenssl_1.0.1h-1_ar71xx/usr/lib/libcrypto.so.1.0.0
./libopenssl_1.0.1h-1_ar71xx/usr/lib/libssl.so.1.0.0
./openvpn_2.2.2-2_ar71xx
./openvpn_2.2.2-2_ar71xx/conffiles
./openvpn_2.2.2-2_ar71xx/etc
./openvpn_2.2.2-2_ar71xx/etc/config
./openvpn_2.2.2-2_ar71xx/etc/config/openvpn
./openvpn_2.2.2-2_ar71xx/etc/init.d
./openvpn_2.2.2-2_ar71xx/etc/init.d/openvpn
./openvpn_2.2.2-2_ar71xx/etc/openvpn
./openvpn_2.2.2-2_ar71xx/lib
./openvpn_2.2.2-2_ar71xx/lib/upgrade
./openvpn_2.2.2-2_ar71xx/lib/upgrade/keep.d
./openvpn_2.2.2-2_ar71xx/lib/upgrade/keep.d/openvpn
./openvpn_2.2.2-2_ar71xx/usr
./openvpn_2.2.2-2_ar71xx/usr/sbin
./openvpn_2.2.2-2_ar71xx/usr/sbin/openvpn
./zlib_1.2.7-1_ar71xx
./zlib_1.2.7-1_ar71xx/usr
./zlib_1.2.7-1_ar71xx/usr/lib
./zlib_1.2.7-1_ar71xx/usr/lib/libz.so
./zlib_1.2.7-1_ar71xx/usr/lib/libz.so.1
./zlib_1.2.7-1_ar71xx/usr/lib/libz.so.1.2.7

So konnte ich die Überreste schlussendlich entfernen (der Router bootete nach der Bereinigungsaktion tatsächlich noch) und der Router hat nun wieder 800 KB Speicher frei … wie zu DOS-Zeiten!

Tags: , , , , , , , , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 18. Januar 2017

Wenn Laien Entwicklunsgzeiten schätzen …

Wenn der Vollprofi sagt, dass die Entwicklung eines Features mit einer externen Schnittstelle 10 Personentage in Anspruch nimmt, muss es ja wohl stimmen …

SMS password for Guest Portal
Is a great idea , fast release this!
I think new guest authentication perfect , and give up sales unifi in the air!
Its a week job and week test … realy need unifi wifi.

by worksart
on ‎09-15-2015 12:38 AM

Quelle: SMS password for Guest Portal

Tags: , , , ,
Labels: Funny, IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 15. Januar 2017

snmpd-Konfiguration unter OpenWrt (Turris Omnia) anpassen

Auf Grund des in meinem Forum-Artikels geschilderten Problems der nicht zugänglichen Web-Interfaces meines Turris Omnias (das Problem trat kürzlich wieder auf), entschied ich mich, den von /tmp verwendeten Speicherplatz zu überwachen und mich beim Unterschreiten eines bestimmten Wertes zu alarmieren.

Was gibt es besseres, als den bereits laufenden SNMP-Daemon für diese Information anzuzapfen? Doch leider realisierte ich erst nach ein, zwei Stunden pröbeln, dass snmpd Dateisysteme vom Typ tmpfs nicht in den SNMP-Baum aufnimmt (weitere Diskussion hier sowie hier).

Doch vorerst setzte ich mich mit der snmpd-Konfiguration unter /etc/snmp/snmpd.conf auseinander. Beim Turris Omnia handelt es sich hierbei um einen Symlink auf die Datei /var/run/snmpd.conf. Doch bearbeitet man diese Datei und startet SNMP über die LuCI-Web-Oberfläche neu, werden die Anpassungen wie von Geisterhand mit den ursprünglichen Standardwerten überschrieben.

Nach ca. einer halben Stunde pröbeln und Googlen dann die Erkenntnis: Die Konfigurationsdatei ist — wie für OpenWrt typisch — unter /etc/config/snmpd abgelegt. Und zwar in einem OpenWrt-Format.

Darauf gestossen bin ich, als ich folgenden Befehl ausgeführt habe, welcher mir den Standort aller Dateien dieses Pakets zeigt:

# opkg files snmpd
Package snmpd (5.4.4-3) is installed on root and has the following files:
/etc/init.d/snmpd
/etc/config/snmpd
/usr/sbin/snmpd
/etc/snmp/snmpd.conf

Nimmt man die Anpassungen an sysLocation und sysContact hier vor, bleiben sie beim Neustarten des Daemons wie auch des Routers erhalten. Doch leider kann man in der unnötig komplexen Syntax nicht einfach neue Direktiven einbauen — diese müssen dem Start-Script unter /etc/init.d/snmpd explizit bekannt sein. So ist es zwar möglich, Einträge in der Form

disk /tmp 10%

einzubauen, indem man die Datei unter /etc/config/snmpd mit folgenden Zeilen ergänzt:

...
config disk
	option partition /tmp
	option size '10%'

Doch den Parameter includeAllDisks kennt das Script nicht. Halleluja für die aus meiner Sicht unnötige Komplexität, die dieser zusätzliche Konfigurationslayer dem Benutzer aufzwingt …

Im Internet habe ich nach etwas Googlen einen Patch gefunden, mit welchem der includeAllDisks-Parameter nachgerüstet werden kann. Mein Code von /etc/init.d/snmpd schaut deshalb nun so aus:

...
snmpd_disk_add() {
        local cfg="$1"
        local disk='disk'

        config_get partition "$cfg" partition
        [ -n "$partition" ] || return 0
        config_get size "$cfg" size
        [ -n "$size" ] || return 0

        if [ "$partition" == "includeAllDisks" ]; then
            echo "includeAllDisks $size" >> $CONFIGFILE
        else
            echo "disk $partition $size" >> $CONFIGFILE
        fi
        #echo "$disk $partition $size" >> $CONFIGFILE
}
...

Nun ist es mir möglich, includeAllDisks in der Konfiguration zu verwenden:

...
config disk
	option partition includeAllDisks
	option size '90%'
...

Den Daemon startet man über LuCI-Oberfläche neu, indem man zu System > Startup navigiert und beim Paket snmp den Restart-Button drückt.

Auf Grund des oben genannten Problems mit tmpfs-Partitionen erschien die gesuchten Informationen aber nie im SNMP-Baum.

Schlussendlich entschied ich mich für den Quick-und-Dirty-Ansatz. Ich ergänzte die crontab mittels

# crontab -e

mit folgendem Befehl:

...
0 4 * * *   rm -rf /tmp/beaker
...

Der Ordner wird nun pro-aktiv jede Nacht um 4 Uhr morgens zwangsweise gelöscht.

Dennoch hätte ich gerne die Möglichkeit, mittels Cacti den Zuwachs der Partition zu überwachen, um zu sehen, ob die Grösse stetig zunimmt, oder ob es einzelne Episoden mit plötzlichem Grosswachstum gibt.

Nachtrag

Allenfalls könnte man mit folgendem Script etwas basteln:

snmpd-tmpfs.sh

Tags: , , , , ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen