Python: Snippet: SSH shell on Cisco devices
Mit dem Snippet können Kommandos auf einer Cisco Shell via SSH ausgeführt werden. #!/usr/bin/env python import paramiko import sys def send_string_and_wait_for_string(command, wait_string,...
View ArticlePython: Snippet – E-Mail versenden, alternative zu Mailer
#!/usr/bin/env python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText def postmaster(mfrom, mto, msubject, message, smtphost): msg = MIMEText(message.encode("utf-8"))...
View ArticleCisco/Python: Backup der Konfiguration bei write Event auf externen Server
Diverse Cisco Geräte können bei einem write Event die Konfiguration an einen anderen Server z.B. über HTTP pushen. Cisco Config: archive path http://1.2.3.4/cisco_config/put/$h-$t write-memory Apache...
View ArticlePython: Entfernen von Steuerzeichen in ASCII Strings
Bin heute wieder mal über ein Problem mit ASCII Strings gestolpert. Im String war ein CTRL+C welches als \x03 in der ASCII Tabelle ist. Ich bin auf eine Seite gestoßen welche für alle möglichen Script...
View ArticlePython: Arbeiten mit YAML Files
YAML ist eine vereinfachte Auszeichnungssprache zur Datenserialisierung. Das Format ist einfach gehalten und ist eine schöne alternative zu XML, JSON usw. Ist auch ein super Format für Configfiles als...
View ArticleFestplatte aus einem kaputten Seagate NAS System mounten – EXT4 mit 64k...
Neulich hat mir ein Kunde eine kaputte Seagate NAS gebracht, eine der Disks hatte ein Problem, die NAS hat nicht mehr zuverlässig gebootet. Ich habe die Disks in meinen Linux PC eingebaut, mit mdadm...
View ArticleDefekten GRUB Bootloader reparieren
Defekten Rechner mit Knoppix oder der systemrescuecd starten, mit fdisk -l oder parted -l kann man sich alle Partitionen anzeigen lassen. Je nach Installation ist die Bootpartition einzeln z.B. bei...
View ArticlePerformance Probleme auf einem Linux System ermitteln
Aktuell habe ich auf einem meiner virtuellen Server Probleme mit der Performance, ein Blick in top offenbart das auf einer CPU 100% Waiting ist, Hintergrund war das der Provider einen ZFS scrub auf...
View ArticleAnsible: Cisco Netzwerkautomatisierung mit Ansible – Erste Schritte
Ich habe kürzlich Angefangen meine ersten Gehversuche mit Ansible zu machen. Ziel ist unteranderem meine Linux Maschinen zu managen als auch Cisco Geräte. Hier meine ersten Erfahrungen mit Ansible. Was...
View ArticleAnsible: CLI Kommandos auf Cisco Devices ausführen und Ausgaben speichern
Beispiel Playbook exec_command.yaml: --- - hosts: switch1 connection: local gather_facts: False vars: cli: host: "{{ inventory_hostname }}" username: "{{ ansible_user }}" password: "{{ ansible_ssh_pass...
View ArticleAnsible: Template Engine nutzen um Cisco Konfigurationen zu erzeugen
Ansible verwendet als Template Engine Jinja2. Als Beispiel wird für einen Switch die Radius Konfiguration erzeugt. Man kann direkt vom Template aus die Konfiguration auf ein Gerät fallen lassen oder so...
View ArticleKeeWeb: Self-hosted password manager with apache2
Add Authentication First of all you’ll need to setup a .htpasswd file. To do so type in the following: sudo htpasswd -c /etc/apache2/.htpasswd username To use the authentication you can add the...
View ArticleOutlook 2016 issues with many mailboxes and many folders
I had a huge problem at one of my clients. He has an Exchange 2016 CU8 with Windows 10 Clients and Outlook 2016 Build 8829 click-to-run. The customer has in total 20 mailboxes and all coworkers (5) in...
View ArticleFast rsync over ssh
I have found a nice help for fast rsync transfers over ssh. You can reach 40MB/s on gigabit network, depends on disk speed, SSD are faster. rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c...
View ArticleKein Platz mehr auf der /boot Partition in Ubuntu / Debian
Per Default ist die Boot Partition ca. 500M groß, da sich hier durch die Updates gerne alte Kernel ansammeln ist es ratsam zwischendurch aufzuräumen. Beispiel einer abgebrochenen Installation, Meldung...
View ArticlePasswort Hashing in Python
Hier die einfachste Variante um in sicheres Passwort Hashing in Python umzusetzen. Dazu wird die passlib verwendet. Diese kann per pip installiert werden, passlib ist für Python 2.x und 3.x kompatibel....
View ArticleMongoDB und Python
Ein paar Notizen zu Python und MongoDB MongoDB ist eine NoSQL Datenbank, weitere Infos -> Wikipedia Aktuelle MongoDB Version installieren (auf Ubuntu 16.04) sudo apt-key adv --keyserver...
View ArticleMongoDB Authentication aktivieren
Per Default ist bei einer MongoDB Instanz keine Authentication aktiviert. Hier der kurze Weg. Admin Account anlegen devusr@testsystem:~# mongo MongoDB shell version v3.6.5 connecting to:...
View ArticleFlask, uWSGI und Nginx auf Ubuntu 16.04
– Kurze Zusammenfassung, ausführlich siehe Quelle am Ende des Artikels – Python Virtual Environment aufsetzen pip install virtualenv virtualenv projekt source projekt/bin/activate pip install uwsgi...
View ArticlePowerDNS MongoDB Backend
This a pipe backend for PowerDNS to MongoDB written in Python. Requirements pymongo python library powerdns min. version 4.x The MongoDB schema (for example DB: dns / Collection: records) For SOA...
View Article