Настройка шлюза коммутатора Zyxel

Этот шлюз работает только в связке со шлюзом Cisco2, описанным в предыдущей главе . Если вы хотите его запустить автономно, то все равно должен быть родительский шлюз Cisco2, логику которого можно подменить пустым скриптом BeanShell. В текущий момент поддерживаются Zyxel ES 2024A, Zyxel ES 2108G, Zyxel GS 3012F и совместимые с ними.

Для родительского типа шлюза Cisco2 в этом случае надо прописать вот такую конфигурацию :

gate_manager.class=bitel.billing.server.ipn.vlan.CiscoVlanParentGateWorker

Типовая схема - каждый клиент помещается в отдельный VLAN. Клиент может быть подключён к cisco через цепочку управляемых шлюзов, поддерживающих протокол GVRP. VLAN прописывается на шлюзе cisco и на конечном шлюзе, к порту которого подключён абонент. Остальные шлюзы могут получать информацию о VLAN по протоколу GVRP.

Данный шлюз управляется по ssh.

Создайте тип шлюза со следующей конфигурацией:

user_rule.editor.class=bitel.billing.module.services.ipn.editor.vlan.CiscoSSHSwitchRuleEditor
gate_manager.class=bitel.billing.server.ipn.vlan.CiscoSSHSwitchGateWorker

В командах данного типа шлюза пропишите :

[DEFAULT]
[OPEN]
<LOOP_PORT>
interface port-channel {PORT}
pvid {VID}
exit
</LOOP_PORT>
 
vlan {VID}
name "abonent {VID}"
normal ""
<LOOP_PORT>
fixed {PORT}
</LOOP_PORT>
untagged 1-8
exit
[/OPEN]
 
[CLOSE]
no vlan {VID}
[/CLOSE]
 
[/DEFAULT]

Обработка команд происходит аналогичным образом , как и обработка команд Manad. Т.е макросы вида {A} заменяются на адрес из выбранных диапазонов для тегов <LOOP>, а макросы {NET} и {NET_MASK} заменяются на выбранные сети для тегов <LOOP_NET> и <LOOP_NET_MASK> соответственно.

Ещё для шлюза Zyxel производятся дополнительные преобразования:

1. Макрос {VID} заменяется на номер VLAN, который выделен на данный договор и шлюз (как задаётся выделение VLAN описано тут ) , независимо от того, где встретится (внутри цикла LOOP или нет ).

2. Для каждого тега <LOOP_PORT> вместо макроса {PORT} подставляются порты клиента.

В правилах данного типа шлюза добавляется пустое правило.

Создайте шлюз данного типа как шлюз потомок для Cisco2. В конфигурацию данного шлюза добавьте :

# Логин пользователя
login=admin
# Время ожидания ответа, по истечению которого шлюз сбрасывает соединение и выдаёт ошибку
timeout=20000

Задайте хост и порт (22) шлюза, в качестве ключевого слова забейте пароль.

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

images/download/attachments/43386126/ipn_cisco_switch_parent.png
На вкладке Cisco показаны команды, которые будут вызываться на шлюзе Cisco.

На вкладке Switch - команды, которые будут вызываться на коммутаторе.

images/download/attachments/43386126/ipn_cisco_switch_switch_commands.png
На вкладке привязка вы можете задавать привязку ip-адресов к портам и mac адресу .

images/download/attachments/43386126/ipn_cisco_switch_connect.png

Порты подставляются в команды коммутатора вместо макроса {PORT} . Также эта таблица используется шлюзом DHCP для выдачи ip по mac.

Выбор адресов и сетей влияет на команды (вкладки) Cisco и Switch.