Autor: Maximilian Thoma

CLI Tool – Export AP inventory from an Cisco Wireless LAN Controller (WLC)

This tool exports the complete AP inventory from an Cisco WLC. You can create an CSV export or an table. Download: https://gist.github.com/lanbugs/e86042c0b2afaf7166637a9aa9711cb6 $ python cisco_wlc_ap_grabber.py -h usage: cisco_wlc_ap_grabber.py [-h] -H HOST -v SNMP_VERSION [-C SNMP_COMMUNITY] [-u SNMP_USER] [-A SNMP_AUTH] [-a SNMP_AUTH_METHOD] [-X SNMP_PRIVACY] [-x SNMP_PRIVACY_METHOD] [-L SNMP_SECURITY] [–csv] Cisco AP WLC […]

Weiterlesen

PowerDNS 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 records: { „name“:“example.org“, „type“:“SOA“, „content“:““, „ttl“: 300, „primary“: „ns1.example.org“, „mail“: „admin.example.org“, „serial“: 2018030311, „refresh“: 86400, „retry“: 7200, „expire“: 3600000, […]

Weiterlesen

Flask, 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 flask Mini Flask Applikation projekt.py from flask import Flask app = Flask(__name__) @app.route(„/“) def hello(): return „Hello world!“ WSGI Startfile wsgi.py from projekt import app […]

Weiterlesen

MongoDB 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: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.5 > use admin switched to db admin > db.createUser({user: „admin“, pwd: „geheimes_passwort“, roles: [{ role: „root“, db: „admin“ }]}) Successfully […]

Weiterlesen

MongoDB 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 hkp://keyserver.ubuntu.com:80 –recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 echo „deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse“ | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list apt install apt-transport-https apt update apt-get […]

Weiterlesen

Kein 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 ist „No space left on device“ linux-image-4.4.0-116-generic (4.4.0-116.140) wird eingerichtet … Running depmod. update-initramfs: deferring update (hook will be called later) […]

Weiterlesen

Fast 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 arcfour -o Compression=no -x“ user@<source>:<source_dir> <dest_dir> More details & source: https://gist.github.com/KartikTalwar/4393116

Weiterlesen

Ansible: 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 wie in diesem Fall einfach als File speichern. Eine ausführliche Anleitung was man alles mit der Jinja2 Template Engine […]

Weiterlesen

Ansible: 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 }}“ tasks: – name: Call show inventory ios_command: commands: show inventory provider: „{{ cli }}“ register: output – name: Store output to file copy: content=“{{ output.stdout[0] […]

Weiterlesen

Ansible: 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 ist der Vorteil von Ansible? Opensource reichhaltiges Plugin Angebot (Ansible Galaxy) viele Artikel & Tipps im Internet, kein Nischenprodukt es […]

Weiterlesen

Festplatte aus einem kaputten Seagate NAS System mounten – EXT4 mit 64k Blocksize mounten

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 –scan –assemble hat er die Software RAIDs gefunden. Auf ein Problem bin ich dann doch gestoßen, […]

Weiterlesen

Python: 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 und Programmiersprachen Codesnippets bereitstellt um Steuerzeichen zu entfernen. ASCII Tabelle bei Wikipedia: https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange Hier für Python: […]

Weiterlesen

Cisco/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 /etc/httpd/conf.d/zzz_cisco_backup.conf: WSGIDaemonProcess cisco_backup user=apache group=apache threads=10 WSGIPythonPath /opt/cisco_backup/web_root WSGIScriptAlias /cisco_backup /opt/cisco_backup/web_root/cisco_backup.wsgi <Directory /opt/cisco_backup/web_root> WSGIProcessGroup cisco_backup WSGIApplicationGroup %{GLOBAL} WSGIScriptReloading On Order deny,allow Allow from all <Files […]

Weiterlesen