-
Зараз на сторінці 0 користувачів
Немає користувачів, що переглядають цю сторінку.
-
Схожий контент
-
Від 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 и выясняя что и для чего. остального и в инете полно.
-
Від grapefruit
Доброго вечора, спільното!
Можливо хтось стикався з завданням,коли потрібно на OLT BDCOM GP3600 по oid визначити час розреєстрування ону. В неті нічого знайти не вдалося, через MIB браузер тоже ніц.
Якщо підкажете буде дуже вдячний, або хоч підкажіть де шукати.
Всім гарного вечора)
-
Від 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 грн за штуку
-
Від jaroslav2r
Добрий день,
Виникла проблема з DHCP snooping на одному з наших OLT DASAN V5808. При його увімкненні клієнти перестають отримувати IP-адреси через DHCP. Оновлення прошивки до версії V5808 NOS 1.12p1 не допомогло. На інших OLT така проблема не спостерігається.
DHCP snooping налаштовано за допомогою наступних команд, де uplink — порт 15:
Copy code
ip dhcp snooping
ip dhcp snooping vlan 665
ip dhcp snooping trust 15
Хтось стикався з подібною проблемою і знайшов рішення?
We’re experiencing an issue with DHCP snooping on one of our DASAN V5808 OLTs. When DHCP snooping is enabled, clients stop receiving DHCP offers. Updating the firmware to version V5808 NOS 1.12p1 didn’t resolve the problem. Other OLTs don’t seem to have this issue.
The DHCP snooping configuration was done with the following commands:
ip dhcp snooping
ip dhcp snooping vlan 665
ip dhcp snooping trust 15
uplink — 15 port
Has anyone encountered this problem and managed to fix it?
-
Від Rico3110
ПРОДАМ НОВІ OLT
нова C-DATA EPON FD1204S-R2-DAP - 1шт
нова C-DATA GPON FD1604S-2AC - 1шт
Блоки живлення нові EF9012 і EF6012
UP!!! По ціні, та наявності, уточнюйте в приватних повідомленнях!
-
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас