Користувальницькькі налаштування

Налаштування сайту


vlangen

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
vlangen [2015/11/11 04:07]
vlangen [2023/06/16 15:38] (поточний)
skybetik [Кастомные скрипты телнет\ссш для создания вланов на свичах]
Рядок 1: Рядок 1:
 +====== Пули Вланов ======
  
 +{{:vlan_pools.png?100 |}} Додано нову можливість створювати пули вланів. Там усе доволі просто, у разі ввімкненого VLANGEN_SUPPORT=1 в alter.ini з'явиться така картинка на головній у розділі "Довідники".
 +Робиться все досить просто, схоже на створення мережі, тобто перший іп = перший влан, останній іп = останній влан.\\
 +Для повноцінної роботи модуля потрібно встановити expect. Актуальна збірка Ubilling 0.6.3 4120 і вище.
 +
 +===== Создание пула =====
 +
 +Пока только поддержка стандартных вланов, Q-in-Q планируется чуть позже.
 +{{:create_vlan_pool.png?200 |}}
 +
 +====== Новий тип мережі ======
 +
 +{{:vpu_network.png?200 |}} Так само з'явився новий тип мережі, спеціально призначений для роботи з цим механізмом.
 +Тут жодних змін немає, потрібно створити мережу, тільки вказати тип мережі "DHCP option 82 + vlan per user".
 +
 +Для нього так само передбачено новий шаблон для DHCP.
 +\\
 +\\
 +\\
 +\\
 +\\
 +\\
 +----
 +<file bash option82_vpu.template> class "{HOSTNAME}" {
 +match if suffix(option agent.remote-id,5) = "{REMOTEID}" 
 +and binary-to-ascii(10, 16, "", substring(option agent.circuit-id,2,2)) = "{CIRCUITID}"; }
 +
 +pool {
 +range {IP};
 +allow members of "{HOSTNAME}";
 +}
 +
 +host {HOSTNAME} {
 +fixed-address {IP};
 +} </file>
 +
 +За бажання змінюється під ваші потреби. Зараз через обставини шаблон розуміє remote-id тільки з 5 останніх символів. Якщо потрібно цілком, достатньо поправити рядок \\
 +<file bash option82_vpu.template>match if suffix(option agent.remote-id,5) = "{REMOTEID}"</file>
 +на 
 +<file bash option82_vpu.template>match if option agent.remote-id = "{REMOTEID}"</file>
 +
 +====== Влан термінатор ======
 +Далі потрібно закріпити за мережею і пулом вланів якийсь пристрій, який буде це термінувати (в модулі "Сервера доступу (NAS)"). На цей момент підтримується тільки циско л3 свічі у вигляді 3550\3750. І все теж що має такий синтаксис. Буде розширюватися в міру потреби лінійка циско свічів, а так само планується підтримка FreeBSD і Linux. \\
 +{{:vlan_termintaors.png?300 |}} \\ 
 +\\ 
 +\\ Загалом я думаю теж зрозуміло, але пройдемося по полях, а саме навіщо кожне поле:\\
 +\\
 +\\
 +  - __**NetID**__ - Для того що б закріпити термінатор за пулом адрес.
 +  - __**Vlan Pool ID**__ - Відповідно закріпити за пулом вланів.
 +  - __**IP**__ - IP-адреса, для того що б знати куди засилати дані (використовується SSH).
 +  - __**Логин**__ - Ті самі облікові дані для входу.
 +  - __**Пароль**__ - Без коментарів. Бажано що б збігався з enable або паролем від рута під час входу через su.
 +  - __**Remote-ID**__ - Потрібен якраз для нашого DHCP шаблону.
 +  - __**Интерфейс**__ - Для конфігурації влана, як аннамберед інтерфейсу потрібно вказати батьківський інтерфейс (приклад Loopback 200).
 +  - __**Relay Address**__ - Адреса, куди релеїти DHCP запити.
 +\\
 +\\
 +====== Влан абоненту ======
 +{{:bmagic_vlan.png?200 |}} {{:vlangen_profile.png?200 |}}Відкриваємо профайл користувача, шукаємо чорну магію - і бачимо там виділений значок. \\
 +Відкриваємо його і спостерігаємо таку картину. А там уже вибираємо потрібний пул вланів і воно автоматом призначить перший вільний влан.
 +Так само під час додавання влана запускається скрипт, який підніме потрібний влан на цисці (у планах FreeBSD, Linux).\\
 +
 +====== Конфігурація Cisco 35xx\37xx ======
 +
 +<file cisco.config>
 +!
 +hostname terminator
 +!
 +aaa session-id common
 +ip subnet-zero
 +ip routing
 +ip domain-name terminator
 +ip dhcp relay information option
 +!
 +!
 +ip dhcp snooping vlan 100-300
 +ip dhcp snooping information option format remote-id string 11111
 +ip dhcp snooping
 +!
 +interface Loopback2
 + ip address 192.168.100.1 255.255.252.0
 + no ip redirects
 + no ip unreachables
 +!
 +interface Vlan1
 + no ip address
 + shutdown
 +!
 +interface Vlan8
 + ip address 192.168.10.2 255.255.255.252
 +!
 +ip classless
 +ip route 0.0.0.0 0.0.0.0 192.168.10.1
 +no ip http server
 +no ip http secure-server
 +!
 +end
 +</file>
 +
 +Змін мінімум власне. Найключовіше це призначити на loopback потрібну адресу і маску.
 +І вказати:
 +  - що б врізалася в опцію 82 remote-id
 +  - обов'язково вказати на яких вланах буде snooping інакше не буде circuit-id
 +  - я ще вказав би, що буде приходити remote-id, тому що у мене прилітала якась каша, і не вийшло нормально віддавати адресу, тому dhcp конфіг розуміє remote-id тільки з п'яти символів (цифри\букви як завгодно), власне, це змінюється все в тому самому dhcp конфігурі.
 +  - і останній рядок увімкне snooping глобально
 +<file>
 +ip dhcp relay information option
 +ip dhcp snooping vlan 100-300
 +ip dhcp snooping information option format remote-id string 11111
 +ip dhcp snooping
 +</file>
 +
 +Ще важливо розуміти, що якщо ваш DHCP-сервер не знає, де живуть абоненти в даному випадку, то адреси він не отримає.
 +Для цього потрібно прописати маршрут, як у моєму випадку на мережу 192.168.100.0/22, а шлюз для мережі - 192.168.10.2.
 +Тобто щось у вигляді:
 +<code>
 +route add 192.168.100.0/22 192.168.10.2
 +</code>
 +Плюс, звісно ж, на шляху не заблокувати нічого фаєрволом.
 +
 +Так само якщо хочете використовувати влани вище 1000 - то потрібно зробити 
 +<file>
 +vtp mode off
 +</file>
 +
 +Ну і взагалі добре якщо зробити відразу
 +<file>
 +vlan 2-1000
 +</file>
 +або
 +<file>
 +vlan 1000-2000
 +</file>
 +або
 +<file>
 +vlan 100-300,1000-1500,2300-2600
 +</file>
 +це, щоб не було проблем із транками за умови vtp mode off. і так, не забуваємо, що 3550 вміє тільки 1к активних вланів, хоча я не думаю, що хтось при здоровому глузді буде на них стільки вішати, для 3550-24\48 приблизно 400SVI, для 3550-12Т - до 800 при ввімкненому sdm prefer routing, 3750g - 1000, 4948 - 2000, 4948-e\4900m 4000.
 +====== Конфігурація комутаторів доступу ======
 +На стадії бета-тесту, якщо є якісь міби для свічів, байдуже які - кидайтеся ними в мене, на пошту l1ght13aby@yahoo.com.
 +Зокрема цікавлять оїди для створення вланів, зміна PVID і в принципі все.
 +Буду дуже вдячний.
 +
 +Для використання потрібно власне дві речі. SNMP шаблон у такому форматі та покласти його в config/autoconfig
 +<file>
 +[define]
 +TYPE = "simple"
 +DEVICE = "Dlink DES 1228ME"
 +CHECK = ".1.3.6.1.2.1.17.7.1.4.3.1.5"
 +
 +[CREATE]
 +OID = ".1.3.6.1.2.1.17.7.1.4.3.1.5.VLAN"
 +TYPE = "i"
 +VALUE = "4"
 +
 +[CHANGE]
 +OID = ".1.3.6.1.2.1.17.7.1.4.5.1.1.PORT"
 +TYPE = "u"
 +VALUE = "VLAN"
 +
 +[SAVE]
 +OID = ".1.3.6.1.4.1.171.12.1.2.6.0"
 +TYPE = "i"
 +VALUE = "5"
 +</file>
 +
 +----
 +
 +І заповнити дані в ?module=switchlogin
 +\\
 +{{:sw_login.png?400 |}}
 +
 +\\
 +\\
 +----
 +
 +Обов'язково вказувати snmp community з RW правами!
 +Виглядає це наступним чином:
 +\\
 +{{:sw_login_vie.png?300 |}} {{:sw_login_view2.png?300 |}}
 +\\
 +\\
 +\\
 +\\
 +\\
 +\\
 +----
 +
 +====== Зміна влана по маку ону ======
 +Отже, воно працює наразі з BDCOM3310\Extralink 4GE (на інших бдкомах не перевіряв).
 +Працює він у зв'язці з модулем "Понізатор". Тобто потрібні заповнені дані по онушці і обов'язково вказаний логін у понізаторі.
 +Так само для ОЛТ-а слід вказати snmp community з rw правами в модулі свічів.
 +Так само вимагає, щоб онушці вже було призначено влан, наприклад, щоб у шаблоні був присутній рядок
 +<code>
 +cmd-sequence 1 epon onu all-port ctc vlan mode tag 2
 +</code>
 +За дотримання цих умов можна змінити влан через відповідний модуль, який доступний у чорній магії натисканням лише однієї кнопки.
 +====== Налаштування комутаторів на прикладі Dlink ======
 +Тестувалася зв'язка DGS-3120-24SC + 1228ME/B1.
 +Виглядає наступним чином:
 +На обох комутаторах потрібні права RW для SNMP.
 +<code>
 +create snmp community pub view CommunityView read_write
 +</code>
 +Так само для полегшення власного життя (а так само через те, що функціоналом не передбачено врахування апнлінкових портів комутаторів доступу) раджу використовувати vlan trunk.
 +<code>
 +enable vlan_trunk
 +config vlan_trunk ports UPLINK_PORT state enable
 +</code>
 +Теж саме справедливо і для DGS-3120 як для комутатора агрегації, тільки\\ {{ :port_in_profile.png?400|}}
 +у його випадку варто вказати DOWNLINK порт у бік нашого 1228МЕ. \\
 +Ось таким ось легким способом змушуємо длинк поводитися як\\ 
 +нормальний комутатор ^_^ \\
 +Так само обов'язкові до заповнення комутатор, де користувач перебуває \\
 +і власне порт. \\
 +
 +\\
 +Ну і, звісно, заповнені дані щодо комутаторів у модулі switchlogin (його опис трохи вище). І звісно не забути на карті свічів вказати правду в аплінкових комутаторів. У моєму випадку був ланцюжок 1228->3120->cisco 3550
 +\\
 +\\
 +====== Кастомні скрипти телнет\ссш для створення вланів на комутаторах ======
 +
 +З'явилася підтримка кастомних скриптів для ссш\телнет підключень до комутаторів.
 +Суть проста: створюємо комутатор, вказуємо тип підключення ССШ або Телнет (насправді ролі особливої не грає, все залежить від вашого скрипта).
 +Далі під час виклику "Змінити влан на порту комутатора" буде викликано скрипт із config/scripts/ім'я_моделі_свіча, і йому буде передано параметри switch_login switch_password switch_ip vlan port...
 +Тобто щось на кшталт config/scripts/DlinkDes1210-28 admin admin 192.168.100.25 4012 5