Simple HP Aruba ProCurve and older swtiches backup script

#!/bin/bash
#
#
# Some vars
DATE=$(date +“%F_%H-%M_“)
DIRDATE=$(date +“%F_%H-%M“)
SSHPASSCMD=“/usr/bin/sshpass -f“
MKDIRCMD=“/bin/mkdir -p“
CIPHER=“aes128-cbc“
KEYEX=“-oKexAlgorithms=diffie-hellman-group14-sha1″

# Deleting old files and directories
find /home/backups/data/switches/old-switch1 -type d,f -mtime +2 -exec rm -rf {} \;
find /home/backups/data/switches/old-switch2 -type d,f -mtime +2 -exec rm -rf {} \;
find /home/backups/data/switches/procurve-switch1 -type d,f -mtime +2 -exec rm -rf {} \;
find /home/backups/data/switches/procurve-switch2 -type d,f -mtime +2 -exec rm -rf {} \;

# old school switch 1
$MKDIRCMD /home/backups/data/switches/old-switch1/“$DIRDATE“
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch1.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch1.domain.tld:/startup.cfg /home/backups/data/switches/old-switch1/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch1.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch1.domain.tld:/company_legacy_ca.crt /home/backups/data/switches/old-switch1/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch1.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch1.domain.tld:/https-server.p12 /home/backups/data/switches/old-switch1/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch1.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch1.domain.tld:/v1910-cmw520-r1513p62.bin /home/backups/data/switches/old-switch1/“$DIRDATE“/

# old school switch 2
$MKDIRCMD /home/backups/data/switches/old-switch2/“$DIRDATE“
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch2.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch2.domain.tld:/startup.cfg /home/backups/data/switches/old-switch2/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch2.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch2.domain.tld:/_startup_bak.cfg /home/backups/data/switches/old-switch2/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch2.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch2.domain.tld:/old-switch2-chain.crt /home/backups/data/switches/old-switch2/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch2.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch2.domain.tld:/company_local.cer /home/backups/data/switches/old-switch2/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch2.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch2.domain.tld:/company_ca.cer /home/backups/data/switches/old-switch2/“$DIRDATE“/
$SSHPASSCMD /home/backups/scripts/switches-config/old-switch2.cfg /usr/bin/scp -c $CIPHER $KEYEX admin@old-switch2.domain.tld:/jg927a-cmw520-r1119.bin /home/backups/data/switches/old-switch2/“$DIRDATE“/

# procurve-switch1
$MKDIRCMD /home/backups/data/switches/procurve-sw001/"$DIRDATE"
$SSHPASSCMD /home/backups/scripts/switches-config/procurve-sw001.cfg /usr/bin/scp $KEYEX -r manager@procurve-sw001.domain.tld:/cfg /home/backups/data/switches/procurve-sw001/"$DIRDATE"/
$SSHPASSCMD /home/backups/scripts/switches-config/procurve-sw001.cfg /usr/bin/scp $KEYEX -r manager@provurce-sw001.domain.tld:/os /home/backups/data/switches/procurve-sw001/"$DIRDATE"/

# procurve-switch2
$MKDIRCMD /home/backups/data/switches/procurve-sw002/"$DIRDATE"
$SSHPASSCMD /home/backups/scripts/switches-config/procurve-sw002.cfg /usr/bin/scp $KEYEX -r manager@procurve-sw002.domain.tld:/cfg /home/backups/data/switches/procurve-sw002/"$DIRDATE"/
$SSHPASSCMD /home/backups/scripts/switches-config/procurve-sw002.cfg /usr/bin/scp $KEYEX -r manager@procurve-sw002.domain.tld:/os /home/backups/data/switches/procurve-sw002/"$DIRDATE"/

Übersicht: AntiSpam mit Postfix, Scrollout F1 und Exchange in einer Testumgebung

Übersicht: AntiSpam mit Postfix, Scrollout F1 und Exchange in einer Testumgebung

Beim Provider den MX-Eintrag für die Maildomäne setzen bzw. setzen lassen. Hier Beispiel anhand eines nslookups. Normalerweise werden mindestens zwei Einträge mit unterschiedlichen Prioritäten gemacht, falls einer der Server ausfällt, springt der Server mit der höheren Priorität ein.

mailZwischenablage01.jpg

Auf diesem Server mail3.uerre.org geht das Mailrouting weiter. Dort ist in der Postfix-Konfiguration in der Datei /etc/postfix/transport der weitere Weg für Mails der Domäne pc-berg.de eingetragen. Es werden die Mails an mail.uerre.org an TCP-Port 27 gesendet.

mailZwischenablage02.jpg

Anmerkung: Diese Datei kann dann für die Nutzung mit Postfix mit dem Tool postmap in eine DB-Hash-Datei konvertiert werden und wird über den Punkt „transport_maps = hash:/etc/postfix/transport“ in der Konfigurationsdatei /etc/postfix/main.cf eingestellt.

Dann gelangen die Mails an einen privaten Router (mail.uerre.org). Dort ist ein Portmapping von extern TCP-Port 27 zum internen Host 192.168.0.10 TCP-Port 25 (Standard SMTP) mit dem AntiSpam-Gateway Scrollout F1 eingerichtet (Bsp. Lancom-Router).

„Übersicht: AntiSpam mit Postfix, Scrollout F1 und Exchange in einer Testumgebung“ weiterlesen

HP ProCurve PoE auf Ports deaktivieren

Allgemein

Diese Befehle knüpfen an das Problem mit den DHCP-Leases an. Durch Aus- und wieder Einschalten der Access Point durch Deaktivieren und wieder Aktivieren von PoE haben sich die Access Points beim booten dann die IPs abhängig von den DHCP-Reservierungen gezogen.

Befehle

switch1# conf te
switch1(config)# no interface 1-24 power-over-ethernet
switch1(config)# interface 1-24 power-over-ethernet
switch1(config)#

DNS Auflösung prüfen

Über unseren Internet Provider konnten einige Domänen nicht aufgelöst werden. Zum Auschluss eines generellen Problems kann man entweder von einem anderen Internetanschluss die Namensauflösung testen, oder z.B. per nslookup auch gezielt andere Nameserver abfragen. Wenn das dann funktioniert scheinen die auf den Internet-Router konfigurierten DNS-Server des Providers problematisch zu sein.

Als Workaround kann man ggf. noch einen weiteren DNS-Server auf seinem Router eintragen (Bsp. 8.8.8.8 von Google).

Test mit nslookup (IP Adressen und Domäne abgeändert)

Test Primary DNS

# nslookup domain.net 1.2.3.1
Server: 1.2.3.1
Address: 1.2.3.1#53

** server can’t find domain.net: SERVFAIL

Test Secondary DNS

# nslookup domain.net 1.2.3.2
Server: 1.2.3.2
Address: 1.2.3.2#53

** server can’t find domain.net: SERVFAIL

Test Google DNS 8.8.8.8

# nslookup domain.net 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: domain.net
Address: richtige.ip.adres.se

Syslog Meldungen von Procurve Switchen an Linux Syslog senden

Auf den Switches muss die logging-Option definiert sein.

Bitte auf das Switch aufschalten und in der Kommandozeile die Option loggin einrichten (Achtung: fiktive IP-Adressen):

conf te
logging 192.168.1.1

Auf der Linux Maschine kommt ein syslog-ng zum Einsatz (Standard bei vielen Distributionen).

In der Konfigdatei /etc/syslog/syslog-ng.conf bitte folgendes ergänzen:

1. Eine neue Source, die den Syslog-NG Server auch über das Netzwerk erreichbar mach (TCP und UDP).

source s_net {
  udp(ip(„192.168.1.1“));
  tcp(ip(„192.168.1.1“));
};

2. Dann Filter für die Switches auch in syslog-ng.conf ergänzen.

filter f_switch1 { netmask(„192.168.1.254“); };
filter f_switch2 { netmask(„192.168.1.253“); };

3. Und zum Schluss noch die Destinations auch in der syslog-ng.conf ergänzen (Output-Datei).

destination d_switch1 { file(„/var/log/switches/switch1.log“);};
log { source(s_net); filter(f_switch1); destination(d_switch1); };

destination d_switch2 { file(„/var/log/switches/switch2.log“);};
log { source(s_net); filter(f_switch2); destination(d_switch2); };

Bitte syslog neu starten „/etc/init.d/syslog restart“.

Ob das Logging funktioniert, kann man prüfen, indem man sich mal per CLI auf ein Switch schalten. Die User-Logon Events werden nämlich auch im Syslog festgehalten.

Backup von Switches erstellen

Config Transfer per SSH auf HP ProCurve Switches aktivieren

Auf das Switch anmelden.

configure terminal
ip ssh filetransfer (den filetransfer für ssh aktivieren)
write memory
logout

scp per Windows

Zum Beispiel kann dann mit dem Befehl pscp, den es auf der Putty-Downloadseite auch gibt die Config dann heruntergeladen werden:

pscp.exe -scp -l admin -pw ADMINPW -2 1.2.3.4:cfg/running-config c:\zvt1.cfg

scp per linux

Hier kann der gewohnte scp Befehl genutzt werden. Um hier weiter automatisieren zu können, nutze ich vor dem scp noch den Befehl sshpass, damit das Passwort automatisch übergeben wird. Ein kleiner Workaround anstatt mit SSL-Zertifikaten zu arbeiten. Das Tool gibt es im Internet.

sshpass -p ADMINPW scp admin@1.2.3.4:cfg/running-config ./test.cfg

Backup von Cisco Switches per Tenlet und expect Skript

Hier ein kleines Beispiel Skript, das klappt z.B. bei älteren Cisco- und Nortel-Switches:

Expect-Skript

#!/usr/bin/expect

spawn telnet 1.2.3.4
expect „Password:“
send „YourOwnPassword\n“
expect „>“
send „en\n“
expect „Password:“
send „YourOwnEnablePassword\n“

log_file BackupFile.cfg
send „term len 0\n“
send „show running-config\n“
expect „end\r“
send „\n“
send „exit\n“
log_file

Bash-Aufruf

Dieses kann man dann gut in einem kleinen Bash-Skript aufrufen. Achtung: Wenn mehrere expect-Skripte durch das Bash-Skript aufgerufen werden sollen, bitte vor jedem Aufruf mit „sleep 2“ etwas Zeit vergehen lassen:


/usr/bin/expect BackupSwitch1.expect

sleep 2
/usr/bin/expect BackupSwitch2.expect
sleep 2
/usr/bin/expect BackupSwitch3.expect
sleep 2