cisco netflow

Иногда хочется посмотреть подробности о трафике на интерфейсе циски, которая не подключена к системе мониторинга. Кто грузит интерфейс, что качается? Для этого на физическом интерфейсе можно включить netflow.

int fastEthernet 0/0
ip flow ingress
ip flow egress

теперь доступна команда

c2811-VSHT#sh ip cache flow 
IP packet size distribution (261141 total packets):
1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480
.000 .329 .059 .012 .010 .009 .127 .003 .004 .005 .005 .002 .002 .001 .002
512 544 576 1024 1536 2048 2560 3072 3584 4096 4608
.001 .001 .004 .013 .404 .000 .000 .000 .000 .000 .000
IP Flow Switching Cache, 278544 bytes
306 active, 3790 inactive, 9098 added
138815 ager polls, 0 flow alloc failures
Active flows timeout in 30 minutes
Inactive flows timeout in 15 seconds
IP Sub Flow Cache, 34056 bytes
0 active, 1024 inactive, 0 added, 0 added to flow
0 alloc failures, 0 force free
1 chunk, 1 chunk added
last clearing of statistics never
Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec)
-------- Flows /Sec /Flow /Pkt /Sec /Flow /Flow
TCP-Telnet 3 0.0 1 40 0.0 0.0 15.4
TCP-FTP 1 0.0 1 40 0.0 0.0 15.4
TCP-WWW 1110 0.0 6 568 0.0 0.4 3.6
TCP-other 6212 0.0 29 832 0.0 3.1 9.4
UDP-NTP 16 0.0 1 76 0.0 0.0 15.3
UDP-other 1414 0.0 23 202 0.0 2.4 15.4
ICMP 22 0.0 1 136 0.0 0.3 15.5
IP-other 14 0.0 122 257 0.0 38.0 15.6
Total: 8792 0.0 25 726 0.0 2.7 9.7
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Vl110 109.236.109.184 Fa0/0* 34.243.180.165 06 9740 01BB 10
Fa0/0 213.180.204.179 Vl121 109.236.109.184 06 01BB C0F4 1
Fa0/0 91.213.144.122 Vl110 109.236.109.184 06 01BB 0616 20
Fa0/0 79.134.192.226 Local 109.236.109.184 11 D69A 0B0F 5333
Fa0/0 88.221.73.2 Vl110 109.236.109.184 06 01BB 0418 1
Fa0/0 64.233.164.188 Vl121 109.236.109.184 06 146C C2CA 1
Fa0/0 172.217.22.174 Vl121 109.236.109.184 06 01BB 9A5E 1
Vl110 109.236.109.184 Fa0/0* 216.58.211.140 11 E9D8 01BB 5

можно делать выборки sh ip cache flow | i Vl110

Если нужно посмотреть кто создает максимальный трафик нужно

ip flow-top-talkers
top 10
sort-by bytes
cache-timeout 100

Теперь работает команда sh ip flow top-talkers

c2811-VSHT#sh ip flow top-talkers 
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Bytes
Vl110 109.236.109.184 Fa0/0* 79.134.192.226 11 0B0F D69A 3451K
Vl110 109.236.109.184 Fa0/0* 134.119.220.101 06 C005 01BB 2444K
Fa0/0 79.134.192.226 Local 109.236.109.184 11 D69A 0B0F 804K
Vl110 109.236.109.184 Fa0/0* 37.252.255.202 06 E35B 1732 345K
Fa0/0 134.119.220.101 Vl110 109.236.109.184 06 01BB C005 214K
Fa0/0 37.252.255.202 Vl110 109.236.109.184 06 1732 E35B 123K
Fa0/0 178.170.229.129 Local 109.236.109.184 11 7C2B 1194 60K
Vl121 109.236.109.184 Fa0/0* 81.88.86.38 11 A17D EA60 38K
Vl121 109.236.109.184 Fa0/0* 81.88.86.38 11 54A5 EA60 34K
Vl121 109.236.109.184 Fa0/0* 81.88.86.38 11 2AF9 EA60 31K
10 of 10 top talkers shown. 167 flows processed.

Перестал работать cron в Solaris 10

Не в первый раз сталкиваюсь с проблемой — перестал работать крон в Solaris 10. Первым делом необходимо проверить состояние службы — у меня все решалось поднятием службы.

sun4:root$ svcs -p svc:/system/cron
STATE STIME FMRI
disabled сент svc:/system/cron:default

Видим что служба disable. Поднимаем

sun4:root$ svcadm enable svc:/system/cron:default

и снова проверяем состояние

sun4:root$ svcs -p svc:/system/cron
STATE STIME FMRI
online 8:21:51 svc:/system/cron:default
8:21:51 16067 cron

пронаблюдать за работой можно по логам крона

sun4:root$ tail -f /var/cron/log

Больше информации на тему по ссылке

multicast test msend mreceive

Столкнулся с задачей — протестировать канал на предмет прохождения multicast трафика. Нашел утилиту созданную специально для этих целей.
Установка примитивная. Скачиваем с git файлик — распаковываем в папку. Заходим в это папку. Далее

make
make install

И все — в линуксе появились команды msend и mreceive через которые можно отправть и принять мультикаст.

cisco ssh

как включить доступ на Cisco через SSH

1. задать имя хоста и домена

hostname имя_хоста 
ip domain-name доменное_им

2. сгенерировать ключ

crypto key generate rsa 
How many bits in the modulus [512]: 1024

3. настроить параметы ssh:

ip ssh version 2 
ip ssh authentication-retries 3
ip ssh time-out 30

4. настроить виртуальные терминалы на работу с ssh

line vty 0 4  
transport input ssh
privilege level 15
login local
line vty 5 15
transport input ssh

mi band 2 factory default

Умер смартфон, к которому был привязан mi band 2. Купил новый, установил mi fit, авторизовался (данные mi аккаунта были записаны в облако). Был уверен что этого достаточно чтобы браслет подключился к новому смартфону но увы… этого не произошло. В результате оказалось что единственный способ подключить браслет к новому смарту — сбросить его к заводским настройкам. Вот тут нашел способ как это сделать. Чтобы в следующий раз не искать запишу у себя.

Итак. Во-первых для сброса браслета нужна вот эта программа. Существует версия только для андроида. Прога на китайском, но частично переведена. Когда программа установлена необходимо вручную подключить браслет по блютусу. запустить программу. Она обнаружит браслет. Нужно ткнуть в строчку с его маком и на следующем экране нажать кнопку «ВОССТАНОВИТЬ ЗАВОДСКИЕ НАСТРОЙКИ». Все происходит очень быстро. Так-же программа умеет диагностировать все функции браслета, но это уже не так важно.

eve-ng-integration Linux desktop

Для полноценной работы с замечательным средством эмуляции сети eve-ng необходимо иметь несколько установленных программ и интегрировать их в браузер. Чтобы не делать этого вручную для линукса написан замечательный скрипт — который почти всю работу сделает сам. https://github.com/SmartFinn/eve-ng-integration.

Я использую centos 7 + gnome. Для установки eve-ng-integration подошел скрипт установщика + две команды.

wget -qO- https://raw.githubusercontent.com/SmartFinn/eve-ng-integration/master/install.sh | sh

usermod -a -G wireshark $USER

chmod +x /usr/sbin/dumpcap

Последний chmod не описан — но без него wireshark работать не захотел.

Дополнительно можно сделать ssh-copy-id до хоста с eve-ng от пользователя, под которым подразумевается работа с ним.

bash на все хосты в сети

У меня регулярно появляется необходимость сделать определенные действия (ввести команды, положить нужные файлики) на всех или большинстве хостов в сети (все хосты linux). Конечно для решения таких задач существуют монстры типа ansible — но ради двух, трех команд «городить огород» не хочется. Куда проще воспользоваться командой sshpass в цикле по всем компам. Для этого я использую следующую конструкцию (выкладываю для себя, чтобы было откуда списать в следующий раз).

В примере я раскидываю на все машины файлик правил udev и выполняю ряд команд которые описаны в файле command.txt

# ll /root/temp/
-rwxr-xr-x 1 root root 79 апр 26 11:28 99-udisks2.rules
-rwxr-xr-x 1 root root 447 апр 26 11:35 all_uvd.sh
-rw-r--r-- 1 root root 173 апр 26 11:39 command.txt

# cat all_uvd.sh
!/bin/bash
for var in uvd14 uvd15 uvd16 uvd17 uvd18 uvd19 uvd20 uvd21 uvd22 uvd23
do
echo The $var item
scp /root/temp/99-udisks2.rules $var:/etc/udev/rules.d/99-udisks2.rules
cat /root/temp/command.txt | sshpass -p '***' ssh root@$var
done

# cat command.txt
yum -y install udiskie exfat-utils fuse-exfat ntfs-3g
systremctl enable udisks2
udevadm control --reload-rules
reboot

cisco catalist password reset

Процедура сброса пароля на маршрутизаторах и коммутаторах cisco отличается. Как обычно — необходим физический доступ к оборудованию и подключение к консоли.

Чтобы начать восстановление нужно выключить коммутатор, затем включить его с зажатой кнопкой mode. Так мы прерываем штатную загрузку.

Loading "flash:/c2960-lanbase-mz.122-25.FX.bin"…
#
Boot process terminated.
switch

Теперь вводим команды flash_init и load_helper. После из успешного выполнения становится доступным содержимое нашей flash памяти. Посмотреть его можно командой — dir flash: (двоеточие в конце команды)

switch: flash_init
Initializing Flash…
flashfs[0]: 3 files, 0 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 64016384
flashfs[0]: Bytes used: 3059643
flashfs[0]: Bytes available: 60956741
flashfs[0]: flashfs fsck took 1 seconds.
…done Initializing Flash.
switch: load_helper
switch: dir flash:
Directory of flash:/
1 -rw- 3058048 c2950-i6q4l2-mz.121-22.EA4.bin
3 -rw- 979 config.text
2 -rw- 616 vlan.dat
60956741 bytes available (3059643 bytes used)

Интересует файл config.text — это и есть стартап-конфиг коммутатора. Чтобы коммутатор загрузился без него — его нужно переименовать, например так — rename flash:config.old flash:config.text.
Теперь коммутатор нужно перезагрузить в нормальном режиме — он загрузится без конфигурации. Если не стоит задача — сохранить старый конфиг — то на этом все.

Если старый конфиг сохранить нужно, то содержимое переименованного файла конфига нужно загрузить в running-config, добавить пользователя и сохранить конфигурацию.

Switch>en
Switch#rename flash:config.old flash:config.text
Switch#copy flash:config.text system:running-config

Теперь после того как конфиг загружен мы можем задать новый пароль

Switch1#conf t
Switch1(config)#enable secret NewPassword
Switch1(config)#enable password NewPassword
Switch1 (config)#line vty 0 4
Switch1 (config-line)#password NewPassword
Switch1 (config-line)#login
Switch1 (config-line)#exit
Switch1 (config)#line console 0
Switch1 (config-line)#password NewPassword
Switch1 (config-line)#login

И сохраняем новую конфигурацию.

Switch1#copy running-config startup-config

Теперь после перезагрузки коммутатор будет загружать файл с измененным паролем.

apcupsd

Установка apcupsd тривиальна.

yum -y install apcupsd

Включить, выключить, добавить в автозагрузку

systemctl start apcupsd
systemctl stop apcupsd
systemctl enable apcupsd

Конфиг. В случае подключения по usb — можно оставить по умолчанию. Логи

vi /etc/apcupsd/apcupsd.conf

tail -f /etc/apcupsd/apcupsd.events

В результате появилась служба которая поддерживает связь с ИБП и команда

apcaccess status