Перейти до

BDCOM 3310p необходим oid для управления вланами


crazik

Рекомендованные сообщения

Добрый день, необходимо управление олтом через snmp а точнее управление вланом на виртуальном порту ону (epon onu port 1 ctc vlan mode tag VID ). 

Ссылка на сообщение
Поделиться на других сайтах

if ($_POST['v_new']!=$vlan) {
        $vlan_set = snmp2_set($ip, $rw, "1.3.6.1.4.1.3320.101.12.1.1.3.$key_onu.$port", i, $_POST['v_new']);
                    if ($vlan_set) {
                        echo "<center><h3>vlan успешно прописан!!</center></h3><br>";
                        $write=snmp2_set($ip, $rw, "1.3.6.1.4.1.3320.20.15.1.1.0", i, "1");
                        if ($write){
                            echo "<center><h3>Сохранено!!!</center></h3><br>";
                        }
                        
                    }
                    
    }
                        else {
                            echo "<center><h3>vlan остался неизменным!!!</center></h3>";
                        }

 

У мене так працює

Ссылка на сообщение
Поделиться на других сайтах

$key_onu - epon0/1:13(для примера)

$port. - 1 или 2 или 3 или 4 ( в зависимости от типа ОНУ)

Значения переменных получаем после опроса ОЛТа по SNMP протоколу...

Відредаговано ua.feldsher
Ссылка на сообщение
Поделиться на других сайтах

Опросил олт по снмп и к сожелению не нашел часть оида которая за порт отвечает 

 System Bootstrap, Version 0.3.4,  Build 29333.

бело бы здорово если бы вы приложили пример оида. за раннее благодарен.

Ссылка на сообщение
Поделиться на других сайтах

<?php header('Content-type: text/html; charset=utf-8')?>
<?php
session_start();
include_once("db_connect.php");
include_once 'session.php';
include_once("var.php");
?>
<html>
<head>
    <title>PON</title>
    <style>
    .zebraRow {
        background-color: #c0c0c0;
    }
    </style>
</head>
<body>
<?php
//print_r($_GET);
$ip_olt=$_GET['ip'];

function _submit() {
      window.open('','new_win','width=400,height=600,location=no,toolbar=no,menubar=no,status=no,scrollbars=yes,resizable=yes');
  }
$Array_descr = snmprealwalk($ip_olt, $ro, "ifDescr");
echo "BDCOMM - ".$ip_olt;
echo "<br>";
if(count($Array_descr)>0) {
    
            foreach($Array_descr as $key => $type) {
    
                            $key = str_replace("IF-MIB::ifDescr.", "", $key);
                            $type = trim(str_replace("STRING: ", "", $type));
                            
                            //$id_onu = strtok($key, ":");
                            $olt = strtok($type, ":");
//print_r($id_onu);
                                if(preg_match("#:#", $type)){
                                $active="";
                                    $opt_level_up = snmpget($ip_olt, $ro, "enterprises.3320.101.10.5.1.5.$key");
                                    $opt_level_up = trim(str_replace("INTEGER: ", "", $opt_level_up)/10);
/*$key_onu=$key;
echo ($opt_level_up)." POrt ".$key;
echo "<br>";
*/
                                    $mac_onu = snmpget($ip_olt, $ro, "enterprises.3320.101.10.4.1.1.$key");
                                    $mac_onu = str_replace(" ", ":", strtolower(trim(str_replace("Hex-STRING: ", "", $mac_onu))));
                                    
                                    $active = snmpget($ip_olt, $ro, "1.3.6.1.4.1.3320.101.10.1.1.26.$key");
                                    $active = str_replace(" ", ":", strtolower(trim(str_replace("INTEGER: ", "", $active))));

                                    $descr = snmpget($ip_olt, $ro, "mib-2.31.1.1.1.18.$key");
                                    $descr = str_replace(" ", ":", strtolower(trim(str_replace("STRING: ", "_", $descr))));

                                    $Array_ports="";
                                    $Array_ports_="";
                                    $Array_ports__="";
                                    $Array_ports = snmprealwalk($ip_olt, $ro, "enterprises.3320.101.12.1.1.8.$key");
                    
                                        foreach($Array_ports as $key_ => $state) {
                                            $port = str_replace("SNMPv2-SMI::enterprises.3320.101.12.1.1.8.$key.", "", $key_);
                                            $Array_state=explode(":", $state);
                                            $state = trim($Array_state[1]);

                                            if($state == 1 ){ $state="up"; }
                                            if($state == 2 ){ $state="down"; }
                                                $Array_ports__[]= $port." : ".$state;
                                        }

                                                //if(count($Array_ports__)>0){
                                                    //$Array_olt[$olt][$mac_onu]['ports'] = implode("<br>", $Array_ports__);
                                                    $Array_olt[$olt][$mac_onu]['ports'] = $Array_ports__[0];
                                                //}
                                    $Array_olt[$olt][$mac_onu]['key_onu'] = $key;
                                    $Array_olt[$olt][$mac_onu]['type'] = $type;
                                    $Array_olt[$olt][$mac_onu]['level_up'] = $opt_level_up;
                                    $Array_olt[$olt][$mac_onu]['active'] = $active;
                                    $Array_olt[$olt][$mac_onu]['descr'] = $descr;
                                    
                            }
            }    

            ksort($Array_olt);
            echo "<form action=”onu.php” id=”form1”></form>";

            print("<br><br><center><table border='0' cellpadding='0' cellspacing='1' width='90%'>");
            print("<tr class=head bgcolor=#ffffc0>
             <td ><strong>EPON №</strong></td>
             <td ><strong>Имя ONU</strong></td>
             <td ><strong>Описание</strong></td>
             <td ><strong>Mac ONU</strong></td>
             <td ><strong>Уровень пр., db</strong></td>
             <td ><strong>На карте...</strong></td>
             </tr>");

            foreach($Array_olt as $key => $type)

            {
                $olt = $key;
                $ports="";
                    foreach($type as $key1 => $type1)
                    {
                        $mac_onu = $key1;
                        $level_up = $type1['level_up'];
                        $type = $type1['type'];
                        $active = $type1['active'];
                        $ports = $type1['ports'];
                        //$d = $type1['descr'];
                        $key_onu = $type1['key_onu'];
                        $n++;

                        $query="SELECT descr FROM pon WHERE mac_onu='$mac_onu'";
                        $res=mysql_query($query);
                        $itog=mysql_fetch_assoc($res);
                            $d = $itog['descr'];

                                if(($olt!=$old_olt)&&($n!=1)) {

                                print("<tr class=head bgcolor=#ffffc0><td>Всего: $m</td>");
                                $m=0;
                                print("<tr height=40><td colspan=5></td></tr>");
                                }

                                $m++;

                                    if ($level_up == 0) {
                                                $colorfont="red";
                                                $lable="ONU не подключена!";
                                                        
                                                    } elseif ($level_up <= -25) {

                                                        $lable="Плохой сигнал!!!";
                                                        $colorfont="blue";

                                                    } else  {

                                                        $colorfont="green";
                                                        $lable="Сигнал в пределах нормы!";
                                                       

                                                    }                

                                    
                                

                        $cssClass="normalRow";

                                if($n % 2 == 0) {
                                    $cssClass = "zebraRow";
                                }
                        
                        echo "
                        <tr class=$cssClass>
                        <td><a href='edit_onu.php?epon=$olt&epon_onu=$type&mac_onu=$mac_onu&key_onu=$key_onu&descr=$d&ip=$ip_olt&port=$port' target='_blank'>$olt</td>
                        <td>$type</td>
                        <td>$d</td>
                        <td>$mac_onu</td>
                        <td><font color=$colorfont><b> ".$level_up." db</b> <br/>".$lable."</td>
                        <td nowrap align='left'>
                        ";
                                $query="SELECT lat FROM pon WHERE mac_onu='$mac_onu'";
                                $res=mysql_query($query);
                                $itog=mysql_fetch_assoc($res);
                                    $lat = $itog['lat'];
                                        //echo $lat;# code...
            
                                        if ($lat == 0) {
                                                    echo "<a href='location.php?&olt=$ip_olt&mac=$mac_onu&lat=$lat&descr=$d'><img src='pic/red.png' height=\"50\"";

                                        } else {
                                                    echo "<img src='pic/green.png' height=\"50\"";
                                        }
            

                            //if(($active==1)||($active==3)){ print("$ports"); }else{}


                                echo "</td><td><a href='onu.php?epon=$type&mac_onu=$mac_onu& key_onu=$key_onu&descr=$d&ip=$ip_olt&port=$port' target='_blank'><img src='pic/view.png' width=\"60\"></a>
                                
                                </td></tr>    ";

                                $old_olt=$olt;

            //echo "$old_olt";<a href='onu.php?mac_onu=$mac_onu& key_onu=$key_onu&descr=$d&ip=$ip_olt' target='_blank'><img src='pic/editButton.png' height=\"50\"></a>
                    }
            }




print("<tr class=head bgcolor=#ffffc0><td>Всего: $m</td>");
print("</table></center>");
}

?>

</body>
</html>

Опрашивает ОЛТ, и строит таблицу с уровнями сигалов...

Ссылка на сообщение
Поделиться на других сайтах

Спасибо большое, с кодом разобрался, вы мне очень помогли!

может у вас есть оид на выполнения данной команды epon bind-onu mac xxxx.xxxx.xxxx lid для привязки ону к олту

Ссылка на сообщение
Поделиться на других сайтах

@@ua.feldsher, можно пользоватся pastebin.com

а то код тяжело так читать, ну или хотя бы засунуть в секцию code 

 

 

 

может у вас есть оид на выполнения данной команды epon bind-onu mac xxxx.xxxx.xxxx lid для привязки ону к олту

а зачем такие извращения?

я лично цепляю темплейт, который выдает онушке влан, скажем 4001

потом, когда на онушке уже есть влан - его можно переназначить на другой влан, который нужен вам

заодно в 4001 можно запустить гостевой дхцп, с которого будет доступ скажем на биллинг, что бы зарегать абонента и выдать нужный влан 

 

вот как пример, я делаю в убиллинге

вот оиды для бдкома

Ссылка на сообщение
Поделиться на других сайтах

@@ua.feldsher, можно пользоватся pastebin.com

а то код тяжело так читать, ну или хотя бы засунуть в секцию code 

 

 

 

Извините. Я не задумывался над этим. В дальнейшем буду учитывть. Кстати, только сейчас заметил секцию "код".

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

у нас задача стоит следующая: Есть партия ону она добавляется в базу биллинга. в момент подключения выбраная ону должна через биллинг  биндится на определенный олт .для этого и нужен оид для команды epon bind-onu mac xxxx.xxxx.xxxx lid

Відредаговано crazik
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Костыль конечно, но все же:

- пишем темплейт для добавления новых ОНУ в определенный ВЛАН(гостевой)

- дергаем скриптом - проверяем не появилась ли новая ОНУ во  влане

-сравниваем с базой, и согласно условий

-$vlan_set = snmp2_set($ip, $rw, "1.3.6.1.4.1.3320.101.12.1.1.3.$key_onu.$port", i, $_POST['v_new']);

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від alexeya
      Продам OLT ZTE C320. OLT укомплектован блоком живлення PRAM, двома платами GTGH(K00), платою керування SMXA(A31).

      Кожна GTGH-плата, це 16 GPON портів, 16 GPON модулів C++.
      SMXA-плата, це SFP+ (10G) порт, 1 гігабітний комбо порт.

      В наявності 2 одиниці. Один новий, один був у використанні (стан близький до нового)

      Ціна нового - 120000 грн
      Ціна вживаного - 105000 грн

      BDCOM GP-3600-08B куплявся в ДЕПСі в вересні 23 року. В ньому використовувались тільки 3 порти (тобто є тільки 3 GPON SFP модулі). 48к разом з модулями

      ОЛТИ без модулів:
      3310B-2AC - 1штука - 8000
      3310B - 2 штуки - 7500
      3310B + Proline UPS - 1 штука - 8500
      3310D + Proline UPS - 1 штука - 12500
      BDCOM P3600-04 + Proline UPS - 1 штука - 16500
      3616-2TE - 3 штуки - 53к

      Додам вживані EPON С++ модулі по 400 грн за штуку. Або нові по 750 грн за штуку
    • Від Hamster_Serg
      Таке запитання чи хтось використовував 10G порт на олті(BDCOM GP3600-16B) як магістраль для наступного комутатора( комутатор<->олт<->комутатор)?
      І чи пробували транзитом пропускати QinQ з 3 мітками VLAN(QinQ в QinQ)?
    • Від Hamster_Serg
      Всім привіт.
      В мене з'явилася проблема з BDCOM(tm) GP3600-16B прошивка Version 10.3.0D Build 124190.
      Проблема в наступному, що коли додаєш VLAN на порт або просто створюєш, олт бутається через 10 секунд.
      Після цього все працює стабільно і можна додавати без всяких проблем.
      Чи була в когось така проблема ?
      Дякую за відповідь
    • Від Чучундра
      Добрий день.
       
      Буду вдячний якщо хтось поділиться робочим конфігом щоб прокинути на ЛАН порт ОНУ декілька VLAN-ів з тегами.
    • Від Dimension
      Продам голову BDCOM P3310C абсолютно и полностью рабочий, не ремонтировался - 9000 грн
       

×
×
  • Створити нове...