X-Git-Url: http://git.rot13.org/?p=dell-switch;a=blobdiff_plain;f=README;h=90d58c3c758e14f039b680acc15900383740de1c;hp=30ea7e8eacd3d303d71aa4b7e5cd5313b5216757;hb=HEAD;hpb=b0d7a2e05c5dfe0f85b3836ef52085d95e74ed8a diff --git a/README b/README index 30ea7e8..9840d50 100644 --- a/README +++ b/README @@ -1,3 +1,54 @@ +# manage Dell switch running-config in git + +dpavlin@black:~/dell-switch$ ./sw-running-config.sh sw-dpc + + +# /dev/shm/port-status + +Collect information about port status using snmp + +dpavlin@black:~/dell-switch$ ./snmp-port-status.sh sw-core # single switch + +dpavlin@black:~/dell-switch$ ./sw-port-status.sh # all switches + +This will populate /dev/shm/port-status/ and manage changes in git + +You can grep for ports on switches since format is "switch port ...." + +dpavlin@black:~/dell-switch$ egrep ' (15|22) ' /dev/shm/port-status/sw-dpc +sw-dpc 15 g15 1000 up ethernetCsmacd [sw-baraka] +sw-dpc 22 g22 100 up ethernetCsmacd [PIX-eth1] + +You can also grep only for sw-name and get both uplink port (if in description) +and ports from switch: + +dpavlin@black:/dev/shm/port-status$ egrep sw-baraka * | head +sw-a200:sw-a200 22 g22 1000 up ethernetCsmacd [sw-baraka] +sw-baraka:sw-baraka 1 g1 1000 down ethernetCsmacd +sw-baraka:sw-baraka 2 g2 1000 down ethernetCsmacd +sw-baraka:sw-baraka 3 g3 1000 down ethernetCsmacd +sw-baraka:sw-baraka 4 g4 1000 down ethernetCsmacd +sw-baraka:sw-baraka 5 g5 10 up ethernetCsmacd +sw-baraka:sw-baraka 6 g6 1000 down ethernetCsmacd +sw-baraka:sw-baraka 7 g7 1000 down ethernetCsmacd +sw-baraka:sw-baraka 8 g8 1000 down ethernetCsmacd +sw-baraka:sw-baraka 9 g9 1000 down ethernetCsmacd + +Get additional OID from switches: + +dpavlin@black:~/dell-switch$ ./snmp-port-status.sh +Usage: ./snmp-port-status.sh hostname ifAdminStatus BRIDGE-MIB::dot1dStpPortState ifInErrors ifOutErrors ifInDiscards + +If it's started without any arguments, script will show additional OIDs which might be interesting to include along +default ones. So, to pull ifAdminStatus on all switches we can do something like: + + + + + + +# ssh auto-login script for Dell switches + ./ips | xargs -i ./dell-switch.pl {} "show bridge address" ./ips | xargs -i ./dell-switch.pl {} "show interfaces status" @@ -18,3 +69,39 @@ To use fans script first pull show system from all switches: ./ips | xargs -i ./dell-switch.pl {} "show system" + +Backup switch configuration to tftp server: + +./ips 1,2 | awk '{ print "./dell-switch.pl "$1" \"copy startup-config tftp://10.20.0.253/backups/"$2".config\"" }' | NO_LOG=1 sh -x + + +To use snmp* utils, create snmp.conf with: + +COMMUNITY=my-comminity-or-public + + +# Find mac address on network + +collect all mac addresses using snmp + +dpavlin@black:~/dell-switch$ ./sw-mac-port.sh + +find interesting mac + +dpavlin@black:~/dell-switch$ ./find-port-for-mac 00:1e:8c:0a:49:3c # eeepy eth0 +sw-e300 1 00:1e:8c:0a:49:3c 23 +sw-e300-2 1 00:1e:8c:0a:49:3c 21 +# mac 00:1e:8c:0a:49:3c on 41 switches + +dpavlin@black:~/dell-switch$ ./find-port-for-mac 00:80:c8:37:6d:76 # eeepy eth3 +sw-e300 1 00:80:c8:37:6d:76 17 +# mac 00:80:c8:37:6d:76 on 41 switches + + + +# switch configuration helpers + +ssh-switch-port-vlan sw port vlan +ssh-switch-port-shutdown sw port [no] +ssh-snmp-server-rw sw +