Резервное копирование конфигурации TP-Link коммутаторов

Набросал скрипт для резервного копирования конфигурации TP-Link коммутаторов.
Скрипт выполняется на Linux где запущен TFTP сервер, он подключается по telnet к коммутатору и специальной командой конфигурация отправляется на указанный TFTP, по закрытию telnet соединения, файл перемещается в нужную директорию, а также последняя команда удаляет файлы которым больше 30 дней, так как больше их хранить мне не нужно.
Также можно ежемесячно делать например копию всех файлов в облако.
Как видно, перед вводом пароля в скрипте ставить паузу нельзя.

#!/bin/bash
{
echo "ПАРОЛЬ";
echo "enable";
echo "ПАРОЛЬ";
echo "copy startup-config tftp ip-address 192.168.0.5 filename tplink";
sleep 2;
echo "exit";
sleep 1;
echo "exit";
} | telnet 192.168.0.110

mv /srv/tftp/tplink.cfg /backups/devices/tplink/`date +%Y-%m-%d`_tplink.cfg
find /backups/devices/tplink/ -type f -mtime +30 -exec rm {} \;

Резервное копирование конфигурации коммутаторов и прочего сетевого оборудования

Сегодня придумал скрипт резервного копирования конфигурации коммутаторов через telnet.
Идея возникла когда понадобилось делать резервные копии конфигурации главной станции GPON.

Содержимое моего скрипта:

#!/bin/bash
# For GPON MA56XX

(
sleep 5
echo "root"
sleep 5
echo "password"
sleep 5
echo "enable"
sleep 2
echo "backup configuration tftp 192.168.1.1 gpon.cfg"
sleep 2
echo "y"
sleep 10
echo "quit"
sleep 2
echo "y"
) | telnet 192.168.1.2
mv /srv/tftp/gpon.cfg /home/backups/now/switches/gpon/`date +%Y-%m-%d`_gpon.cfg

Содержимое поместим в файл к примеру backup_cfg.sh, сделаем файл исполняемым и добавим в /etc/crontab строку для авто выполнения скрипта например каждый день в 5 утра:

0 5 * * * root /home/backups/scripts/backup_cfg.sh > /dev/null 2>&1

Как запустить tftp сервер смотрите в моих статьях: Установка и настройка TFTP сервера в Ubuntu или Запуск TFTP сервера на Windows.
Смотрите также: Использование и настройка CRON

Telnet команды для видеорегистраторов Dahua

Для подключения к видеорегистраторам Dahua через telnet в Windows можно воспользоваться например программой PuTTY.

Читать далее «Telnet команды для видеорегистраторов Dahua»

Bash скрипт перезагрузки оборудования через telnet

Заметил что некоторое дешевое управляемое оборудование, может через несколько дней или недель начать некорректно работать, поэтому возникла идея написать скрипт перезагрузки и добавить его в cron.

Содержимое скрипта:

#!/bin/bash
(
sleep 5
echo "admin"
sleep 5
echo "password"
sleep 5
echo "reboot"
sleep 5
echo "y"
sleep 5
echo "quit"
) | telnet 192.168.1.10

sleep 5 означает паузу в 5 секунд после каждой команды, это значение оптимально для долго думающего оборудования. К примеру для клиентских коммутаторов D-Link DES-3200 паузу можно вовсе убрать или выставить 1.

Смотрите также:
Использование и настройка CRON

Telnet команды Master(3210) 52M HomePNA

За пример взят Master(3210) 12~44(47MHz) 52M, (Hardware: D003, Bootcode: 4.6, Firmware: 4.74, Driver: 2.8.6RC14-0).
Стандартный IP: 192.168.1.1, логин и пароль admin/admin.
Приведу список доступных telnet команд с возможными параметрами:

autocfg [-t <on/off>] [-s <server>] [-p <path>]     - setup auto config via tftp
autoupg [-p <enable/disable>] [-v <enable/disable>]     - setup auto upgrade of ep (-p - hpna driver, -v - voip driver)
default     - reset system settings to factory default
dhcpsnoop [-m <0/1/2>]  - config dhcp option 82 and dhcp snooping (0: disable, 1: enable dhcp option 82, 2: enable dhcp option 82 and IP source guard)
diag <-t/-r> -m <mac>        - diagnose tx/rx snr between master and ep (-t - snr from master to ep, -r - snr from ep to master)
dir         - display flash(rom) file info
dns [-s <pri/sec> <ip>]        - setup DNS servers
exit/quit   - exit shell
ep [-c <hostcnt(0~12)>] [-n <note(note len <= 16)>] -m <mac>         - config ep host count and note
ephpnareboot - reboot ep hpna
epreg -m <mac>      - register/new an ep profile
eprestore  -m <mac>  - restore/reconfig ep settings
epstat -m <mac> [-r] [-d]     - display ep ethernet rx/tx statistics (-d - display ep statistics in decimal format. (default is hexadecimal format), -r - reset ep statistic counters)
epswc -m <mac> [-t] [-u] [-r] [-d] [-p <lan1/lan2/hpna> [-l <up/down>] [-s <auto/10h/10f/100h/100f>] [-f <on/off>]]      - config ep port ([-s] option is ignored for [-p hpna]-m - ep's mac address (xx-xx-xx-xx-xx-xx), -r - reset ep switch. [ignore other options], -d - reset ep switch/eeprom to default. [ignore other options], -t - display ep switch setting, -u - display ep switch status, -p <lan1/lan2/hpna> - port, -l <up/down> - set link up/down, -f <on/off> - enable/disable flow control, -s <auto/10h/10f/100h/100f> - set ethernet speed and duplex mode.)
epswigmp -m <mac> [-c <on/off>]   - config ep igmp ((no argument) - display settings)
epswmacfilter -m <epmac> [-c <on/off> -s <set(0~5)> [-a <hostmac>]] - config ep host mac filter
epswqosq -m <mac> [-t <strict/wfq/mix>] [-p <0/1>, 0:802.1p(default), 1:IP TOS/TC or DSCP]   - config ep qos q
epswqosrate -m <mac> [-p <lan1/lan2/hpna> [-d <up/down>] [-c <on/off>] [-r <N(1~1563, rate=N*64kbps)>]] - config ep port tx/rx rate control
epswqostc -m <mac> [-s <set(0~2)> [-p <port(0~65535)> -q <queue(0~3)>]]   - config ep qos traffic classification
epswtagvlan -m <mac> [-c <on/off>] [-p <lan1/lan2/hpna/voip> [-r <priority(0~7)>] [-v <vid(1~4094)>] [-i <all/tag>] [-o <untag/tag/bypass>]] - config ep tag vlan
filter [-b <block/allow>] [-r <disable/enable/client/server>] [-s <set(0~15)> [-c <act/deact>] [-a <ip> -m <mask>] [-t <allow/deny>] [-w <allow/deny>] [-n <allow/deny>] [-p <allow/deny>]]     - config access control filters ((no argument) - display settings, -b <block/allow> - block/allow microsoft network discovery, -r <disable/enable/client/server> - disable/enable/enable client side/enable server side arp inspection while dhcp snooping., -s <set(0~15)> - rule set, -c <act/deact> - active or deactive the set, -a <ip> - ip address, -m <mask> - subnet mask, -t <allow/deny> - allow/deny telnet access, -w <allow/deny> - allow/deny http access, -n <allow/deny> - allow/deny snmp access, -p <allow/deny> - allow/deny ping reply)
findep [-m <host mac>] [-e <ep mac>] [-c]     - find ep or host
chaninf -m <mac> [-a <u/d/a>] [-d <mac>] [-u <mac>] [-s]     - get channel info (-m <mac> - mac address of master, -a <u/d/a> - print data of all upstream/downstream/both receivers. [default: -a <a>] This option can't coexist with [-d] or [-u] option, -d <mac> - print rx data of mac (downstream), -u <mac> - print rx data of mac (upstream), -s - slience. (don't print to screen), -h - help)
help        - list all available commands
hpnareboot  - reboot master hpna (not include system) (-d - disable hpna flash. [default: enable])
ipconfig [-d] [-a <ip> -m <mask> -g <gw>]   - config ip settings (-d - by dhcp, can't coexist with [-a]/[-m]/[-g] options)
logserver [-s <set(0~4)> [-c <act/deact>] [-m <tcp/udp>] [-p <port number(1..65535)>] [-a <server> -v <severity>]]   - setup syslog servers ((no argument) - display settings, -s <set(0~4)> - rule set, -c <act/deact> - active or deactive the set, -m <tcp/udp> - syslog over tcp/udp, -p <port number> - tcp/udp port number(1..65535), -a <server> - syslog server ip address or domain name. (len <= 8410), -v <severity> - severity (emergency/alert/critical/error/warning/notice/info/debug))
master [-m <on/off>] [-k <key(0~0xffff)>] [-n <note(note len <= 32)>]     - config master hpna settings ((no argument) - display settings, -m <on/off> - enable/disable privacy mode, -k <key(0 ~ 0xffff)> - set the privacy key, -n <note(note len <= 32)> - master note)
passwd [name] -o <oldpasswd> -n <newpasswd>      - change management user's password
ping [-n <count>] [-w <timeout>] [-l <send buffer size(max=1472)>] address        - ping function
reboot [-f] [-n]     - reboot system (include master hpna) (-f - force reboot, -n - don't reboot hpna)
rmep -m <mac>       - remove an offline ep profile
service [-s <telnet/http> [-c <on/off>] [-p <port(1~65535)>] [-t <idle timeout(0~32767 sec)>]]    - telnet/http service control
showep [-f] [-n <note>] [-m <mac(xx-xx-xx-xx-xx-xx)>]     - display ep info
showlog     - display logs
showmaster  - display master info
snmp [-c <act/deact>] [-p <port(1..65535)>] [-n <name(max strlen 16)>] [-t <contact(max strlen 16)>] [-l <location(max strlen 16)>] [-r <rcomm(max strlen 16)>] [-w <wcomm(max strlen 16)>]       - config snmp
snmptrapserver [-s <set(0~4)> [-c <act/deact>] [-p <port(1..65535)>] [-a <server>] [-m <community(max strlen 16)>]] - config snmp trap servers
snr -e <mac> [-n <samples(1~10)>] [-p <sec(1~20)>]        - snr test, not affect service
sntp [-c <act/deact>] [-r <refresh time>] [-z <time zone>] [-s <set(0~1)> -a <address>]       - config sntp
stat [-r] [-d]       - display master ethernet rx/tx statistics ((no argument) - display master statistics in hexadecimal format, -d - display master statistics in decimal format, -r - reset statistic counters)
swconfig [-p <lan1/lan2/hpna> [-f <on/off>] [-s <auto/10h/10f/100h/100f>]]   - config master port ((no argument) - display current switch setting)
swcascade [-c <0/1/2/3>]  - master cascade mode control ((no argument) - display settings, -c <0/1/2/3> - 0:disable, 1:downlink LAN1 and uplink LAN2, 2:downlink LAN2 and uplink LAN1, 3:auto by STP, need reboot to take effect)
swigmp [-c <on/off>]     - master igmp snooping control
swloopdetect [-c <on/off>] - system loop detection control ((no argument) - display settings)
swqosq [-t <strict/wfq/mix>] [-p <0/1>, 0:802.1p(default), 1:IP TOS/TC or DSCP]     - config master qos q
swqosrate [-p <lan1/lan2/hpna> [-d <up/down>] [-c <on/off>] [-r <N(1~3125 rate=N*64kbps)>]]  - config master port rate
swqostc [-s <set(0~2)> [-c <act/deact>] [-p <port(0~65535)> -q <queue(0~3)>]]    - config master qos traffic classification
swsmac [-m <mac> -c <lan1/lan2/off/del>]     - config master static mac entry
swtagvlan [-c <on/off>] [-p <lan1/lan2/hpna> [-r <priority(0~7)>] [-v <vid(0~4095)>] [-i <all/tag>] [-o <untag/tag/bypass>]]  - config master tag vlan
tftp -s <server> -c <get/put> -f <file>        - tftp client
time        - display system time
upboot      - upgrade master bootcode ((no argument) - upgrade boot code, system will reboot)
upep [-a] [-m <mac>] [-n <note>] [-v]        - upgrade ep hpna driver (-a - update all ep)
upmaster    - upgrade master hpna driver ((no argument) - update hpna master driver)
upsys       - upgrade system firmware (-n - don't reboot hpna)
useradd имя -p <password> -r <ro/rw/super>     - add management user account
userdel имя    - delete management user account
users       - display all user accounts

VoIP commands:
epvoipnet   - config ep voip ip
epvoiprealm - config ep voip realm
epvoipsip   - config ep voip sip
epvoipcodec - config ep voip codec
epvoipqos   - config ep voip qos
epvoipdialplan - config ep voip dial plan
epvoipfxs   - config ep voip fxs
epvoiptone  - config ep voip tone
epvoipcall  - config ep voip call forwarding
epvoipsntp  - config ep voip sntp
epvoipsnmp  - config ep voip snmp
epdefault   - reset ep settings to factory default

команда -h  - справка по команде

Установка или активация telnet клиента в Windows 7

Telnet клиент присутствует в образе Windows однако стандартно он не установлен, поэтому для его установки/активации необходимо открыть командную строку (cmd) и набрать команду:

dism /online /Enable-Feature /FeatureName:TelnetClient

либо можно также установить открыв «Панель управления» -> «Удаление программы» или «Программы и компоненты» -> «Включение или отключение компонентов Windows», поставить галочку напротив «Клиент Telnet» и нажать «ОК».
Вот так вот можно включить telnet в Windows 7.
В дальнейшем клиентом можно пользоваться набирая в командной строке «telnet адрес_хоста».