portainer auf der synology – docker aber richtig

Wenn man auf einer Synology einen Docker Host betreibt, sollte eine ordentliche Admin Oberfläche nicht fehlen. Natürlich bietet das Docker-Paket eine integrierte Verwaltung im DSM mit an. Leider ist diese nur für Start/Stop Aktionen zu gebrauchen. Und sogar das klappt nicht immer.

Portainer hingegen ist eine ganz andere Klasse von Administration und diesen gibt es auch als Container. Dieser lässt sich aber nicht über die DSM-Oberfläche zur Mitarbeit bewegen, da das einzubindende Volumen nicht erreichbar ist.

Um dieses kleine Problem zu lösen, gibt es Möglichkeiten, ein Kommando zum Start auch über den Taskmanager der Synology zu realisieren. Aber das halte ich für keinen guten Weg. Ich denke, dass jeder, der sich mit Docker beschäftigt, sicher auch an seine Synology per SSH bekommt.

Beim Aufruf muss der Container, der dann später Docker administrieren soll, auch Zugriff auf die docker.sock bekommen. Das ist die API-Schnittstelle, um Docker von außen zu steuern.
Das Verzeichnis “/var/run/” liegt aber auf dem root Filesystem, welches schwer zu erreichen ist.
Per Konsole ist der Container aber auch recht schnell (mit den richtigen Optionen gestartet).

docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/portainer_data:/data portainer/portainer

  • “docker run” Starten des Containers
  • “-d” “detached modus”
  • “-p 9500:9000” öffnet Port 9500 für den Zugriff im Browser
  • “–name portainer” Name des Containers
  • “–restart always” Automatischer Neustart
  • “-v /var/run/docker.sock:/var/run/docker.sock” Zugriff auf die API
  • “-v /volume1/docker/portainer_data:/data” Konfig-Dateien sollen auf das externe Volume
  • “portainer/portainer” Grundlage des Containers aus dem Web (Download)

Über http://[IP_synology]:9500 kommt man dann auf den gestarteten Container für die Erstkonfiguration.

Nachdem der Admin ein Kennwort bekommen hat, muss portainer noch mit dem lokalen Docker Host verbunden werden. “Local” ist hier der richtige Punkt. Mit “Connect” testet ihr die Verbindung.
Sollte das geklappt haben, habt ihr alles richtig gemacht. Nun könnt Ihr alles Notwendige auch über eine schnelle GUI administrieren.

screenshot tool – deepin-screenshot

      Keine Kommentare zu screenshot tool – deepin-screenshot

Jeder braucht irgendwann einmal ein ordentliches screenshot tool. Gerade wenn es darum geht, Mitmenschen Dinge zu zeigen, ist es empfehlenswert, bestimmte Stellen zu markieren.
deepin-screenshot stammt aus der chinesischen Distribution deepin und hat dort ein eigenes Tool entwickelt. Installiert wird mit

sudo apt-get install deepin-screenshot

Gerade die Funktionen wie Markieren mit einem Pfeil, Text einfügen oder Objekte wie Rahmen oder Kreise, reichen oft für eine Beschreibung aus. Gespeichert werden kann über das Diskettensymbol an verschiedensten Orten, aber auch in der Zwischenablage zur direkten Weiterverarbeitung.

Nach einigen Tests ist das tool bei mir in die Favoritenleiste gewandert.

Ubuntu 19.10 – VPN USG UniFi

      1 Kommentar zu Ubuntu 19.10 – VPN USG UniFi

Nach dem erfolgreichen Update auf die aktuelle Version ist leider der VPN Tunnel nicht mehr zum Aufbau zu bewegen. Hintergrund sind die aktuelleren Bibliotheken, die dafür benötigt werden.

Im eigenen Terminalfenster
tail -f /var/log/syslog

sollten beim Versuch, den Tunnel aufzubauen, eine ganze Menge Fehlermeldungen auftauchen.
L2TP/IPsec failed connection “no shared key found for”

Dazu muss
sudo apt-get install strongswan

installiert werden und das libreswan mit sudo apt-get remove libreswan entfernt werden.

Sollte in den “L2TP IPsec Options” siehe VPN Zugang von Ubuntu und Android auf Unifi USG Netzwerk , die Option Gateway ID gefüllt sein, muss diese wieder entfernt werden.
Dafür verlangt strongswarm im gleichen Dialogfenster

Phase 1: 3des-sha1-modp1024
Phase 2: 3des-sha1

diese Einträge.

Damit sollte der VPN Tunnel wieder wie gewohnt funktionieren.

Duck DNS – Synology

      Keine Kommentare zu Duck DNS – Synology

Häufiger werde ich gefragt, wie man seine Synology aus dem Internet erreichbar machen kann.
Wenn man die IP Adresse der Synology kennt, ist das ganze kein Problem. Da sie aber meistens an dynamischen Anschlüssen hängt, welche die Adresse auch mal ändern, ist dies nicht ganz so einfach.

Glücklicher Weise gibt es Dienste im Internet, die diesen Adresswechsel mitbekommen und immer die aktuelle Adresse an einen Namen binden können.
Ein solcher Dienst ist DuckDNS. Duckdns ist kostenlos und lebt von Spenden. Keine Werbung und auch keine Mail, die einen zwingt, jeden Monat irgendwo zu klicken.

Damit die Adressänderung bekannt gemacht werden kann, muss sich die Synology beim Dienst melden und die neue Adresse übertragen. Leider kennt die Synology den Dienst noch nicht und es reicht nicht, einfach nur die Accountdaten zu hinterlegen. Daher eine kleine Kurzanleitung, wie es dennoch sehr einfach geht.

Wenn ihr unter https://www.duckdns.org/ angemeldet seid, findet ihr auch den Token.

In der Synology findet ihr unter Systemsteuerung -> Externer Zugriff -> DDNS den Punkt “Anpassen” und dort einen neuen Provider “duckdns” erzeugen.
Die passenden Querry URL sieht dann so aus

http://www.duckdns.org/update?domains=__HOSTNAME__&token=__PASSWORD__&ip=__MYIP__

Nun kann man unter Hinzufügen *duckdns aufwählen und die Daten des Accounts eintragen.

Enable : CHECKED
Service Provide : duckdns
Hostname : deinhostname
Username/Email : none
Password/Key : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx

Nun noch ein wenig warten und dann sollte der Status auf normal springen.
Fertig. Die Synology ist zumindest über einen Namen von außen erreichbar, wenn man die zu publizierenden Dienste mittels Portforwarding durchgeleitet hat.

Duckdns geht natürlich auch auf anderen Geräten einzurichten. Der Router / Gateway wäre so eine Stelle. Aber manchmal gibt es dort keine Möglichkeit, unbekannte DDNS Provider einzurichten.
Die Synology hat den Vorteil, wenn diese beweglich ist, muss man sich um sowas kein Kopf mehr machen.


VPN Zugang von Ubuntu und Android auf Unifi USG Netzwerk

Um dieses Thema zu beleuchten, müssen wir erst einmal die serverseitige Konfiguration erstellen.
Dazu müssen einige Schritte angepasst und konfiguriert werden. Weiterhin bedarf es einiger Portweiterleitungen am Router, damit der VPN Server überhaupt erreicht werden kann. Ist auf Netzwerkseite alles eingestellt, werden die Clients konfiguriert. In diesem Fall ein Ubuntu 18.04 und ein Standard Android Telefon.

Teil 1 – Konfiguration des USG

In der Konfigurationsoberfläche sollte man als erstes einen vpn Nutzer anlegen, mit dem man später die Verbindung aufbauen will. Das Kennwort sollte aus Sicherheitsgründen schon etwas länger sein.

Danach kann der Radius Server aktiviert werden. Dazu muss noch ein Secret erdacht werden, welches erst einmal keine Rolle spielt. Alle anderern Einstellungen bleiben auf Standard.

Damit die Clients auch IP-Adressen bekommen, muss noch ein extra Subnetz erstellt werden.
Unter Settings -> Networks wird ein neues Netzwerksegment für die VPN Clients erstellt.
VPN Typ: L2TP. Den Pre Shared Key müsst ihr nachher im Client eintragen.
Die IP Range muss ein anderes privates Segment sein als das der Produktiven Clients.
Als Radius Profil bitte Default auswählen.

Damit ist die USG konfiguriert.
Sollte sich die USG nicht direkt am Internet befinden, müssen zwingend noch die Ports 500 (UDP),1701 (UDP),4500 (UDP) am Router auf das USG weitergeleitet werden. Portforwarding ist da euer Stichwort.

Teil 2 – Android konfigurieren

Unter Einstellungen -> Verbindungen > weitere Verbindungseinstellungen ->VPN -> … -> VPN-Profil hinzufügen

Name: Testverbindung
Typ: L2TP/IPSec PSK
Server Adresse: dyndns oder IP
L2TP-Schlüssel : –
IPSec Identifier : –
IPSec Pre-shared Key: (siehe USG Konfig oben)
Benutzername: vpn
kennwort : euer Kennwort

->Speichern

Teil 3 – Unter Ubuntu ist die Sache auch machbar.

Im Terminal muss noch der L2TP Stack für den Network Manager installiert werden.
sudo apt-get install network-manager-l2tp-gnome

Danach gnome einzeln oder den Rechner neustarten.

Nun findet sich unter VPN auch ein L2TP Eintrag.

Diese Punkte sind aus der Konfiguration des USG zu übernehmen.

Hier sind die Punkte wie im Bild zu sehen einzustellen.

Steht die Verbindung, wird es auch über das VPN Icon in der Taskleiste angezeigt.
Bei dieser Verbindung werden nun jegliche Daten über den VPN Tunnel übertragen.

Teil 4 – Diagnose

Im eigenen Terminalfenster
tail -f /var/log/syslog

Sollte es noch Probleme mit alter crypto geben, hilft auch noch ein
sudo apt-get install libreswan

Wenn Fehler wie
VPN connection: failed to connect: ‘couldn’t look up L2TP VPN gateway IP address ‘
kommen, wird das Gateway nicht gefunden. Hier ist die innere IP des USG, also die nach dem NAT, einzutragen.



Synology mount Ubuntu Cifs im Terminal

      Keine Kommentare zu Synology mount Ubuntu Cifs im Terminal

Freigegebene Ordner sind wohl der wichtigste Punkt eines NAS. Ohne hat das Gerät eigentlich wenig Sinn.
Mit Linux darauf zuzugreifen wäre sicher über NFS die bessere Wahl. Aber in einem heterogenen Netzwerk kann man das auch über CIFS machen. Dazu kann man sich ein kleines bash Script schreiben oder auch automatisch mounten.

sudo mount -t cifs lokaleIP/photo /media/photo -o username=Verbinder,uid=1000,vers=3.0 

/media/photo muss natürlich auf dem eigenen System existieren und auch als Benutzer beschreibbar sein. sudo chmod 777 photo wäre eine Möglichkeit. Die ID des lokalen Benutzers bekommt man mit dem Befehl “id Benutzer” leicht raus. Auf der Synology wäre es sinnvoll, dass ein gleichnamiger Benutzer mit passenden Berechtigungen existiert.

Damit dies alles so funktioniert, muss man aber noch auf der Synology unter Systemsteuerung -> SMB/AFP/NFS in den erweiterten Einstellungen des SMB Dienstes das maximale SMB Protokoll SMB3 einstellen.

Unter Ubuntu sollte man noch

sudo apt-get install cifs-utils
sudo apt-get install nfs-common

ausführen, damit es läuft.

remmina nach Update startet nicht mehr.

Nach diversen Updates mag remmina nich mehr starten. Die Fehlermeldung lautet:
remmina: error while loading shared libraries: libssh_threads.so.4:

Die Lösung ist folgende.

sudo ln -s /usr/lib/x86_64-linux-gnu/libssh.so.4.5.1 /usr/lib/x86_64-linux-gnu/libssh_threads.so.4

Mit dem Aufruf kann man wie gewohnt seine RDP Verbindung starten.

xfreerdp /u:user /p:pass /v:192.168.xxx.xxx

PC Reperatur leichtgemacht mit Zalman ZM-VE300

Seit ein paar Jahren nutze ich schon die VE-300 mit unterschiedlichsten Festplatten oder SSD.
Was soll denn nun so besonders sein an einem 2,5″ HDD USB Case? Tatsächlich handelt es sich um ein Schweizer Taschenmesser der IT für schnelle Problemlösungen und kann außerdem auch noch ganz normal Daten speichern und transportieren. Um Rechner zu reparieren, braucht man entweder ein optisches Laufwerk oder das entsprechende Abbild als ISO, welches man dann auf einen geeigneten zu bootenden Datenträger kopiert. Im Normalfall wird das sicher ein passender USB Stick sein, da man keine Lust hat, von DVD oder CD zu installieren. Jedes System ein eigener Stick ist die einfachste Methode. Die Verbesserung ist da schon ein Multi Bootstick, wo ein paar mehr Systeme Platz finden. Leider ist die Aktualisierung der einzelnen Systeme ein echter Zeitfresser. Als Lösung ist da das HDD Case von Zalman mit inegrierten virtuellen CDRom. Es ist also möglich, ein sich auf der Platte befindliches ISO direkt, bootbar und in seiner Filestruktur zu propagieren. Der Rechner denkt, er würde auf eine physisches CD Rom zugreifen. Da das System bis zu 32 ISO Files ansprechen kann, die man über ein Drehrad auswählen kann, ist es eine Kleinigkeit, alle passenden ISOs dabei zu haben.
Gerade bei Reperaturen, wo Betriebssysteme Probleme beim Starten haben, oder HDDs von Ungeziefer wie Malware oder Viren betroffen sind, ist das Booten von einem Readonly Betriebssystem eine geniale Lösung um das Problem zu beseitigen.

Festplatte, CD – oder beides ist schnell über ein Drehregler an der Seite anwählbar. USB 3.0 ist auch ausreichend schnell, wenn es der Rechner unterstützt. Leider ist das Case nicht mehr so einfach zu bekommen, da es schon ein paar Jahre auf dem Buckel hat. Ein Nachfolger ist, zumindest in der Produktbezeichnung, verfügbar. Alternativ ist das gleiche Gerät unter der Bezeichnung iODD 2531 zu finden. Etwas frickelig ist der JogDial bei der Auswahl der ISOS, aber man gewöhnt sich daran.



Mac Book Air 2011 a1370 SSD aktualisieren

Auch nach Jahren der intensiven Nutzung wurde es Zeit, einige Komponenten auf den aktuellen Stand zu bringen. Als erstes sollte es ein neuer Akku sein, da nach 8 Jahren die Leistung weit unter 70% gefallen ist und ein komplettes Aufladen kaum mehr möglich war.
Generell sind alle Arbeiten durch einen Laien leicht selbst zu erledigen, da zu dieser Zeit noch nicht so inflationär mit Kleber gearbeitet wurde.

1.) Der Akku
Im Prinzip sind es nur ein paar Schrauben für den Deckel und den Akku,also nichts spannendes. Erklärt wird es aber besser hier https://de.ifixit.com/Anleitung/MacBook+Air+11-Inch+Mid+2011+Akku+Austausch/6306
Ein passender Akku wäre https://amzn.to/2TjdBmz dieser. Vorteil: Es ist gleich das Werkzeug dabei, welches man auch gut für den SSD-Umbau nutzen könnte.

2.) SSD
Bei der SSD ist im Normalfall eine Samsung 128GB mSATA OEM Internal SSD MZ-CPA1280/0A1 verbaut.

Das Problem dabei ist, dass Apple einen eigenen Anschluss verwendet hat, sodass man keine SSD von der “Stange” einbauen kann. Dafür gibt es aber auch eine Lösung mittels Adapter. Wenn man ein paar Wochen warten kann, gibt es einen Passenden auch aus China.
Danach passt dann auch beispielsweise eine 500GB SSD von Crucial. Es gehen aber natürlich auch alternative Modelle, wenn diese den richtigen Anschluss (Bauform) haben und das richtige Protokoll sprechen. M.2, früher als Next Generation Form Factor (NGFF) bezeichnet, ist ein Anschluss, der aber unbedingt Key ID B besitzen muss. Nativ wird man das kaum bekommen, aber es geht natürlich auch KEY ID B+K, als Kombination. Als Protokoll wird SATA vorausgesetzt . Also auf keinen Fall einen Anschluss mSATA kaufen, das ist die kleine Variante von SATA Anschlüssen, die hier nichts zu suchen hat.


Geschwindigkeit:
Da wird mit dieser Kombination nicht viel mehr zu machen sein, aber es geht um den Speicherplatz. Getestet wurde mit hdparm wie hier beschrieben.

ssd tasuch
SSD Tausch Mac BOOk Air

Vergleich

 SSD MZ-CPA1280/0A1 

Crucial MX500 CT500MX500SSD4

Mit Cache
hdparm -tT /dev/sda

cached reads:= 4191 MB/sec
buffered reads:= 299 MB/sec

cached reads:= 4681 MB/sec
buffered reads:= 246 MB/sec

Ohne Cache
hdparm -tT –direct /dev/sda

cached reads:= 257 MB/sec
disc reads:= 261 MB/sec

cached reads:= 227 MB/sec
buffered reads:= 236 MB/sec

Ohne Cache
dd if=tempfile of=/dev/null bs=1M count=1024

239 MB/s

201 MB/s

dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc

265 MB/s

226 MB/s

voller Puffer
dd if=tempfile of=/dev/null bs=1M count=1024

4,7 GB/s

4,9 GB/s

3.) Blickschutz
Gerade für die physische Sicherheit und den Datenschutz kann ich eine der besten Blickschutzfolien empfehlen. 3M GPFMA11 Blickschutzfilter Gold für Apple MacBook Air 29,6 cm (entspricht 11″) . Bisher hatte ich ein Modell aus China für ein Drittel des Geldes. Leider war diese kaum zu gebrauchen. Zum Testen hab ich die 3M mal geordert und bin absolut überrascht, wie groß der Unterschied sein kann. Beim normalen Arbeiten ist ein Unterschied zu “ohne” nicht zu merken. Für den Sitznachbar im Zug ist hingegen nichts mehr zu sehen. Keine Chance mehr für neugierige Mitreisende.

AVRISP MKII AVRDUDE unter Linux

      Keine Kommentare zu AVRISP MKII AVRDUDE unter Linux

Gerade unter Linux sind noch einige Dinge zu konfigurieren, bevor der AVRISP MKII auch gut  läuft. Da AVRDUDE fast von jeder IDE wie z.b. von platform.io genutzt wird, ist dies auch für andere Entwicklungsumgebungen hilfreich.

Als erstes wird eine Datei erstellt  /etc/udev/avrisp.rules

mit dem Inhalt
SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"

Nun wird noch ein symlink angelegt
cd /etc/udev/rules.d
sudo ln ../avrisp.rules 60-avrisp.rules

..noch prüfen, ob man auch in der dialout Gruppe ist.
groups

udev neu starten…
sudo service udev restart

USB Device einmal reconnecten und dann sollte alles funktionieren.