Настройка шлюзов типа Switch

Шлюзом типа Switch может выступать любой управляемый коммутатор с поддержкой SNMP и MIB-IFACES. Предполагается, что SNMP на коммутаторе уже настроен и заведено community с r-w правами, например billing.

Для начала необходимо установить номера интерфейсов, которые есть на вашем коммутаторе. Очень удобно для этого под Windows использовать утилиту GetIf, которую вы можете скачать по адресу: http://www.wtcs.org/snmp4tpc/FILES/Tools/SNMP/getif/getif-2.3.1.zip

Определения существующих интерфейсов установите в первой вкладке имя community и адрес хоста, соединитесь.

images/download/attachments/43386098/ipn_35.gif

В данном случае соединение шло с SNMP-агентом MS WIN машины. Далее на вкладке MBrowser выберите ветку .1.3.6.1.2.1.2.2.1.2 и нажмите Start.

images/download/attachments/43386098/ipn_36.gif

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

Например в нашем случае интерфейс 1 - это LO, 65539 - ETH1. К сожалению getif некорректно отображает значение поля ifDescr, поэтому приходится ориентироваться по другим полям, например ifType.

В случае, если вы предпочитаете работать с UNIX-системами, воспользуетесь утилитой snmpwalk из пакета (bbb - это имя community):

snmpwalk -Os -c bbb -v 1 192.168.184.2 .1.3.6.1.2.1.2.2.1.2

Вывод будет примерно следующий:

[root@gate ~]# snmpwalk -Os -c bbb -v 1 192.168.184.2 .1.3.6.1.2.1.2.2.1.2
ifDescr.1 = STRING: MS TCP Loopback interface
ifDescr.65539 = STRING: 3Com Gigabit LOM (3C940)

Таким образом мы получаем карту интерфейсов.

Следующий шаг - создание типа шлюза. Допустим, мы хотим создать тип шлюза CISCO XXX с определённым набором фиксированных интерфейсов (портов), причём на каждом из шлюзов этого типа могут быть дополнительные интерфейсы типа VLAN.

images/download/attachments/43386098/ipn_37.gif

В конфигурации должно быть указано следующее:

user_rule.editor.class=bitel.billing.module.services.ipn.editor.SwitchContractRuleEditor
gate_manager.class=bitel.billing.server.ipn.SwitchGateWorker
#версия snmp 1 или 2c
snmp.version=1

При указании snmp.version=0 биллинг не будет выполнять действий по управлению устройством при смене статуса шлюза, в этом случае шлюз может быть использован только для учёта.

Далее указываются номера интерфейсов

iface.65539=ETH1

Типы правил для Switch-шлюзов создавать не нужно, можно сразу создавать шлюз. В шлюзе можно добавить специфичные для него интерфейсы.

images/download/attachments/43386098/ipn_38.gif

Теперь при добавлении шлюза в договор после выбора шлюза 127.0.0.1 отобразится следующий редактор.

images/download/attachments/43386098/ipn_39.gif

Программа отобразит только свободные на данном шлюзе порты. Выбрав порт вы укажете программе, что его нужно блокировать в случае перевода статуса договора в IPN модуле в закрыт или заблокировано.

Также в конфигурации шлюза можно поставить опцию

#Интервалы в миллисекундах между неудачными попытками связаться по snmp. 500,1000,2000,5000,5000 - значения по умолчанию.
#retry.intervals=500,1000,2000,5000,5000