пятница, 6 сентября 2013 г.

D-Link - дропающиеся пакеты


Просмотр ошибок на порту

На порту коммутатора D-Link ошибки можно посмотреть следующей командой:
sh error ports 1
Вывод будет таким:
Command: show error ports 1 Port Number : 1 RX Frames TX Frames --------- --------- CRC Error 0 Excessive Deferral 0 Undersize 0 CRC Error 0 Oversize 0 Late Collision 0 Fragment 0 Excessive Collision 0 Jabber 0 Single Collision 0 Drop Pkts 81027 Collision 0 Symbol Error 0
Можно увидеть, какие ошибки накапливаются. В основном все они описаны довольно хорошо на просторах интернета, кроме, пожалуй, Drop Pkts. Они возникают в следующих случаях:
  1. ingress back pressure, flow control, rate limitation
  2. port is not in forwarding state
  3. dropped by ACL
  4. dropped because there are no destination ports for the packets
  5. dropped because it is set to blocked in FDB
  6. packet exceeds MAX MTU
  7. packet buffer full
То есть, это в отличии от остальных, логические ошибки или ошибки согласований.

понедельник, 1 августа 2011 г.

The Linux Way to Do This: #0003


Задача

найти в web-сети файлы определённого типа.

Решение

Очень понравилось недавно обнаруженное решение. Хотя Linux Way здесь в общем-то не причём, но решение в этом духе. Для примера, найдём кучу музыкальных файлов.

Дайте запрос для google вида
"index of" +mp3 -html -htm -php
В итоге получаем кучу прямых ссылок на *.mp3 файлы.
Осталось только написать маленький скрипт для автоматического поиска этих файлов из консоли и запуск на проигрывание в Вашем любимом проигрывателе mpg123!

The Linux Way to Do This: #0002



Файлы Excel передаются на конвейер

Проблема:
Быстро посмотреть содержимое файла Excel, возможно отправить на фильтры grep, uniq, awk, sed и т.д.
Решение:
Если вам часто приходится брать информацию из Excel-файлов, на помощь вам сможет прийти Python с модулем xlrd. Предварительно установите этот модуль, взяв его либо с репозитория(пример для Debian),
root@localhost:~#apt-get install python-xlrd
либо с сайта проекта
http://pypi.python.org/pypi/xlrd
После этого, набросав простенький скрипт вида
[+] xlscat.py (code)
Можно насладиться всеми прелестями bash для работы с xls-документооборотом.
user@localhost:~$ xlscat.py -n 1 sample.xls | grep '192.168.1.1' | awk '{print $1}'

OPTION #1:
Возможно в вашем случае нужно будет немного поиграть с кодировкой, либо вообще задавать её отдельным параметром

воскресенье, 31 июля 2011 г.

The Linux Way to Do This: #0001



Быстрый способ расшарить файлы

Проблема:
Быстро расшарить файлы для других пользователей в локальной сети
Решение:
Среди различных операционных систем отличным решением является использовать стандартные протоколы типа FTP или HTTP. Отличным решением будет использовать python:
user@localhost:~$ python -m SimpleHTTPHeader 8080
При этом на порту 8080 открывается простой HTTP-сервер с текущей корневой директорией.
OPTION #1:
Это решение хорошо в случае, если вы редко делитесь файлами. Гораздо эффективнее сделать
user@localhost:~$ echo "alias share=python -m SimpleHTTPHeader 8080" >> ~/.bashrc
После этого делимся файлами просто
user@localhost:~$ share
OPTION #2:
Часто возникает потребность расшарить только один файл для других людей, хотелось бы размещать и скачивать его максимально быстро. В этом случае поможет небольшой bash-скрипт

[+] fileshare.sh
Теперь запустив
user@localhost:~$ fileshare srcfile dstfile
удалённый пользователь может забрать файл менеджером загрузок, например, wget.

OPTION #3:
Дополнительной скорости в этих действиях можно добавить наиболее часто используемых пользователей в /etc/hosts.
root@localhost:~# echo "user1 192.168.0.2" >> /etc/hosts

вторник, 25 января 2011 г.

Канальный уровень #1: RSTP на D-Link и Huawei

Сколько не рыскал, ни где не мог найти примеры настроек различных сетевых развратов с управляемыми коммутаторами D-Link и Huawei. Везде только Cisco. И вот решил поправить это безобразие.
Этой статьёй открываю цикл примеров работы с этими коммутаторами в перемешку.
Итак, приступим к настройке протокола RSTP. Он необходим для избежания петель в коммутируемой сети. Не буду здесь приводить сам алгоритм, так как для этого существует куча других источников.  Наша топология будет, как на схеме, представленной слева.


Аккуратнее настраивайте кольца такого типа - очень легко потерять не только управление, но и, получив петлю, посадить всю сеть!

Коммутатор Huawei Quidway S5300 в нашем случае выступать в качестве Root для алгоритма. В промышленных масштабах именно эти коммутаторы ставят как узлы агрегации.
Приступим к его настройке:.

Создадим на нем управляющий VLAN(например 1024).  и присвоим порты.
<Quidway>sys
[Quidway]vlan 1024
[Quidway-vlan1024]q
Назначим интерфейс на этот VLAN и присвоим ему IP адрес
[Quidway]int VlanIf 1024
[Quidway-Vlanif1024]ip address 192.168.0.1 24
[Quidway-Vlanif1024]q
Пприсвоим порты. Сразу оговорюсь, порты VLANу назначаем тегированные(в терминологии Cisco trank'и). На обычных access'ных портах кольца не строятся.
[Quidway]int gi0/0/21
[Quidway-GigabitEthernet0/0/21]port link-type trunk
[Quidway-GigabitEthernet0/0/21]port trunk allow-pass vlan 1024
[Quidway-GigabitEthernet0/0/21]int gi0/0/21
[Quidway-GigabitEthernet0/0/22]port link-type trunk
[Quidway-GigabitEthernet0/0/22]port trunk allow-pass vlan 1024
[Quidway-GigabitEthernet0/0/21]q

Итак, с VLANами разобрались. Приступаем собственно, к RSTP. Как такогого собственно RSTP я в Huawei так и не нашёл, по этому использовал режим MSTP. Благо он обратно совместим.
Глобально включаем STP и выбираем режим.
[Quidway]stp enable
[Quidway]stp mode mstp
[Quidway]stp priority 8192
#Альтернативой приоритету можно поставить режим, когда именно этот коммутатор всегда будет считаться primary root
#[Quidway]stp root primary
#[Quidway]stp mcheck
Отключаем на абонентских портах stp

[Quidway]stp interface GigabitEthernet 0/0/1 to 0/0/20 disable

Далее настроим STP на портах. У Huawei есть какой-то свой стандарт соответствия. Не заморачиваясь выставляем обычный стандарт, ратифицированный IEEE.
[Quidway]int gi0/0/21
[Quidway-GigabitEthernet0/0/21]bpdu enable
[Quidway-GigabitEthernet0/0/21]stp compliance dot1s
[Quidway-GigabitEthernet0/0/21]no-agreement-check
[Quidway-GigabitEthernet0/0/21]int gi0/0/2
[Quidway-GigabitEthernet0/0/22]bpdu enable
[Quidway-GigabitEthernet0/0/22]stp compliance dot1s
[Quidway-GigabitEthernet0/0/22]no-agreement check

Настраиваем следующий Huawei S2300. Как можно предположить, смысл тот же самый, да и команды почти те же. Очень интересно, хотя на S2300 гигабитные порты подписаны 25 и 26, на деле оказывается 1 и 2 соответственно.
[Quidway]stp enable
[Quidway]stp mode mstp
[Quidway]int VlanIf 1024
[Quidway-Vlanif1024]ip address 192.168.0.2 24
[Quidway-Vlanif1024]q

[Quidway]stp interface GigabitEthernet 0/0/1 to 0/0/24 disable

[Quidway]int gi0/0/
[Quidway-GigabitEthernet0/0/1]port link-type trunk
[Quidway-GigabitEthernet0/0/1]port trunk allow-pass vlan 1024
[Quidway-GigabitEthernet0/0/1]int gi0/0/21
[Quidway-GigabitEthernet0/0/2]port link-type trunk
[Quidway-GigabitEthernet0/0/2]port trunk allow-pass vlan 1024
[Quidway-GigabitEthernet0/0/26]q
[Quidway]stp enable
[Quidway]stp mode mstp
[Quidway]bpdu enable
[Quidway]int gi0/0/1
[Quidway-GigabitEthernet0/0/1]stp compliance dot1s
[Quidway-GigabitEthernet0/0/1]no-agreement-check
[Quidway-GigabitEthernet0/0/1]int gi0/0/2
[Quidway-GigabitEthernet0/0/2]bpdu enable
[Quidway-GigabitEthernet0/0/2]stp compliance dot1s
[Quidway-GigabitEthernet0/0/2]no-agreement check

Основные команды для диагностики STP на коммутаторах типа Huawei:
[Quidway]disp stp brief
[Quidway]disp stp
[Quidway]disp stp interface

Приступаем к D-Link DES-3028.
Создадим vlan 15, повесим его на 1 и 2 порты, уберем с этих портов default vlan
DES-3028:5# config vlan default delete 1-2
DES-3028:5# create vlan v1024 tag 1024
DES-3028:5# config vlan v1024 add tagged 1024
Теперь создадим ip интерфейс
DES-3028:5# config ipif System ipaddress 192.168.0.3/24 v1024 state enable
Настраиваем глобально RSTP
DES-3028:5# config stp version rstp
DES-3028:5# enable stp
И на портах-магистралях
DES-3028:5# config stp ports 25-26 externalCost auto edge false p2p auto state enable
DES-3028:5# config stp ports 25-26 fbpdu enable
DES-3028:5# config stp ports 25-26 restricted_role false
DES-3028:5# config stp ports 25-26 restricted_tcn false
По мимо всего прочего нужно было отключить gvrp. Не знаю почему, может прошивка у меня глючная, может ещё что, но у меня не получилось заставить работать вместе с ним.
DES-3028:5# config gvrp 25-26 state disable ingress_checking disable acceptable_frame admit_all pvid 1024

Команды для диагностики на коммутаторе D-Link:
DES-3028:5#sh stp
DES-3028:5#sh stp instance 0
DES-3028:5#sh stp ports 25-26

Да, и ещё: при тестировании не оставляйте постоянно работающим ping. Из-за этого таблица arp, да и mac не успевают обновляться и управление свичами падает.

После всех этих манипуляций, используя команды диагностирования, вы должны получить роли портов такие, как показано на рисунке сверху, т.е. на корневом коммутаторе порты должны быть DESIGNATED, на одном из других коммутаторов один порт ROOT, другой, DESIGNATED, на третьем один порт ROOT, другой ALTERNATIVE.
Да прибудет сила с великими китайскими свичами.

Используемые материалы:
1.http://www.cisco.com/en/US/tech/tk389/tk621/technologies_white_paper09186a0080094cfa.shtmlТеория STP
2.http://biparasite.ru/?p=359 Материал D-Link
3.Huawei user guides
4.D-Link CLI Manual