Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Глоссарий: 

  • LLDP (Link Layer Discovery Protocol)  протокол канального уровня, который обеспечивает анонс информации об устройстве для управляющих сущностей в текущем сегменте;
  • Агент  посредник, который выполняет функцию передачи данных для заданного протокола (пример: LLDP-агент);
  • CDP (Cisco Discovery Protocol)  проприетарный протокол канального уровня, который обеспечивает анонс информации об устройстве производства Cisco для управляющих сущностей в текущем сегменте;
  • SNMP (Simple Network Management Protocol)  протокол управления, организующий доступ к информации устройства;
  • AuP (AutoProvision)  система программного конфигуратора телефонных аппаратов;
  • SW (switch)  коммутатор;
  • ТА  телефонный аппарат.


Начиная с версии AuP 2.5, реализована поддержка устройств, работающих в рамках вспомогательных протоколов LLDP (CDP). Для организации опознания и работы ТА в нескольких сегментах сети, отличных от сегмента AuP, необходимо использовать устройства с поддержкой LLDP и SNMP протокола. Таким образом, Discovery-информацию таких устройств можно получить по соответствующим агентам, в роли которых может выступать оборудование Eltex либо сервер, с настроенным программным обеспечением (например: lldpd и snmpd), находящийся в том же сегменте, что и целевое устройство.

Ниже представлена схема работы агентов с получением LLDP через SNMP в связке с сервером:


Необходимо учитывать, что данные обновляются в режиме запрос-ответ, а значит присутствует задержка и настройка происходит интервалами.

В данном примере сеть поделена на 3 сегмента:

  • Первый — посредником между AuP и SIP Phone 1 выступает SW2 — коммутатор со встроенным агентом SNMP;
  • Второй — посредником выступает настроенным в этой сети программный агент (LLDP Agent);
  • Третий — сам AuP, который выполняет обслуживание ТА.

Настройка телефонного аппарата

Телефонный аппарат в данном случае настраивается стандартным методом. В частности, на телефонах производства Cisco, в настройках секции TFTP необходимо указать IP адрес AuP.

Настройка агента

  • Стандартными средствами произведите установку lldpd и snmpd на сервер, который будет выступать в роли LLDP-агента (далее по тексту — «агент»):


apt install lldpd snmpd


  • Произведите настройку взаимодействия lldpd и snmpd по протоколу AgentX. Для этого в конфигурации:


sudo nano /etc/snmp/snmpd.conf 

необходимо включить поддержку AgentX в режиме мастера. При необходимости настройте следующие параметры авторизации:

# snmpd.conf
# An example configuration file for configuring the Net-SNMP agent ('snmpd')
# See snmpd.conf(5) man page for details
#
###########################################################################
# SECTION: System Information Setup
#

# syslocation: The [typically physical] location of the system.
#   Note that setting this value here means that when trying to
#   perform an snmp SET operation to the sysLocation.0 variable will make
#   the agent return the "notWritable" error code.  IE, including
#   this token in the snmpd.conf file will disable write access to
#   the variable.
#   arguments:  location_string
sysLocation    Sitting on the Dock of the Bay
sysContact     Me <me@example.org>

# sysservices: The proper value for the sysServices object.
#   arguments:  sysservices_number
sysServices    72

###########################################################################
# SECTION: Agent Operating Mode
#
#   This section defines how the agent will operate when it
#   is running.

# master: Should the agent operate as a master agent or not.
#   Currently, the only supported master agent type for this token
#   is "agentx".
#   
#   arguments: (on|yes|agentx|all|off|no)

master  agentx

# agentaddress: The IP address and port number that the agent will listen on.
#   By default the agent listens to any and all traffic from any
#   interface on the default SNMP port (161).  This allows you to
#   specify which address, interface, transport type and port(s) that you
#   want the agent to listen on.  Multiple definitions of this token
#   are concatenated together (using ':'s).
#   arguments: [transport:]port[@interface/address],...

agentaddress  udp:0.0.0.0:161

###########################################################################
# SECTION: Access Control Setup
#
#   This section defines who is allowed to talk to your running
#   snmp agent.

# Views 
#   arguments viewname included [oid]

#  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1

# rocommunity: a SNMPv1/SNMPv2c read-only access community name
#   arguments:  community [default|hostname|network/bits] [oid | -V view]

# Read-only access to everyone to the systemonly view
rocommunity  public default
#rocommunity6 public default -V systemonly

# SNMPv3 doesn't use communities, but users with (optionally) an
# authentication and encryption string. This user needs to be created
# with what they can view with rouser/rwuser lines in this file.
#
# createUser username (MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224) authpassphrase [DES|AES] [privpassphrase]
# e.g.
# createuser authPrivUser SHA-512 myauthphrase AES myprivphrase
#
# This should be put into /var/lib/snmp/snmpd.conf 
#
# rouser: a SNMPv3 read-only access username
#    arguments: username [noauth|auth|priv [OID | -V VIEW [CONTEXT]]]
rouser authPrivUser authpriv -V systemonly
  • Настройте параметры запуска lldpd, вводя команду с указанием отправки в snmpd информации:
nano /etc/default/lldpd
  • В файл необходимо добавить настройки: 
# Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol
DAEMON_ARGS="-r -k -c -x -I eth0,eth2 -X /var/agentx/master"

В примере выше "eth0, eth2" перечисляются названия интерфейсов. Необходимо указать названия интерфейсов, с которых будет производиться работа.

  • После настройки выполняем перезапуск systemd сервисов snmpd и lldpd:
sudo systemctl restart snmpd.service lldpd.service


Также имеется возможность настройки snmpd в режиме proxy agent. Это необходимо для тех случаев, когда AuP должен обращаться только к одному SNMP - endpoint в сети.

В таком случае на сети ставится промежуточный хост с snmpd, к которому обращается AuP. Он выступает в качестве прокси для других SNMP-агентов в сети.

Конфигурационный файл (/etc/snmp/snmpd.confsnmpd выглядит следующим образом:

# EXAMPLE.conf:
#   An example configuration file for configuring the Net-SNMP agent ('snmpd')
#   See the 'snmpd.conf(5)' man page for details
#
#  Some entries are deliberately commented out, and will need to be explicitly activated
#
###############################################################################
#
#  AGENT BEHAVIOUR
#

#  Listen for connections from the local system only
#agentAddress  udp:127.0.0.1:161
agentaddress udp:0.0.0.0:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
#agentAddress udp:161,udp6:[::1]:161

###############################################################################
#
#  SNMPv3 AUTHENTICATION
#
#  Note that these particular settings don't actually belong here.
#  They should be copied to the file /var/net-snmp/snmpd.conf
#     and the passwords changed, before being uncommented in that file *only*.
#  Then restart the agent

#  createUser authOnlyUser  MD5 "remember to change this password" 
#  createUser authPrivUser  SHA "remember to change this one too"  DES
#  createUser internalUser  MD5 "this is only ever used internally, but still change the password" 

#  If you also change the usernames (which might be sensible),
#  then remember to update the other occurances in this example config file to match.

###############################################################################
#
#  ACCESS CONTROL
#

                                                 #  system + hrSystem groups only
# view   systemonly  included   .1.3.6.1.2.1.1
# view   systemonly  included   .1.3.6.1.2.1.25.1
# view   all         included   .1
view   lldpview    included   .1.0.8802.1.1.2.1.4
                                                 #  Full access from the local host
#  rocommunity public  localhost
                                                 #  Default access to basic system info
 #rocommunity public  default    -V systemonly
rocommunity public default
rocommunity public default -V lldpview

group   notConfigGroup v1            notConfigUser
group   notConfigGroup v2c           notConfigUser

access  notConfigGroup ""            any       noauth    exact  lldpview none none

com2sec -Cn ctx_remotehost1 notConfigUser  default       cmty_remotehost1
com2sec -Cn ctx_remotehost2 notConfigUser  default       cmty_remotehost2
com2sec -Cn ctx_remotehost3 notConfigUser  default       cmty_remotehost3

access  notConfigGroup ctx_remotehost            any       noauth    prefix  lldpview none none

proxy -Cn ctx_remotehost1 -v 2c -c public 10.25.88.89 1.0.8802.1.1.2.1.4
proxy -Cn ctx_remotehost2 -v 2c -c public 10.25.88.21 1.0.8802.1.1.2.1.4
proxy -Cn ctx_remotehost3 -v 2c -c public 192.168.23.12 1.0.8802.1.1.2.1.4

 master          agentx
                                           #  Listen for network connections (from localhost)
                                           #    rather than the default named socket /var/agentx/master
#agentXSocket    tcp:localhost:705
# agentXSocket    tcp:0.0.0.0:705

Настройка AuP

Для настройки SNMP на AuP необходимо дополнить конфигурационный файл:

sudo nano aup/stable/volumes/prod/configs/core/config.yaml
  • Между секциями device_info и arp вставьте нижеописанные настройки:
device_info:
  snmp:
    prune_ttl: 60000
    polling_period: 1000
    endpoints:
      - uri: "snmp://<Agent_IP ADDRESS>"
        credential:
          community: "cmty_remotehost1"
    # lldpRemoteSystemsDataOID: "1.0.8802.1.1.2.1.4"
  • Вместо <Agent_IP ADDRESS> укажите IP-адрес агента. После сохранения конфигурации перезапустите ядро AuP:
docker restart autoprovision-unstable_core_1

После перезапуска устройства отобразятся в разделе "Устройства".

  • Нет меток