Перейти до

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 користувачів

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

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

    • Від ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.
    • Від LIKO
      Продам оптичний лінійний термінал (OLT) BDCOM P3600-16E-2AC , повна комплектація, можливий продаж з модулями BDCOM OLT-GSFP-20+++
      Ціна 85500 грн.
       





    • Від legenda vols
      Всем привет, заезженная тема но приходиться искать по всем уголкам интернета - А именно OID и как их использовать.
      Начнём. 
      для новичков.
      bash 
      set_olt_oids() {
          # Общие для EPON (BDCOM)
          if [[ "$1" =~ ^(P3310|P3310B|P3310C|P3608|P3608B|P3316|P3600-16E|P3608-2TE|P3616-2TE|IEP3310)$ ]]; then
              OID_GET_MAC="1.3.6.1.4.1.3320.101.10.4.1.1"
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.101.10.1.1.1"
              OID_MODEL_ONU="1.3.6.1.4.1.3320.101.10.1.1.2"
              OID_TEMP_ONU="1.3.6.1.4.1.3320.101.10.5.1.2"
              OID_AUNT_ONU_STATUS="SNMPv2-SMI::enterprises.3320.101.10.1.1.26"
              OID_UPTIME_ONU="1.3.6.1.4.1.3320.101.10.1.1.80"
              OID_DIST="1.3.6.1.4.1.3320.101.10.1.1.27"
              OID_IF_MAC10="1.3.6.1.4.1.3320.101.11.1.1.3"
              OID_IFindexmac10="1.3.6.1.4.1.3320.101.11.1.1.1"
              LASTREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.9"
              LASTDEREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.10"
              LASTDEREG_REASON="1.3.6.1.4.1.3320.101.11.1.1.11" 
              OID_ONU_ETH="1.3.6.1.4.1.3320.101.12.1.1.8"
              OID_PORT_INDEX="1.3.6.1.4.1.3320.101.107.1.1" # oid возвращает все индексы ПОН портов, работает не везде
              OID_GEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.12"
              OID_FEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.14"
              OID_REBOOT_ONU="1.3.6.1.4.1.3320.101.10.1.1.29" # snmpset -v2c -c RW IP OID.onuIndex i 0 reboot
              OID_DEL_ONU="SNMPv2-SMI::enterprises.3320.101.11.1.1.2" #.$portID.$mac10" i 0 #mac decimal onu
          fi
          # Общие для GPON
          if [[ "$1" =~ ^(GP3600-08|GP3600-16B|GP3600-08B)$ ]]; then
              ETH_STATUS="1.3.6.1.2.1.2.2.1.8" # статус порта 1 портовая ону
              ETH_STATUS4="1.3.6.1.4.1.3320.10.4.1.1.4" # статус портов 4х портовая ону
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.10.3.1.1.2"
              OID_ADMIN_STATUS="1.3.6.1.4.1.3320.10.4.1.1.3"
              OID_DOWN_REASON="1.3.6.1.4.1.3320.10.3.1.1.35"
              OID_DIST="1.3.6.1.4.1.3320.10.3.1.1.33"
              OID_MODEL_ONU="1.3.6.1.4.1.3320.10.3.1.1.9"
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.10.3.1.1.2"
              OID_REBOOT_ONU="1.3.6.1.4.1.3320.10.3.2.1.4" #snmpset -v2c -c RW IP OID.onuIndex i 1 reboot
              
          fi
          # Уникальные параметры для моделей
          case "$1" in
              # EPON модели
              P3310 | P3310B)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  OID_RX_OLT="1.3.6.1.4.1.3320.9.183.1.1.5"
                  OID_PORT_LIST="1.3.6.1.4.1.3320.101.107.1.1"
                  ;;
              IEP3310)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.5"
                  OID_RX_OLT="1.3.6.1.4.1.3320.9.183.1.1.5"
                  OID_TX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  ;;
              P3608 | P3608B | P3310C | P3316 | P3600-16E | P3608-2TE | P3616-2TE)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.5"
                  OID_RX_OLT="1.3.6.1.4.1.3320.101.108.1.3"
                  OID_TX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  OID_PORT_LIST="1.3.6.1.4.1.3320.101.107.1.1"
                  ;;
              # GPON модели
              GP3600-08 | GP3600-16B | GP3600-08B | P3600-08E)
                  OID_RX_ONU="1.3.6.1.4.1.3320.10.3.4.1.2"
                  OID_RX_OLT="1.3.6.1.4.1.3320.10.2.3.1.3"
                  OID_TX_ONU="1.3.6.1.4.1.3320.10.3.4.1.3"
                  OID_GET_MAC="1.3.6.1.4.1.3320.10.3.1.1.4"
                  ;;
              *)
                  echo -e "\e[1;91mНеизвестный режим OLT: $1\e[0m"
                  return 1
                  ;;
          esac
          return 0
      }
      что бы было понятно в дальнейшем что за переменные 
      snmp1="snmpwalk -v2c -c паблик стринг"
      snmp2="snmpwalk -v2c -Ouqv -c паблик стринг"
      snmp3="snmpget -v2c -c паблик стринг"
      snmp3q="snmpget -v2c -Ouqv -c паблик стринг"
      snmp4="snmpget -v2c -Ouqv -c приват стринг"
      snmp5="snmpset -v2c -c приват стринг"

      EPON GEPON
      1- OID_GET_MAC="1.3.6.1.4.1.3320.101.10.4.1.1" на бдкомах епон 
      = SNMPv2-SMI::enterprises.3320.101.10.4.1.1.96 = Hex-STRING: A0 94 6A 97 CC 50
      snmp_response=$($snmp3 "$IP" "$OID_GET_MAC.$1" 2>/dev/null | awk -F'Hex-STRING: ' '{print tolower($2)}' | tr -d ' ')
          onu_mac=$(echo "$snmp_response" | sed 's/\(..\)/\1:/g;s/:$//') #Переводим в человеческий вид
          mac10=$(echo "$snmp_response" | awk '{    # Переводим в mac10 дада способов есть миллиард.
              for (i=1; i<=length; i+=2) {
                  printf "%d", strtonum("0x" substr($0, i, 2))
                  if (i + 2 <= length) printf "."
              }
              print ""
          }')

      лучший способ сделать функцию для форматирования снмп запросов в зависимости от типов STRING / HEX-STRING / COUNTER32 и тд тп.

      ifID=$($snmp1 "$IP" "$OID_IF_MAC10" 2>/dev/null | awk -v mac="$mac10" '$0 ~ mac {split($1, arr, "."); print arr[length(arr)-6]; exit}') 


      2 - OID_VENDOR_ONU="1.3.6.1.4.1.3320.101.10.1.1.1"
      тут без лишних слов возвращает вендор онушек 
      SNMPv2-SMI::enterprises.3320.101.10.1.1.1.97 = STRING: "XPON"   если укажем параметр -Oqv  или -Ouqv получим просто "XPON" и надо будет лишь сделать | tr -d ' " '    что бы удалить лапки.

      3 - OID_MODEL_ONU="1.3.6.1.4.1.3320.101.10.1.1.2" аналогично вендорам, получаем модель.

      4- OID_TEMP_ONU="1.3.6.1.4.1.3320.101.10.5.1.2"  - температура ону делим на / 256
      SNMPv2-SMI::enterprises.3320.101.10.5.1.2.17 = INTEGER: 7027  
      temp_onu=$($snmp3q $IP 1.3.6.1.4.1.3320.101.10.5.1.2.$INDEX | awk '{printf "%.2f", $1/265}' 2>/dev/null)

      5 - OID_AUNT_ONU_STATUS="1.3.6.1.4.1.3320.101.10.1.1.26"
      SNMPv2-SMI::enterprises.3320.101.10.1.1.26.276 = INTEGER: 3

      onuAunt_type=$($snmp3q $IP "$OID_AUNT_ONU_STATUS.$INDEX" 2>/dev/null)
          case "$onuAunt_type" in
              0) onuAunt_type_txt="authenticated" ;;
              1) onuAunt_type_txt="registered" ;;
              2) onuAunt_type_txt="deregistered" ;;
              3) onuAunt_type_txt="auto_config" ;;
              4) onuAunt_type_txt="lost" ;;
              *) onuAunt_type_txt="unknown" ;;
          esac

      6 - OID_UPTIME_ONU="1.3.6.1.4.1.3320.101.10.1.1.80" uptime
      SNMPv2-SMI::enterprises.3320.101.10.1.1.80.207 = INTEGER: 290907
      timetick 
      | awk '{h=int($1/3600); m=int(($1%3600)/60); s=$1%60; printf "AliveTime: %dч %dмин %dсек\n", h, m, s}')${reset}"

      7 - OID_DIST="1.3.6.1.4.1.3320.101.10.1.1.27"
      SNMPv2-SMI::enterprises.3320.101.10.1.1.27.149 = INTEGER: 1600
      на епоне в метрах  на гпоне делим на 10

      8 - OID_IF_MAC10="1.3.6.1.4.1.3320.101.11.1.1.3"
      SNMPv2-SMI::enterprises.3320.101.11.1.1.3.14.60.21.18.8.130.175 = Hex-STRING: 3C 15 12 08 82 AF  
      SNMPv2-SMI::enterprises.3320.101.11.1.1.3      .14-PORTINDEX     60.21.18.8.130.175  - MAC10                = Hex-STRING: MAC HEX

      9- OID_IFindexmac10="1.3.6.1.4.1.3320.101.11.1.1.1"
      SNMPv2-SMI::enterprises.3320.101.11.1.1.1.125.60.21.18.6.227.186 = INTEGER: 125
      SNMPv2-SMI::enterprises.3320.101.11.1.1.1.125.60.21.18.6.247.136 = INTEGER: 125
      возвращает PORT INDEX и можно грепнуть по mac10 найти индекс и можно грепнуть через мак10

      10 - LASTREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.9"
      дату отдаёт в хексе. надо декодировать это дело.
      вызов snmp + IP + oid + PORTINDEX + MAC10 
      date_hex=$($snmp1 $IP "$LASTREG_DATE.$IF_INDEX.$mac10" 2>/dev/null | awk -F': ' '{print $2}' | tr -d ' ')
      if [[ -n "$date_hex" ]]; then
              # Преобразуем дату из hex в числовое представление
              data=($(echo "$date_hex" | sed 's/../0x& /g'))
              local year=$((data[0] * 256 + data[1]))
              local month=${data[2]}
              local day=${data[3]}
              local hour=${data[4]}
              local minute=${data[5]}
              local second=${data[6]}


      local formatted_date=$(printf "%04d-%02d-%02d %02d:%02d:%02d" "$year" "$month" "$day" "$hour" "$minute" "$second")


      10 - LASTDEREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.10"
      аналогично 9му оиду.

      11 - LASTDEREG_REASON="1.3.6.1.4.1.3320.101.11.1.1.11" 
      DEREG_STATUS=$($snmp3 $IP "$LASTDEREG_REASON.$IF_INDEX.$mac10" -Oqv 2>/dev/null)
          case "$DEREG_STATUS" in
              2) dereg_status_text="normal";;
              3) dereg_status_text="mpcp-down";;
              4) dereg_status_text="oam-down";;
              5) dereg_status_text="firmware-download";;
              6) dereg_status_text="illegal-mac";;
              7) dereg_status_text="llid-admin-down";;
              😎 dereg_status_text="wire-down";;
              9) dereg_status_text="power-off";;
              255) dereg_status_text="unknown";;
              0) dereg_status_text="Нет данных.";;
              *) dereg_status_text="not found";;
          esac

      есть прикол если онушка autoconfig статус 3 / authenticated статус 0
      там инвертируються 7 и 8  может и от моделей ону зависеть.... 
      7) dereg_status_text="llid-admin-down";;
      😎 dereg_status_text="wire-down";;
      это уже тестами )


      12  -  OID_ONU_ETH="1.3.6.1.4.1.3320.101.12.1.1.8" статус езернет ничего не обычного кроме того что может верно отдать данные с 2-3го раза )
      2 down 1 up 
      там же есть прикол с authenticated autoconfig инвертируется...
      local PORT_COUNT=$($snmp2 "$IP" "$OID_ONU_ETH.$INDEX" | wc -l)
      local ETH_STATUS=$($snmp2 "$IP" "$OID_ONU_ETH.$INDEX.$port" 2>/dev/null)
              [[ "$ETH_STATUS" =~ ^[0-9]+$ ]] || continue  # Проверяем, что ETH_STATUS - это число
              if [[ "$onuAunt_type" == "0" ]]; then
                  STATUS_COLOR=$( [[ "$ETH_STATUS" -eq 2 ]] && echo "UP" || echo "DOWN" )
              else
                  STATUS_COLOR=$( [[ "$ETH_STATUS" -eq 1 ]] && echo "UP" || echo "DOWN" )
              fi

      13 - OID_PORT_INDEX="1.3.6.1.4.1.3320.101.107.1.1" # oid возвращает все индексы ПОН портов, работает не везде.
      14 - OID_GEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.12"   гигабит езернет порты на онушках (кол-во)
      15 - OID_FEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.14"   ФастЕзернет 100мбит аналогично. 
      INTEGER 

      16 - OID_REBOOT_ONU="1.3.6.1.4.1.3320.101.10.1.1.29" # snmpset -v2c -c RW IP OID.onuIndex i 0                                  reboot REBOOT ONU epon snmp
      $snmp5 "$IP" "$OID_REBOOT_ONU.$INDEX" i 0 >/dev/null 2>&1

      17 - delete onu epon  удалить ону бдком снмп 
      OID_DEL_ONU="SNMPv2-SMI::enterprises.3320.101.11.1.1.2"
      $snmp5 "$IP" "$OID_DEL_ONU.$ifID.$mac10" i 0 > /dev/null 2>&1    oid.PORTINDEX.mac10 i 0 
      остальные есть выше там думаю всё понятно.

      SIGNAL LEVELS в зависимости от моделей плат и олтов расписаны 
      все везде одинаково 
      $snmp2 "$IP" "$OID_RX_OLT.$INDEX" 2>/dev/null | awk '{print $NF / 10}')   результат делим на 10.

      epon пакеты, ошибки по портам на онушке.
      broadcasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.16.$INDEX.$port" 2>/dev/null)
      multicasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.17.$INDEX.$port" 2>/dev/null)
      unicasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.18.$INDEX.$port" 2>/dev/null)
      pause=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.19.$INDEX.$port" 2>/dev/null)
      fcserrs=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.20.$INDEX.$port" 2>/dev/null )
      oversize=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.13.$INDEX.$port" 2>/dev/null)
      jabber=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.14.$INDEX.$port" 2>/dev/null)

      мне бы такое помогло.. а не искать на тонне форумов и сайтов и неделю тыкая snmpwalk и выясняя что и для чего. остального и в инете полно. 
    • Від Amigo
      Продам GEPON ОЛТи BDCOM
      1. BDCOM P3310B (Вживаний) - 6000 грн.
      2. BDCOM P3310C (Вживаний) - 7500 грн.
      3. BDCOM P3310C (Вживаний без вух) - 7000 грн.
      4. BDCOM P3608-2TE (Вживаний) - 20000 грн.
      5. BDCOM P3608-2TE  (Вживаний) - 19000 грн.

    • Від grapefruit
      Доброго вечора, спільното!
      Можливо хтось стикався з завданням,коли потрібно на OLT BDCOM GP3600 по oid визначити час розреєстрування ону. В неті нічого знайти не вдалося, через MIB браузер тоже ніц.
      Якщо підкажете буде дуже вдячний, або хоч підкажіть де шукати.
      Всім гарного вечора)
×
×
  • Створити нове...