9 августа 2013 г.

Catalyst 3750X. Нестандартное использование RSPAN.

Технология RSPAN используется для зеркалирования трафика определенных портов или логических локальных сетей на порт отдельного коммутатора локальной сети.

Если сеть организована в соответствии с трехуровневой иерархической моделью Cisco, то проблем с использованием RSPAN не возникает. При правильном использовании RSPAN в плоской сети приходится выделять отдельный коммутатор для подключения анализатора сетевого трафика, а это неудобно и не всегда возможно. Последнее требование можно обойти, если подключить к  транковому соединению, которое используется для передачи зеркалированного трафика, анализатор сетевого трафика. Для этого нужно описать транковое соединение, разрешив передачу трафика remote-span VLAN в нетегированном виде (switchport trunk native vlan ...). Описанная выше техническая особенность позволяет подключать анализатор к любому коммутатору локальной сети и получать зеркалированный всеми коммутаторами трафик (если полученный суммарный объем трафика не превысит пропускную способность соединений в локальной сети).

6 июня 2013 г.

switching fabric и forwarding rate.

В технической документации Cisco Systems выделены две основных характеристики производительности коммутаторов: Switching Fabric и Forwarding Rate.


Switching Fabric

Параметр Switching Fabric описывает пропускную способность общей шины коммутатора; значение этого параметра определяет общую скорость побитовой передачи данных между портами устройства. Если суммарная пропускная способность всех портов коммутатора превосходит значение пропускной способности общей шины, то данный коммутатор обладает блокирующей общей шиной (blocking Switching fabric), а если не превосходит, то неблокирующей (non-blocking).
Например, общая пропускная способность портов коммутатора WS-3750X-48T-S составляет 48*2=96 Гбит/с (удвоение связано с возможностью одновременного приема и передачи кадров), а пропускная способностью общей шины – 160 Гбит/с. Таким образом, данный коммутатор обладает неблокирующей общей шиной.

Forwarding Rate

Коммутатор передает информацию в виде отдельных кадров. Поскольку обработка каждого кадра требует времени и ресурсов оборудования, общее количество обрабатываемых кадров ограничено. Одна и та же модель коммутатора может эффективно обрабатывать большие потоки данных, которые передаются в виде больших кадров, но не справиться с меньшим потоком мальньких кадров. Количество кадров, которые могут быть обработаны коммутатором, описывается параметром Forwarding Rate.
Через один гигабитный порт коммутатора может передаваться до 2*1,5=3 млн пакетов в секунду (1'485'884*2 пакетов в секунду), если размер кадра равен 64 байтам. Таким образом, коммутатор с 48 портами должен обладать способностью передавать примерно 140 млн пакетов в секунду, чтобы гарантированно справиться с любым возможным потоком данных. В реальных условиях современной мультисервисной сети такое распределение размеров пакетов невозможно, поэтому производители выпускают коммутаторы, значение параметра Forwarding Rate которых позволяет обрабатывать потоки данных с максимальной загрузкой интерфейсов при среднем размере пакета больше 100 байт.

Ссылка 1

Порядок загрузки ядра Linux.



Этап загрузки
Описание
1. Загрузка BIOS
BIOS (Basic Input/Output System) - это реализованная в виде микропрограмм часть системного программного обеспечения, которая обеспечивает начальную загрузку компьютера и последующий запуск операционной системы.
После включения ПК начинается проверка аппаратного обеспечения компьютера (POST). Если проверка была завершена успешно, BIOS производит поиск MBR на указанных в настройках носителях и запускает загрузчик ОС.
2. Чтение MBR
Первый сектор (512 байт) загрузочных носителей зарезервирован под MBR. При использовании grub MBR используется для хранения первой стадии загрузчика (stage1), которая запускается для выполнения второй стадии (stage2).
3. Исполнение программы-загрузчика
После исполнения кода первой стадии загрузчика (stage1), хранящегося в MBR, происходит исполнение второй стадии, на которой осуществляется анализ данных в файлах загрузчика (установленные ОС, вывод меню выбора загружаемой ОС, параметры выводимого меню и т.д.) и загрузка ядра нужной операционной системы.
4. Загрузка ядра ОС
Запущенное загрузчиком ядро ОС осуществляет инициализоцию оборудования, производит монтирование файловой системы, указанной в настройках загрузчика в качестве корневойю. После успешного монтирования файловой системы запускается даймон init, который завершает загрузку ОС.
5. Выполнение init
При нормальном процессе загрузки init осуществляет выполнение программ для уровня выполнения (runlevel) по умолчанию, указанному в файле /etc/inittab. Сценарии загрузки для разных уровней выполнения хранятся в /etc/rc*
Дополнительно. Уровни выполнения в Debian (уровень по умолчанию можно посмотреть в /etc/inittab)
0 - выключение ОС;
1 - однопользовательский режим;
2-5 - многопользовательский режим, по умолчанию используется runlevel2;
6 - перезагрузка ОС.

CentOS 6. Создание загрузочного USB флеш-накопителя.


Образы ISO, которые можно скачать с официальных зеркал, нельзя просто скопировать с помощью dd на USB флеш-накопитель и загрузить. Для установки с USB Flash требуется настроить загрузку с носителя и скопировать на него необходимые файлы. Все действия были произведены из Debian Wheezy (в отличие от CentOS использует GRUB2)
Порядок создания загрузочного флеш-накопителя:
1) Удалить таблицу разделов на носителе. Извлечь носитель из разъема USB и подключить обратно.
dd if=/dev/zero of=/dev/sdb bs=512 count=1
2) Создать новый раздел на носителе, изменить свойства созданного раздела:
# fdisk /dev/sdb

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-7831551, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-7831551, default 7831551): 


Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 0B
Changed system type of partition 1 to b (W95 FAT32)

Command (m for help): a
Partition number (1-4): 1

Command (m for help): w

# partprobe

3) Создать файловую систему нового раздела
# mkfs.vfat /dev/sdb1
4) Копирование необходимых файлов на накопитель (требуется ISO образ диска):
# mount /dev/sdb1 /media/usb
# cd /media/usb
# cp /var/iso/CentOS-6.4-x86_64-minimal.iso centos.iso
# ls
centos.iso
# mount centos.iso /media/cdrom

# cp -R ../cdrom/images/ ./
# ls
centos.iso  images
# mkdir boot
# cp ../cdrom/isolinux/vmlinuz boot/
# cp ../cdrom/isolinux/initrd.img boot/
5) Установка загрузчика:
# grub-install --boot-directory=/media/usb/boot/ /dev/sdb
6) Создание файла настроек GRUB:
# vi boot/grub/grub.cfg 
Содержание grub.cfg после внесенных изменений:
# cat boot/grub/grub.cfg 
menuentry 'Boot Centos' --class gnu-linux --class gnu --class os {
        insmod gzio
        insmod part_msdos
        set root='(hd0,msdos1)'
        echo    'Loading Linux ...'
        linux   /boot/vmlinuz ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img
}
#

Centos 6.4. Libvirt LVM pool.

В CentOS 6.4 можно использовать LVM VG в качестве пула носителей libvirt, можно создать носители в этом пуле с помощью virsh. Созданные таким образом носители невозможно использовать в качестве дисков для  виртуальных машин из-за политик SELinux. Решение: контексты устройств можно изменить с помощью следующих команд:

semanage fcontext -E | grep virt_image_t | awk '{$1=""; $2=""; print "semanage fcontext -d"$0}' | bash
ls -lZ /dev/lvm_vg/ | awk '{print $NF}' | awk '{print "semanage fcontext -a -f -b  -t virt_image_t /dev/"substr($0,4)}' | bash
restorecon /dev/dm*

8 мая 2013 г.

Настройка клиетского PPTP-подключения.

Настройка PPTP-подключения к провайдеру.

Требуемые пакеты

Для установки подключения нужно установить пакеты ppp и pptp-linux. При настройке соединения в различных дистрибутивах Linux нужно учесть, что один или оба этих пакета могут  не быть предустановленными в некоторых дистрибутивах Linux, например, пакет pptp-linux установлен по умолчанию в Ubuntu Desktop и отсутствует в установленной с настройками по умолчанию сборке Ubuntu Server. Также нужно обратить внимание на установленные программы-менеджеры сетевых соединений и настройки фаервола. Например, наличие работающего Network Manager может привести к проблемам совместимости настроек  в текстовых файлах конфигруации и настроек самого NM, а запрет протокола GRE или трафика TCP соединений для порта 1723 приведет к невозможности установления PPTP-подключения (начальную настройку и тестирование соединения лучше производить с отключенным межсетевым экраном).

Начальная настройка подключения


Пример настройки PPTP-клиента для Debian GNU/Linux. Провайдер использует IP адреса в сети 192.168.0.0/16


Перед настройкой следует разобраться со схемой маршрутизации. После установления PPTP-соединение будет использоваться в качестве шлюза по умолчанию, поэтому следует заранее прописать статически маршруты для ресурсов в локальной сети провайдера, в том числе и для самого PPTP-сервера (в случае использования статического маршрута по умолчанию для локальных маршрутов, они будут недоступны после установления PPTP-соединения). Сделать это можно с помощью скриптов, или в файле настройки интерфейсов. Настройка производится для ситуации, когда локально должны быть доступны устройства в сети 192.168.0.0/16.

1) Для настройки локального подключения к провайдеру (интерфейс eth0) следует добавить значения IP адреса, маски подсети и локального шлюза в файл /etc/network/interfaces:
auto eth0
iface eth0 inet static
address 192.168.0.184
netmask 255.255.255.0
up ip route add 192.168.0.0/16 via 192.168.0.1

2) Выключение и включение сетевого адаптера:
# ifdown eth0
# ifup eth0

3.1) Если для указания PPTP сервера используется статический IP адрес, следует проверить его доступность:
$ ping 192.168.1.5

3.2) Если для указания PPTP сервера используется доменное имя, следует указать DNS сервер и проверить доступность доменного имени PPTP-сервера:
$ echo "nameserver 192.168.0.1" > /etc/resolv.conf
$ ping pptp-server.provider.ru

4) В случае успешного прохождения проверки следует приступить к тестовой настройке PPTP-подключения.

4.1) Создание папки для хранения логов PPTP:
# mkdir /var/log/ppp
# touch /var/log/ppp/pptp_log
# chmod -R 644 /var/log/ppp/pptp_log

4.2) Создание файла /etc/ppp/peers/provider, который доступен для чтения только суперпользователю, со следующим содержанием:
pty "pptp pptp-server.provider.ru --nolaunchpppd —nobuffer"
remotename pptp
user "VPN_LOGIN" << Имя пользователя
password "VPN_PASSWORD" << Пароль
refuse-eap
linkname provider << имя соединения, которое будет использоваться при подключении
lock
usepeerdns
nodeflate
nobsdcomp
noauth
nopcomp
noaccomp
logfile /var/log/ppp/vpnlog

4.3) Произвести тестовое подключение:
pppd call provider debug nodetach

4.4) Если соединение не установлено, проанализировать логи и внести изменения в настройку PPTP-подключения (man pptp)


Завершение настройки соединения

1) Добавить следующие строки в файл /etc/ppp/peers/provider (значение строк - man pptp):

defaultroute
persist
maxfail 0
holdoff 40
lcp-echo-interval 60
lcp-echo-failure 4

2) Автоматизировать процесс запуска и остановки процесса установления соединения с помощью добавления команд "pppd call provider" и "poff provider" в соответствующие скрипты.




Настройка iptables

Правила iptables, разрешиющие трафик PPTP-соединения. PPTP-сервер находится в сети 192.168.1.0/24:
-A INPUT -s 192.168.1.0/24 -p gre -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p tcp -m tcp --sport 1723 -j ACCEPT
-A OUTPUT -d 192.168.1.0/24 -p gre -j ACCEPT
-A OUTPUT -d 192.168.1.0/24 -p tcp -m tcp --dport 1723 -j ACCEPT

7 марта 2013 г.

Обновление ПО маршрутизатора RS 3000.

Задача: обновить ПО на маршрутизаторе Riverstone с 9402 на 9405. ПО можно скачать с другого маршрутизатора RS.

Общие сведения: на маршрутизаторы RS ПО заливается в виде tar-архивов. Маршрутизатор RS 3000 поддерживает копирование  только отдельных файлов.

Решение:
  • С помощью команды "file dir" просмотреть содержимое директорий маршрутизатора-источника нового ПО, найти директорию с ПО (называется ros9405).
  • С помощью команды copy ... to ... скопировать содержимое директорий на tftp-сервер.
  • Разместить скопированные файлы по директориям tftp сервера аналогично их расположению в памяти маршрутизатора.
  • Создать из файлов архив.
Замечание1: нужно создавать архив из поддиректорий директории ros9405 tftp-сервера;
Замечание2: нужно использовать нормальные архиваторы, 7-ZIP неправильно вычисляет Magic Numbers;
Замечание3: архив должен иметь имя ros9405 (без расширения tar), так как имя архива станет имененем директории с ПО, а директория ros9405.tar нарушает систему именования (хотя работать будет).
  • Скопировать созданный архив с tftp сервера в память маршрутизатора с помощью команды "system image copy".
  • Указать системе загружать новый образ с помощью комады "system image choose"
  • Перезагрузить устройство.

Дополнительная информация в брошюре "RS Switch Router RapidOS Command Line Interface Reference".

9 января 2013 г.

Утилита wc.

Утилита wc используется для получения количества строк, слов, символов и байт в файле/файлах/вводе. Под словом понимется некоторое количество символов, разделенных пробелами.

Использование:
wc -[cmlLw] [FILE1] [FILE2] [...]
-c - вывести количество байт;
-m - вывести количество символов;
-l - количество строк;
-L - длина наибольшей строки;
-w - количество слов.