рд╣рдо рд╣рд░ рдЬрдЧрд╣ рдФрд░ рднреМрддрд┐рдХ рдЬрд╛рд▓ рдХреЗ рдмрд┐рдирд╛ рдЬрд▓реНрджреА рд╕реЗ рдХреЗрдмрд▓ рдмрд░реНрдмрд░рддрд╛ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ

рдирдорд╕реНрдХрд╛рд░ред

рддрд╛рдВрдмреЗ рдХреЗ рдХреЗрдмрд▓ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рддрд╛ рдХрдВрдкрдиреА рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред рдпрд╣ рдореБрдбрд╝ рдЬреЛрдбрд╝реА рдФрд░ рдИрдерд░рдиреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдмреЗрд╢рдХ рдореИрдВ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛, рд▓реЗрдХрд┐рди рд╕реЗрд╡рд╛ рдиреЗ рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдПред

рдЫрд╡рд┐

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рддреНрд░рд┐рдЬреНрдпрд╛ рдкрд░ рд╕рдореВрд╣ рдХреЗ рдкрддрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ, рд╕реНрд╡рд┐рдЪ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣, рд░реЗрдЦрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ, рд╣реЗрд▓рдореЗрдЯ рдЕрдзрд┐рд╕реВрдЪрдирд╛ред

рдореИрдВ рдХреЙрд░рдкреЛрд░реЗрдЯ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреВрд░реНрдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рддрд╣рдд рдПрдХ рдХреЛ рд╣рдЯрд╛ рджреВрдВрдЧрд╛ред рд╣рд╛рдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдВрдЧреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд▓рдХреНрд╖реНрдп рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрдВрдкрдиреА рдореЗрдВ рдЙрдкрдХрд░рдг 99% рдбреА-рд▓рд┐рдВрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрд╕рдПрдирдПрдордкреА рдПрдордЖрдИрдмреА рдЗрд╕ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЖрд░рдПрдлрд╕реА рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдХреИрд╕реЗ рд╣реБрдЖ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЗрддрд┐рд╣рд╛рд╕ред

рдпрд╣ рд╕рдм 2018 рдХреЗ рд╡рд╕рдВрдд рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖред рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕рдореВрд╣ (рдЯреАрдкреА) рдкрд░ рднрд╛рд░ рдмрдврд╝ рдЧрдпрд╛ред рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХреЙрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреАрдкреА рдиреЗ рдирдП рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдореМрдЬреВрджрд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдмрд╣рд╛рд▓реА рдФрд░ рдбрд┐рдмрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХрд╛ рд╕рдордиреНрд╡рдп рднреА рдХрд┐рдпрд╛ред рдЯреАрдкреА рдХреЛ рдереЛрдбрд╝рд╛ рдЙрддрд╛рд░рдирд╛ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░реЛрдВ рдХреЛ рдХреБрдЫ рдЙрдкрдХрд░рдг рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдпрд╣ рдПрдХ рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ "рдмреАрдУрдЯреА" рдХреА рд░рдЪрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓реЙрдЧрд┐рди / рдЕрдиреБрдмрдВрдз рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╕реАрдзреЗ рдЦреЗрддреЛрдВ рдореЗрдВ рдиреНрдпреВрдирддрдо рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдореНрдмреЗрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЙрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрд╕реА рд╕реАрдЖрд░рдПрдо рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдг, рдмрд┐рд▓рд┐рдВрдЧ, рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрд╢рди рддрдВрддреНрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрд╡рд╛ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдЗрд╕реЗ рдПрдХ рдПрдкреАрдЖрдИ рдмрдирд╛рдПрдВ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреЙрдЯ рдФрд░ рд╕реАрдЖрд░рдПрдо рджреЛрдиреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдпрд╣реА рд╡рд╣ рд╣реИред рдХреБрдЫ рднреАред

рдЕрдм рдереЛрдбрд╝рд╛ рдХреЛрдб рдФрд░ рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рд░ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:

  1. рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛ рдХреЗрдмрд▓ рдкрд░реАрдХреНрд╖рдг
  2. рдкреЛрд░реНрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ
  3. рдкреЛрд░реНрдЯ рд╕реНрдерд┐рддрд┐ рджреЗрдЦреЗрдВ
  4. рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдкреЛрд░реНрдЯ рдкрд░ рдореИрдХ рдкрддреЗ рд╣реИрдВред (рдЕрдЪрд╛рдирдХ рдЧреНрд░рд╛рд╣рдХ WAN рдХреЗ рдмрдЬрд╛рдп LAN рдкреЛрд░реНрдЯ рдореЗрдВ рдХреЗрдмрд▓ рдкреНрд▓рдЧ рдХрд░рддрд╛ рд╣реИ)
  5. рдЖрдИрдкреАрдЯреАрд╡реА рд╕рджрд╕реНрдпрддрд╛
  6. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд▓реЙрдЧ рджреЗрдЦреЗрдВ
  7. рд╕рдВрддреБрд▓рди рдХреА рд╕реНрдерд┐рддрд┐

рд╣рдо рдПрд╕рдПрдирдПрдордкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рдФрд░ рдЯреЗрд▓рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрд╛рддрдЪреАрдд рдХрд░реЗрдВрдЧреЗред

рдореИрдВрдиреЗ рдПрдХ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЙрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдФрд░ рдРрд╕рд╛ рд╣реИ

рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
#!/usr/bin/python # -*- coding: utf_8 -*- from bottle import route, run, template, auth_basic, request, error from lib import crm, snmp, gis, billing import time 


рд╣рдо рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдФрд░ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╢реАрдЯ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рднреА рдХреЛ рдбреЗрдЯрд╛ рдирд╣реАрдВ рджреЗрдВрдЧреЗ)ред

рдХреЛрдб
 apikeys = ['RANDOM_KEY1', 'RANDOM_KEY2'] api_error = '{"error":"apikey invalid"}' host_down_error = '{"error":"host down"}' def apikey_checker(fn): def wrapper(*args, **kwargs): if not check_apikey(): return api_error return fn(*args, **kwargs) return wrapper def check_apikey(): return 'apikey' in request.query and request.query['apikey'] in apikeys 


рдареАрдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рдиред

рдХреЛрдб
 @route('/port_status/<ip>/<port>') @apikey_checker def get_port_status(ip=' ', port=' '): return snmp.port_status(ip, port) @route('/cable_test/<ip>/<port>') @apikey_checker def get_cable_test(ip, port): return snmp.cable_test(ip, port) 


рд╕реНрдиреИрдВрдк рдХреЗ рдЕрдВрджрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреЛрд░реНрдЯ рдкрд░ рдЬреЛрдбрд╝реА рдХреА рдПрд╕рдПрдирдПрдордкреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рд╣реИред

рд╕реНрдерд┐рддрд┐ рд╢рдмреНрджрдХреЛрд╢

 pair_status = { '0': 'ok', '1': 'open', '2': 'short', '3': 'open-short', '4': 'crosstalk', '5': 'unknown', '6': 'count', '7': 'no-cable', '8': 'other' } 


рдкреЛрд░реНрдЯ рдорд╛рдк рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рд╢рдмреНрджрдХреЛрд╢ рддреИрдпрд╛рд░ рдХрд░рдирд╛ред рд╣рдо рдЗрд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВрдЧреЗ, рддрд╛рдХрд┐ рд╣рд░ рдмрд╛рд░ рдирдпрд╛ рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 pair_result = { 'pairs': { 1: { 'status': '-', 'length': '-' }, 2: { 'status': '-', 'length': '-' }, 3: { 'status': '-', 'length': '-' }, 4: { 'status': '-', 'length': '-' }, } } 


рд╕рдорд╛рд░реЛрд╣

рдХреЗрдмрд▓ рдкрд░реАрдХреНрд╖рдг
 def cable_test(ip, port): if not check_ip(ip): #        IP return {'error': "IP %s invalid" % (ip)} host_status = check_host(ip) #       if host_status['status'] == 'down': return {'error': u" "} result = copy.deepcopy(pair_result) #   ,   UP, ..     #     . if port_status(ip, port)['status'] == 'down': try: mib = '.1.3.6.1.4.1.171.12.58.1.1.1.12.%s' % str( port) #      #         snmp_int_set(ip, mib, 1) time.sleep(1) #    result['pairs'][1]['status'] = pair_status[ snmp_get(ip, '.1.3.6.1.4.1.171.12.58.1.1.1.4.%s' % str(port))] result['pairs'][2]['status'] = pair_status[ snmp_get(ip, '.1.3.6.1.4.1.171.12.58.1.1.1.5.%s' % str(port))] result['pairs'][3]['status'] = pair_status[ snmp_get(ip, '.1.3.6.1.4.1.171.12.58.1.1.1.6.%s' % str(port))] result['pairs'][4]['status'] = pair_status[ snmp_get(ip, '.1.3.6.1.4.1.171.12.58.1.1.1.7.%s' % str(port))] result['pairs'][1]['length'] = snmp_get( ip, '.1.3.6.1.4.1.171.12.58.1.1.1.8.%s' % str(port)) result['pairs'][2]['length'] = snmp_get( ip, '.1.3.6.1.4.1.171.12.58.1.1.1.9.%s' % str(port)) result['pairs'][3]['length'] = snmp_get( ip, '.1.3.6.1.4.1.171.12.58.1.1.1.10.%s' % str(port)) result['pairs'][4]['length'] = snmp_get( ip, '.1.3.6.1.4.1.171.12.58.1.1.1.11.%s' % str(port)) return result except Exception as e: print(e) return {'error': u'    '} else: return {'error': u'    .   Link UP.'} 


рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛

рдкрд░рд┐рдгрд╛рдо
 { "pairs": { "1": { "status": "other", "length": "0" }, "2": { "status": "open", "length": "4" }, "3": { "status": "open", "length": "4" }, "4": { "status": "other", "length": "0" } } } 


рдмрд╛рдж рдореЗрдВ рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдирд╣реАрдВ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ рдкреЛрд░реНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓рд┐рдВрдХ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рдпрд╣реА рдмреЙрдЯ рдЬреИрд╕рд╛ рджрд┐рдЦрдиреЗ рд▓рдЧрд╛

рдЫрд╡рд┐

рдЕрдм рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рд░ рдкрд░ред

рд╕рд░реНрд╡рд░ рдбрд┐рдмрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реА рддрд░рд╣ рдХреА рдПрдХ рддрдХрдиреАрдХ рдЬреЛ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ habr.com/post/188730 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред SNMP рд╕реАрдврд╝реА рдХреЗ рд╕рд╛рде рдкреЛрд░реНрдЯ рдкрд░ рд▓реВрдк рд╕рдХреНрд╖рдоред рдЬрдм "рд╣рд╡рд╛рдИ рдЬрд╣рд╛рдЬ" рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рдЧрд┐рд░рд╛, рддреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ рддрд╛рдХрд┐ рдЬрдм рдЯреНрд░реИрдХрд┐рдВрдЧ рд▓рд┐рдВрдХ рдЧрд┐рд░ рдЬрд╛рдП, рддреЛ рдбрд┐рдмрдЧ рд╕рд░реНрд╡рд░ рд╕реНрд╡рд┐рдЪ рдкрд░ рдЬрд╛рдП, рдЬрд╛рдВрдЪреЗ рдХрд┐ рдХреНрдпрд╛ рдкреЛрд░реНрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЭреВрда рдмреЛрд▓ рд░рд╣рд╛ рдерд╛, рдФрд░ рд╕рд┐рд░реНрдл рдмреНрд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЙрд╕ рдкрд░ рдЬреЛрдбрд╝реЗ рдЦреБрд▓реЗ рдпрд╛ рдЫреЛрдЯреЗ рдереЗ, рдФрд░ рдлрд┐рд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЗрд╡рд▓ 10% рд╕реНрд╡рд┐рдЪреЗрд╕ рдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рднреМрддрд┐рдХ рдЬрд╛рд▓ рдереЗ, рдФрд░ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ред

рдмрд╛рдж рдореЗрдВ рдПрдХ рдореЙрдирд┐рдЯрд░ рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ред рдФрд░ рдЗрд╕рдиреЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд╡рд░реЗрдЬ рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХреЛ 100% рддрдХ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдФрд░ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рджрд╛рддрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИред

рд╣рдо рд╕рдордп-рд╕рдордп рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реНрд╡рд┐рдЪ рд╕реЗ рдХрд┐рддрдиреЗ рдЧреНрд░рд╛рд╣рдХ рд╕рддреНрд░ рдЧрд┐рд░ рдЧрдП рд╣реИрдВред рдпрд╣ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЕрдЧрд░ рд╕рд░реНрдХрд┐рдЯ_рдб рд╕реНрд╡рд┐рдЪ рдкрд░ рд╕рдХреНрд╖рдо рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдлреЙрд░реНрдо рд╣реИ

D4: CA: 6D: 0A: 66: C9 :: 192.168.20.86 :: 20

рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЗрдореНрдмрд░ рдСрдл рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░, рдЖрдИрдкреА рд╕реНрд╡рд┐рдЪ, рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХрд╛ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рд╣реИред рдпрд╛рдиреА рдЖрдк рд╕рднреА рдХреЛ рдбрд┐рдмрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдордиреЗ рдЖрдИрдкреА рд╕реНрд╡рд┐рдЪ рджреНрд╡рд╛рд░рд╛ рд╕рддреНрд░ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдЕрдЧрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреБрдЫ рд╕реЗ рдЕрдзрд┐рдХ рд╕рддреНрд░ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдорд┐рдирдЯ 2 рд╕рддреНрд░реЛрдВ рдореЗрдВ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рд╕реЗрдЯ рд╣реИ), рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд┐рдмрдЧ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреА рд╣реИ рдФрд░ рдЧрд┐рд░рд╛рдП рдЧрдП рд╕рддреНрд░реЛрдВ рдХреЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреА рд╣реИред рдпрджрд┐ рдкреЛрд░реНрдЯ рдЕрднреА рднреА рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрдмрд▓ рдЬреЛрдбрд╝реЗ рдЦреБрд▓реЗ рдпрд╛ рдЫреЛрдЯреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдХрдо рд╕реЗ рдХрдо рджреЛ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рд╕рдорд╛рди (+ - 2 рдореАрдЯрд░) рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рд╕реНрд╡рд┐рдЪ рдХреА рдЖрдВрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдХреЗрдмрд▓ рдХрдЯ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрджрд┐рдЧреНрдз рдорд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рд╣реЛрдЧреА рдЬрдм рдШрд░ рдореЗрдВ рд░реЛрд╢рдиреА рдЭрдкрдХреА рд▓реЗрддреА рд╣реИ, рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рд╕рдВрдпреЛрдЧ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреЗрдмрд▓ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд▓рдВрдмрд╛рдИ рд╕рдорд╛рди рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЬрдм рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд▓рдВрдмрд╛рдИ (рдХреЗрд╡рд▓ рдЫреЛрдЯреА рд▓рдВрдмрд╛рдИ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛), рдПрдХ рд╕рд╛рде рдмреВрдВрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрджрд┐ рдкрд░ рдПрдХ рд╕реАрдорд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрджрд┐рдЧреНрдз рдШрдЯрдирд╛ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд┐рдкреЛрд░реНрдЯ рд╣реИред

рдЫрд╡рд┐

рдФрд░ рдРрд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо

рдЫрд╡рд┐

рдПрдХ рдорд╛рдорд▓рд╛ рдерд╛ рдЬрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдПрдХ рд╕рдорд╛рди рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдерд╛, рдФрд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рд╕реНрд╡рд┐рдЪ рдСрдлрд╝рд▓рд╛рдЗрди рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдкреНрд░рдХрд╛рд╢рд┐рдХреА, рдФрд░ рдпрджрд┐ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рддреЛ рдШрд░ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд▓реИрдХрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддреАред

рдПрдХ рдФрд░ рд╕рдордп, рдкреНрд░рдмрдВрдзрди рдХрдВрдкрдиреА рдиреЗ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд┐рдирд╛ рдЫрдд рдХреА рдорд░рдореНрдордд рд╢реБрд░реВ рдХрд░ рджреА, рдФрд░ рдорд╢реАрди рдЧрди рдХреЗ рд╕рд╛рде VOKhR рдиреЗ рдЙрди рдкрд░ рдЙрдбрд╝рд╛рди рднрд░реА, рддрд╛рд▓рд╛ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪрд╛рдирдХ рддрдирд╛рд╡ред

рдЗрд╕рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдиреЗ рд╢реБрд░реВ рдХрд┐рдП рдФрд░ 4 рдорд╣реАрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо, VOKhR, рдкреБрд▓рд┐рд╕, рдФрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдЦреБрдж рдХреЛ рдмрд░реНрдмрд░рддрд╛ рдХреЗ 10 рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреМрддрд┐рдХ "рдЬрд╛рд▓" рдФрд░ SNMP рдЬрд╛рд▓ рдХреЗ рд▓рдЧрднрдЧ 15,000 рд╕реНрд╡рд┐рдЪреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИред

рдирдП рд╕рд╛рд▓ рдореЗрдВ рд╕рднреА рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдБ!

Source: https://habr.com/ru/post/hi434674/


All Articles