пятница, 4 февраля 2011 г.

Cisco Per IP policer

Дано:

В пределах одного VLAN имеем несколько BGP сессий к провайдеру. Нужно ограничить грубо говоря входящую скорость каждой сессии.

железо: Catalyst 6509 Sup720-BXL
Софт:
Cisco IOS Software, s72033_rp Software (s72033_rp-ADVIPSERVICESK9_WAN-M), Version 12.2(33)SXI4a, RELEASE SOFTWARE (fc2)


Создаем access-list'ы и class-map'ы на сети клиентов, по которым будем идентифицировать трафик:
access-list 105 permit ip any 91.224.xx.0 0.0.0.255
access-list 106 permit ip any 193.58.yy.0 0.0.0.255

class-map match-all UAIX_Client1
match access-group 106
class-map match-all UAIX_Client2
match access-group 105

Теперь собственно сам полисер:

policy-map UAIX_OUT
class UAIX_Client1
police 100000000 3125000 conform-action transmit exceed-action drop
class UAIX_Client2
police 80000000 2500000 conform-action transmit exceed-action drop

Одному клиенту нарезаем 100М, второму 80М.

И последнее, вешаем эту полиси на нужный vlan:

interface Vlan221
service-policy output UAIX_OUT

четверг, 22 июля 2010 г.

LACP D-Link + Linux Bonding

Следующая задача состояла в том чтобы увеличить пропускную способность между роутером на Linux и свичом который на котором собраны разные 1Г транспорты.

Свич мы на строили по примеру из предыдущего поста, настала очередь роутера.

1. Пересобираем ядро с поддержкой bonding, и обязательно в виде модуля, т.к. только в этом случае мы можем задавать ему разные опции.
2. Настраиваем модуль:

/etc/modprobe.d/bond.conf

alias bond0 bonding
alias bond1 bonding

options bonding mode=4 max_bonds=2 xmit_hash_policy=1


Тут поподробнее bond0 - первый интерфейс, bond1 - второй
bonding mode=4 - режи работы бондинга совместимый с 802.1ad который включен у нас на свиче.
max_bonds=2 Количество бонд-интерфейсов, без него сможем создать только 1 интерфейс.
xmit_hash_policy=1 - самое интересное, аналог config link_aggregation algorithm both_ip_mac_source_dest в свиче D-Link, без него те же траблы. Кому интересно очень подробное описание находится в файле /usr/src/linux/Documentation/networking/bonding.txt

Теперь настраиваем собственно интерфейсы:

/etc/conf.d/net

modules=( "iproute2" )

config_eth0=(<->"192.168.100.1/32"<---->)
config_eth1=(<->"192.168.100.2/32"<---->)
config_eth2=(<->"192.168.100.3/32"<---->)
config_eth3=(<->"192.168.100.4/32"<---->)


slaves_bond0="eth0 eth1"
slaves_bond1="eth2 eth3"

config_bond0=(<>"192.168.100.5/32"<---->)
config_bond1=(<>"192.168.100.6/32"<---->)

vconfig_bond0=( "set_name_type VLAN_PLUS_VID" )
vconfig_bond1=( "set_name_type VLAN_PLUS_VID" )


vlans_bond0="220"
vlans_bond1="226 227 496 526 527 606 497 604 504 550 551 332 498 506 525 602 603 605"

config_vlan0220=(<----->"1хх.1хх.1хх.2хх/30"<-->)


.... и дальше собственно настройки vlan-интерфейсов


Почему-то с конструкцией "NULL" в виде адреса интерфейса не создавались вланы, поэтому прописал фейковые адреса.

Теперь добавляем симлинки:

ln -s /etc/init.d/net.lo /etc/init.d/net.bond0
ln -s /etc/init.d/net.lo /etc/init.d/net.bond1


И добавляем автозагрузку:
rc-update add net.bond0 default
rc-update add net.bond1 default


Все работает, как и надо
Система Gentoo Linux, свич D-Link DGS-3100

четверг, 1 июля 2010 г.

LACP D-Link + Cisco

Нужно было увеличить пропускную способность канала между D-Link 3100 и Cisco Catalyst 6500 c 1Г до 2Г

Порядок действий:

1. Соединили непосредственно физику - 2 пачкорда
2. Включили LACP на этих портах
3. перекинули туда нужный VLAN

Все работает, все хорошо. Через время смотрим на график Cacti и удивляемся - со стороны длинка входящий трафик делится равномерно, исходящий идет по одному порту.

4. Усиленно гуглим ))
5. Просим у Длинка свежую прошивку (мне выдали 3.60.26, + бутпром)
6. Прошиваем свич (после загрузки часть конфига не заработала - порты LACP, SNMP, может что-то еще).
7. Добавляем заново порты в LACP группу, и выставляем config link_aggregation algorithm both_ip_mac_source_dest
8. Наслаждаемся практически равномерной балансировкой.

суббота, 26 июня 2010 г.

Сброс паролей на свичах

Попал в руки бушный 3com 4224t, оказалось запаролен.

Гугл дал следующее решение:

вместо логин/пасс вводим recovery/recovery
девайс просит перегрузиться - выдергиваем питание и вставляем заново
теперь вводим новый пароль и отвечаем enable на вопрос
The Password Recovery feature is enabled.
Enter new value (enable,disable)[enable]:



З.Ы. Для Длинка заветная кнопка это Shift+6 при загрузке устройства.

CISCO ESR10008

Как выяснилось все старый поделки для терминирования туннелей - pptp, mpd и т.д. это детский сад.

Купили Циско ESR10008 - 15% загрузки при 2к подключенных юзерах и 700М траффика. Неплохо имхо.

суббота, 19 декабря 2009 г.

FreeBSD 7 как VPN-сервер

Как оказалось FreeBSD + MPD5 значительно производительнее решения на базе Linux + pppd. На Linux были достигнуты результаты в 600 сессий и 120М трафика, при превышении машина постепенно загибалась, а это совсем не слабый CoreQuad на Intel SH3210. Более живуч был при использовании accel-pptpd, но там вылезли проблемы с многоядерностью - сервер зависал, уходил в панику и определить затык так и не удалось, хотя в режиме nosmp результаты были превосходными.
Но все поменялось, когда после уговоров TS было решено ставить фрю, результаты превзошли все ожидания - более 1000 сессий, 250М трафика и это не предел. При чем система ведет себя стабильнее - даже если ресурсы исчерпаны то она доступна и по ssh и из локальной консоли.

DHCP + UA-IX

задался вопросом: можно ли по DHCP передать полный список маршрутов в UA-IX. Будем тестить )))