рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдпрд╛ рд▓реЗрдЦрд╛рдд, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╕реЗ рд╕реЗрдЯ рдХрд░рд╛рдпрдЪреЗ рддреЗ рджрд░реНрд╢рд╡реЗрд▓ рдУрдкрдирдбреЗрд▓рд╛рдЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдгрд┐ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рддреЗ рджреЗрдЦреАрд▓ рджрд░реНрд╢рд╡реЗрд▓ рдкреЛрд╕реНрдЯрдорди рдЖрдгрд┐ рд╕рд╛рдзреЗ RESTCONF рд╡рд┐рдирдВрддреНрдпрд╛, рд╣реЗ рдЙрдкрдХрд░рдг рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдЖрдореНрд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреНрдпрд╛рдРрд╡рдЬреА рдЖрдореНрд╣реА рдПрдХрд╛рдЪ рд░рд╛рдЙрдЯрд░рд╕рд╣ рд▓рд╣рд╛рди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рддреИрдирд╛рдд рдХрд░реВ Vrnetlab рдкреНрд░рддреА рдЙрдмрдВрдЯреВ 20.04 рдПрд▓рдЯреАрдПрд╕.

рдореА рд░рд╛рдЙрдЯрд░рдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░реВрди рдкреНрд░рдердо рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рджрд╛рдЦрд╡рддреЛ рдЬреБрдирд┐рдкрд░ vMX 20.1R1.11, рдЖрдгрд┐ рдирдВрддрд░ рдЖрдореНрд╣реА рддреНрдпрд╛рдЪреА рд╕реЗрдЯрд┐рдВрдЧрд╢реА рддреБрд▓рдирд╛ рдХрд░рддреЛ рд╕рд┐рд╕реНрдХреЛ xRV9000 7.0.2.

рд╕рд╛рдордЧреНрд░реА

  • рдЖрд╡рд╢реНрдпрдХ рдЬреНрдЮрд╛рди
  • рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕ рднрд╛рдЧ: рдереЛрдбрдХреНрдпрд╛рдд рдЪрд░реНрдЪрд╛ рдХрд░рд╛ OpenDaylight (рдпрд╛рдкреБрдвреЗ рдореНрд╣рдгреВрди рд╕рдВрджрд░реНрднрд┐рдд рдУрдбреАрдПрд▓), рдкреЛрд╕реНрдЯрдорди ╨╕ Vrnetlab рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ
  • рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕ рднрд╛рдЧ: рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрдЪреЗ рд╡рд░реНрдгрди
  • рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕ рднрд╛рдЧ: рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХрд░рд╛ рдУрдкрдирдбреЗрд▓рд╛рдЗрдЯ
  • рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕ рднрд╛рдЧ: рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХрд░рд╛ Vrnetlab
  • рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕ рднрд╛рдЧ: рд╡рд╛рдкрд░реВрди рдкреЛрд╕реНрдЯрдорди рдЖрднрд╛рд╕реА рд░рд╛рдЙрдЯрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рд╛ (рдЬреБрдирд┐рдкрд░ vMX) рддреЗ рдУрдбреАрдПрд▓
  • рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕ рднрд╛рдЧ: рд╡рд╛рдкрд░реВрди рд░рд╛рдЙрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдорд┐рд│рд╡рд╛ рдЖрдгрд┐ рдмрджрд▓рд╛ рдкреЛрд╕реНрдЯрдорди ╨╕ рдУрдбреАрдПрд▓
  • рдПрдХреНрд╕рдПрдирдпреВрдПрдордПрдХреНрд╕ рднрд╛рдЧ: Cisco xRV9000 рдЬреЛрдбрд╛
  • рдирд┐рд╖реНрдХрд░реНрд╖
  • PS
  • рд╕рдВрджрд░реНрднрдЧреНрд░рдВрде

рдЖрд╡рд╢реНрдпрдХ рдЬреНрдЮрд╛рди

рд▓реЗрдЦ рдкрддреНрд░рдХрд╛рдд рдмрджрд▓реВ рдирдпреЗ рдореНрд╣рдгреВрди, рдореА рдХрд╛рд╣реА рддрд╛рдВрддреНрд░рд┐рдХ рддрдкрд╢реАрд▓ рд╡рдЧрд│рд▓реЗ (рд╕рд╛рд╣рд┐рддреНрдпрд╛рдЪреНрдпрд╛ рджреБрд╡реНрдпрд╛рдВрд╕рд╣ рдЖрдкрдг рддреНрдпрд╛рдВрдЪреНрдпрд╛рдмрджреНрджрд▓ рд╡рд╛рдЪреВ рд╢рдХрддрд╛).

рдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рд╡рд┐рд╖рдп рдСрдлрд░ рдХрд░рддреЛ рдЬреЗ рд╡рд╛рдЪрдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЬрд╛рдгреВрди рдШреЗрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ (рдкрд░рдВрддреБ рдЬрд╡рд│рдЬрд╡рд│ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА) рдЕрд╕реЗрд▓:

рднрд╛рдЧ 1: рдХрд╛рд╣реА рд╕рд┐рджреНрдзрд╛рдВрдд

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

  • рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦреБрд▓рд╛ SDN рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд▓рд┐рдирдХреНрд╕ рдлрд╛рдКрдВрдбреЗрд╢рди
  • рдЖрдд рдЬрд╛рд╡рд╛
  • рдореЙрдбреЗрд▓-рдЪрд╛рд▓рд┐рдд рд╕реЗрд╡рд╛ рдЕреЕрдмреНрд╕реНрдЯреНрд░реЕрдХреНрд╢рди рд╕реНрддрд░рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд (MD-SAL)
  • рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╛рдВрд╕рд╛рдареА RESTCONF API рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА YANG рдореЙрдбреЗрд▓реНрд╕ рд╡рд╛рдкрд░рддреЗ

рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рд╕рд╛рдареА рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓. рддреНрдпрд╛рддреВрдирдЪ рдЖрдореНрд╣реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЙрдкрдХрд░рдгрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреВ. рд╕реНрд╡рддрдГрдЪреНрдпрд╛ API рджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд.

рддреБрдореНрд╣реА OpenDaylight рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдпреЗрдереЗ.

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

  • API рдЪрд╛рдЪрдгреА рд╕рд╛рдзрди
  • рд╕рд╛рдзрд╛ рдЖрдгрд┐ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реЛрдкрд╛ рдЗрдВрдЯрд░рдлреЗрд╕

рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, OpenDaylight API рд▓рд╛ REST рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡рдгреНрдпрд╛рдЪреЗ рд╕рд╛рдзрди рдореНрд╣рдгреВрди рдЖрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдд рд░рд╕ рдЖрд╣реЗ. рддреБрдореНрд╣реА рдЕрд░реНрдерд╛рддрдЪ рдореЕрдиреНрдпреБрдЕрд▓реА рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡реВ рд╢рдХрддрд╛, рдкрдг рдкреЛрд╕реНрдЯрдордирдордзреНрдпреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЕрдЧрджреА рд╕реНрдкрд╖реНрдЯ рджрд┐рд╕рддреЗ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдВрд╕рд╛рдареА рдЕрдЧрджреА рдпреЛрдЧреНрдп рдЖрд╣реЗ.

рдЬреНрдпрд╛рдВрдирд╛ рдЦреЛрджрд╛рдпрдЪреЗ рдЖрд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА: рддреНрдпрд╛рд╡рд░ рдмрд░реЗрдЪ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рд╣рд┐рддреНрдп рд▓рд┐рд╣рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде).

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

  • рдбреЙрдХрд░рдордзреНрдпреЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрди
  • рд╕рдорд░реНрдерди: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, рдЗ.
  • рдореБрдХреНрдд рд╕реНрд░реЛрдд

рдПрдХ рдЕрддрд┐рд╢рдп рдордиреЛрд░рдВрдЬрдХ рдкрд░рдВрддреБ рдХрдореА рдЬреНрдЮрд╛рдд рд╕рд╛рдзрди. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЖрдореНрд╣реА рддреЗ рдирд┐рдпрдорд┐рдд Ubuntu 9000 LTS рд╡рд░ рдЬреНрдпреБрдирд┐рдкрд░ vMX рдЖрдгрд┐ Cisco xRV20.04 рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░реВ.

рдЖрдкрдг рдпреЗрдереЗ рддреНрдпрд╛рдЪреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдкреНрд░рдХрд▓реНрдк рдкреГрд╖реНрда.

рднрд╛рдЧ реи: рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛

рдпрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рдордзреНрдпреЗ, рдЖрдкрдг рдЦрд╛рд▓реАрд▓ рдкреНрд░рдгрд╛рд▓реА рд╕реЗрдЯ рдХрд░реВ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдпрд╛ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ

  • рдЬреБрдирд┐рдкрд░ vMX рдкрд░реНрдпрдВрдд рд╡рд╛рдврддреЗ рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░ рдХрдВрдЯреЗрдирд░ (рдорд╛рд░реНрдЧрд╛рдиреЗ Vrnetlab) рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░рддреЗ.
  • рдУрдбреАрдПрд▓ рд░рд╛рдЙрдЯрд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.
  • рдкреЛрд╕реНрдЯрдорди рд╡реЗрдЧрд│реНрдпрд╛ рдорд╢реАрдирд╡рд░ рд▓реЙрдиреНрдЪ рдХреЗрд▓реЗ рдЖрдгрд┐ рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдЖрдореНрд╣реА рдХрдорд╛рдВрдб рдкрд╛рдард╡рддреЛ рдУрдбреАрдПрд▓: рд░рд╛рдЙрдЯрд░ рдХрдиреЗрдХреНрдЯ / рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рдгреЗ рдЗ.

рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд╡рд░ рднрд╛рд╖реНрдп

рдЬреБрдирд┐рдкрд░ vMX ╨╕ рдУрдбреАрдПрд▓ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрдерд┐рд░ рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рднрд░рдкреВрд░ рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд. рдПрдХрдЪ vMX 6 Gb RAM рдЖрдгрд┐ 4 рдХреЛрд░ рдорд╛рдЧрддреЛ. рдореНрд╣рдгреВрди, рд╕рд░реНрд╡ "рд╣реЗрд╡реАрд╡реЗрдЯреНрд╕" рд╡реЗрдЧрд│реНрдпрд╛ рдорд╢реАрдирд╡рд░ рд╣рд▓рд╡рд┐рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛ (рд╣реНрдпреБрд▓реЗрдЯ рдкреЕрдХрд╛рд░реНрдб рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░реЛрд▓рд┐рдпрдВрдЯ рдЬреЗрди8, рдЙрдмрдВрдЯреВ 20.04 рдПрд▓рдЯреАрдПрд╕). рд░рд╛рдЙрдЯрд░, рдЕрд░реНрдерд╛рддрдЪ, рддреНрдпрд╛рд╡рд░ "рдЙрдбрдд рдирд╛рд╣реА", рдкрд░рдВрддреБ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд▓рд╣рд╛рди рдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ.

рднрд╛рдЧ 3: OpenDaylight рд╕реЗрдЯ рдХрд░рд╛

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдпрд╛ рд▓реЗрдЦрдирд╛рдЪреНрдпрд╛ рд╡реЗрд│реА ODL рдЪреА рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреА рдореЕрдЧреНрдиреЗрд╢рд┐рдпрдо SR1 рдЖрд╣реЗ

1) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ рдЬрд╛рд╡рд╛ рдЙрдШрдбрд╛ JDK 11 (рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕реНрдерд╛рдкрдиреЗрд╕рд╛рдареА рдпреЗрдереЗ)

ubuntu:~$ sudo apt install default-jdk

реи) рдирд╡реАрдирддрдо рдмрд┐рд▓реНрдб рд╢реЛрдзрд╛ рдЖрдгрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛ рдУрдбреАрдПрд▓ рдпреЗрдереВрди
3) рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗрд▓реЗ рд╕рдВрдЧреНрд░рд╣рдг рдЕрдирдЭрд┐рдк рдХрд░рд╛
4) рдкрд░рд┐рдгрд╛рдореА рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрд╡рд░ рдЬрд╛
5) рд▓рд╛рдБрдЪ рдХрд░рд╛ ./bin/karaf

рдпрд╛ рдкрд╛рдпрд░реАрд╡рд░ рдУрдбреАрдПрд▓ рд╕реБрд░реВ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рд╢реЛрдзреВ (рдкреЛрд░реНрдЯ 8181 рдмрд╛рд╣реЗрд░реВрди рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рдЖрдореНрд╣реА рдирдВрддрд░ рд╡рд╛рдкрд░реВ).

рдкреБрдвреЗ, рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ ODL рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ NETCONF ╨╕ RESTCONF. рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдУрдбреАрдПрд▓ рдХрд░рд╛:

opendaylight-user@root> feature:install odl-netconf-topology odl-restconf-all

рд╣рд╛ рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рд╕реЗрдЯрдЕрдк рдЖрд╣реЗ. рдУрдбреАрдПрд▓ рдкреВрд░реНрдг. (рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рдкрд╣рд╛ рдпреЗрдереЗ).

рднрд╛рдЧ 4: Vrnetlab рд╕реЗрдЯ рдХрд░рдгреЗ

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рд╕рд┐рд╕реНрдЯрдордЪреА рддрдпрд╛рд░реА

рд╕реНрдерд╛рдкрдиреЗрдкреВрд░реНрд╡реА Vrnetlab рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдкреЕрдХреЗрдЬреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рдЬрд╕реЗ рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░, рдЬрд╛, sshpass:

ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt -y install python3-bs4 sshpass make
ubuntu:~$ sudo apt -y install git
ubuntu:~$ sudo apt install -y 
    apt-transport-https ca-certificates 
    curl gnupg-agent software-properties-common
ubuntu:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
ubuntu:~$ sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"
ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt install -y docker-ce docker-ce-cli containerd.io

Vrnetlab рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдд рдЖрд╣реЗ

рд╕реНрдерд╛рдкрдиреЗрд╕рд╛рдареА Vrnetlab рдЧрд┐рдердм рд╡рд░реВрди рд╕рдВрдмрдВрдзрд┐рдд рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдХреНрд▓реЛрди рдХрд░рд╛:

ubuntu:~$ cd ~
ubuntu:~$ git clone https://github.com/plajjan/vrnetlab.git

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╡рд░ рдЬрд╛ vrnetlab:

ubuntu:~$ cd ~/vrnetlab

рдпреЗрдереЗ рддреБрдореНрд╣реА рд░рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рд╣реВ рд╢рдХрддрд╛. рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд░рд╛рдЙрдЯрд░рд╕рд╛рдареА рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ:

ubuntu:~/vrnetlab$ ls
CODE_OF_CONDUCT.md  config-engine-lite        openwrt           vr-bgp
CONTRIBUTING.md     csr                       routeros          vr-xcon
LICENSE             git-lfs-repo.sh           sros              vrnetlab.sh
Makefile            makefile-install.include  topology-machine  vrp
README.md           makefile-sanity.include   veos              vsr1000
ci-builder-image    makefile.include          vmx               xrv
common              nxos                      vqfx              xrv9k

рд░рд╛рдЙрдЯрд░рдЪреА рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рд╛

рд╕рдорд░реНрдерд┐рдд рдЕрд╕рд▓реЗрд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЙрдЯрд░ Vrnetlab, рдЪреА рд╕реНрд╡рддрдГрдЪреА рдЕрджреНрд╡рд┐рддреАрдп рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ. рдХрдзреА рдЬреБрдирд┐рдкрд░ vMX рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рд░рд╛рдЙрдЯрд░рд╕рд╣ .tgz рд╕рдВрдЧреНрд░рд╣ рдЕрдкрд▓реЛрдб рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рддреБрдореНрд╣реА рддреЗ рдпреЗрдереВрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реВ рд╢рдХрддрд╛ рдЕрдзрд┐рдХреГрдд рд╕рд╛рдЗрдЯ) vmx рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдЬрд╛ рдЖрдгрд┐ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛ make:

ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # ╨Ъ╨╛╨┐╨╕╤А╤Г╨╡╨╝ ╨▓ ╤Н╤В╤Г ╨┤╨╕╤А╨╡╨║╤В╨╛╤А╨╕╤О .tgz ╨░╤А╤Е╨╕╨▓ ╤Б ╤А╨╛╤Г╤В╨╡╤А╨╛╨╝
ubuntu:~$ sudo make

рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рд╛ vMX рд╕реБрдорд╛рд░реЗ 10-20 рдорд┐рдирд┐рдЯреЗ рд▓рд╛рдЧрддреАрд▓. рдХреЙрдлреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЬрд╛рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ!

рдЗрддрдХрд╛ рд╡реЗрд│ рдХрд╛, рддреБрдореНрд╣реА рд╡рд┐рдЪрд╛рд░рддрд╛?

рднрд╛рд╖рд╛рдВрддрд░ рдкреНрд░рддрд┐рд╕рд╛рдж рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рд▓реЗрдЦрдХ:

"рд╣реЗ рдЕрд╕реЗ рдЖрд╣реЗ рдХрд╛рд░рдг рдЬреЗрд╡реНрд╣рд╛ рд╡реНрд╣реАрд╕реАрдкреА (рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди) рдкреНрд░рдердордЪ рд╕реБрд░реВ рд╣реЛрддреЗ, рддреЗрд╡реНрд╣рд╛ рддреЗ рдПрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рд╡рд╛рдЪрддреЗ рдЬреА рддреА vMX рдордзреНрдпреЗ VRR VCP рдореНрд╣рдгреВрди рдЪрд╛рд▓реЗрд▓ рдХреА рдирд╛рд╣реА рд╣реЗ рдард░рд╡рддреЗ. рдкреВрд░реНрд╡реА, рд╣реЗ рд▓реЙрдиреНрдЪ рдбреЙрдХрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рджрд░рдореНрдпрд╛рди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдкрд░рдВрддреБ рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрддреЛ рдХреА VCP рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдгреНрдпрд╛рдЖрдзреА рдиреЗрд╣рдореА рдПрдХрджрд╛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдкрд░рд┐рдгрд╛рдореА рдмреВрдЯ рд╡реЗрд│ рдЦреВрдк рдЬрд╛рд╕реНрдд (рд╕реБрдорд╛рд░реЗ 5 рдорд┐рдирд┐рдЯреЗ) рдЖрддрд╛ рд╡реНрд╣реАрд╕реАрдкреАрдЪрд╛ рдкрд╣рд┐рд▓рд╛ рд░рди рдбреЙрдХрд░ рдЗрдореЗрдЬрдЪреНрдпрд╛ рдмрд┐рд▓реНрдб рджрд░рдореНрдпрд╛рди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдбреЙрдХрд░ рдмрд┐рд▓реНрдб - рдпрд╛рд╕рд╣ рдЪрд╛рд▓рд╡рддрд╛ рдпреЗрдд рдирд╛рд╣реА. -рдкреНрд░рд┐рд╡реНрд╣рд┐рд▓реЗрдЬреНрдб рдкрд░реНрдпрд╛рдп, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА qemu KVM рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд░рд╡реЗрдЧ рд╢рд┐рд╡рд╛рдп рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдореБрд│реЗ рдмрд┐рд▓реНрдбрд▓рд╛ рдмрд░рд╛рдЪ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ. рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрджрд░рдореНрдпрд╛рди, рдмрд░реЗрдЪ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛рдд, рддреНрдпрд╛рдореБрд│реЗ рдХрд┐рдорд╛рди рддреБрдореНрд╣реА рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ рддреЗ рдкрд╛рд╣реВ рд╢рдХрддрд╛. рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдПрдХ рд▓рд╛рдВрдм рдмрд┐рд▓реНрдб рдЗрддрдХреЗ рднрдпрд╛рдирдХ рдирд╛рд╣реА рдХрд╛рд░рдг рдЖрдореНрд╣реА рдПрдХрджрд╛рдЪ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рддреЛ, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рдЕрдиреЗрдХ рд▓реЙрдиреНрдЪ рдХрд░рддреЛ."

рддреНрдпрд╛рдирдВрддрд░ рддреБрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд░рд╛рдЙрдЯрд░рдЪреА рдкреНрд░рддрд┐рдорд╛ рдкрд╛рд╣реВ рд╢рдХрддрд╛ рдЧреЛрджреА рдХрд╛рдордЧрд╛рд░:

ubuntu:~$ sudo docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        3 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

vr-vmx рдХрдВрдЯреЗрдирд░ рд▓рд╛рдБрдЪ рдХрд░рд╛

рдЖрдореНрд╣реА рдХрдорд╛рдВрдбрд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЛ:

ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453c

рдкреБрдвреЗ, рдЖрдореНрд╣реА рд╕рдХреНрд░рд┐рдп рдХрдВрдЯреЗрдирд░рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдкрд╛рд╣реВ рд╢рдХрддреЛ:

ubuntu:~$ sudo docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS                                                 NAMES
120f882c8712        b1b2369b453c        "/launch.py"        2 minutes ago       Up 2 minutes (unhealthy)   22/tcp, 830/tcp, 5000/tcp, 10000-10099/tcp, 161/udp   jun01

рд░рд╛рдЙрдЯрд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдд рдЖрд╣реЗ

рд░рд╛рдЙрдЯрд░рдЪреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ IP рдкрддреНрддрд╛ рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢рд╛рдиреЗ рдорд┐рд│реВ рд╢рдХрддреЛ:

ubuntu:~$ sudo docker inspect --format '{{.NetworkSettings.IPAddress}}' jun01
172.17.0.2

рдбреАрдлреЙрд▓реНрдЯ, Vrnetlab рд░рд╛рдЙрдЯрд░рд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХрд░рддреЛ vrnetlab/VR-netlab9.
рд╕рд╣ рдХрдиреЗрдХреНрдЯ рд╣реЛрдд рдЖрд╣реЗ ssh:

ubuntu:~$ ssh [email protected]
The authenticity of host '172.17.0.2 (172.17.0.2)' can't be established.
ECDSA key fingerprint is SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
Password:
--- JUNOS 20.1R1.11 Kernel 64-bit  JNPR-11.0-20200219.fb120e7_buil
vrnetlab> show version
Model: vmx
Junos: 20.1R1.11

рд╣реЗ рд░рд╛рдЙрдЯрд░ рд╕реЗрдЯрдЕрдк рдкреВрд░реНрдг рдХрд░рддреЗ.

рд╡рд┐рд╡рд┐рдз рд╡рд┐рдХреНрд░реЗрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд░рд╛рдЙрдЯрд░рд╕рд╛рдареА рд╕реНрдерд╛рдкрдирд╛ рд╢рд┐рдлрд╛рд░рд╕реА рдпреЗрдереЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд github рдкреНрд░рдХрд▓реНрдк рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдВрдордзреНрдпреЗ.

рднрд╛рдЧ 5: рдкреЛрд╕реНрдЯрдорди - рд░рд╛рдЙрдЯрд░рд▓рд╛ рдУрдкрдирдбреЗрд▓рд╛рдЗрдЯрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рд╛

рдкреЛрд╕реНрдЯрдорди рд╕реНрдерд╛рдкрдирд╛

рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛ рдпреЗрдереВрди.

рд░рд╛рдЙрдЯрд░рд▓рд╛ рдУрдбреАрдПрд▓рд╢реА рдЬреЛрдбрдд рдЖрд╣реЗ

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ рдареЗрд╡рд╛ рд╡рд┐рдирдВрддреА:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. рд╡рд┐рдирдВрддреА рдореБрдЦреНрдп рднрд╛рдЧ (рдореБрдЦреНрдп рдЯреЕрдм):
    <node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
    <node-id>jun01</node-id>
    <host xmlns="urn:opendaylight:netconf-node-topology">172.17.0.2</host>
    <port xmlns="urn:opendaylight:netconf-node-topology">22</port>
    <username xmlns="urn:opendaylight:netconf-node-topology">vrnetlab</username>
    <password xmlns="urn:opendaylight:netconf-node-topology">VR-netlab9</password>
    <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
    <schema-cache-directory xmlns="urn:opendaylight:netconf-node-topology">jun01_cache</schema-cache-directory>
    </node>
  3. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin. ODL рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
    рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА
  4. рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЯреЕрдмрд╡рд░, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджреЛрди рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:
    • рдЕрд░реНрдЬ/xml рд╕реНрд╡реАрдХрд╛рд░рд╛
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/xml

рдЖрдордЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ. рдЖрдореНрд╣реА рдкрд╛рдард╡рддреЛ. рд╕рд░реНрд╡рдХрд╛рд╣реА рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЖрдореНрд╣реА "201 рддрдпрд╛рд░" рд╕реНрдерд┐рддреА рдкрд░рдд рдХреЗрд▓реА рдкрд╛рд╣рд┐рдЬреЗ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рд╣реА рд╡рд┐рдирдВрддреА рдХрд╛рдп рдХрд░рддреЗ?

рдЖрдореНрд╣реА рдЖрдд рдиреЛрдб рддрдпрд╛рд░ рдХрд░рддреЛ рдУрдбреАрдПрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд╛рдЙрдЯрд░рдЪреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рдЖрдореНрд╣реА рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ.

xmlns="urn:TBD:params:xml:ns:yang:network-topology"
xmlns="urn:opendaylight:netconf-node-topology"

рд╣реА рдЕрдВрддрд░реНрдЧрдд рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕ рдЖрд╣реЗрдд рдПрдХреНрд╕ рдПрдо рдПрд▓ (XML рдиреЗрдорд╕реНрдкреЗрд╕) рдЪреНрдпрд╛ рд╕рд╛рдареА рдУрдбреАрдПрд▓ рддреНрдпрд╛рдиреБрд╕рд╛рд░ рддреЛ рдиреЛрдб рддрдпрд╛рд░ рдХрд░рддреЛ.

рдкреБрдвреЗ, рдЕрдиреБрдХреНрд░рдореЗ, рд░рд╛рдЙрдЯрд░рдЪреЗ рдирд╛рд╡ рдЖрд╣реЗ рдиреЛрдб-рдЖрдпрдбреА, рд░рд╛рдЙрдЯрд░ рдкрддреНрддрд╛ - рдпрдЬрдорд╛рди рдЖрдгрд┐ рдЕрд╕рдВ.

рд╕рд░реНрд╡рд╛рдд рдордиреЛрд░рдВрдЬрдХ рдУрд│ рд╢реЗрд╡рдЯрдЪреА рдЖрд╣реЗ. рд╕реНрдХреАрдорд╛-рдХреЕрд╢реЗ-рдбрд┐рд░реЗрдХреНрдЯрд░реА рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░рддреЗ рдЬрд┐рдереЗ рд╕рд░реНрд╡ рдлрд╛рдпрд▓реА рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдпрд╛рдВрдЧ рд╕реНрдХреАрдорд╛ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рд░рд╛рдЙрдЯрд░. рдЖрдкрдг рддреНрдпрд╛рдВрдирд╛ рдордзреНрдпреЗ рд╢реЛрдзреВ рд╢рдХрддрд╛ $ODL_ROOT/cache/jun01_cache.

рд░рд╛рдЙрдЯрд░рдЪреЗ рдХрдиреЗрдХреНрд╢рди рддрдкрд╛рд╕рдд рдЖрд╣реЗ

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ GET рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.

рдЖрдореНрд╣реА рдкрд╛рдард╡рддреЛ. "200 рдУрдХреЗ" рдЪреА рд╕реНрдерд┐рддреА рдЖрдгрд┐ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рд╕рд░реНрд╡рд╛рдВрдЪреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА рдкрд╛рд╣рд┐рдЬреЗ рдпрд╛рдВрдЧ рд╕реНрдХреАрдорд╛:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдПрдХ рдЯрд┐рдкреНрдкрдгреА: рдирдВрддрд░рдЪреЗ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА, рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдирдВрддрд░ рд╕реБрдорд╛рд░реЗ 10 рдорд┐рдирд┐рдЯреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рдареЗрд╡рд╛рд╕рд░реНрд╡ рд╣реЛрдИрдкрд░реНрдпрдВрдд рдпрд╛рдВрдЧ рд╕реНрдХреАрдорд╛ рд╡рд░ рдЙрддрд░рд╡рд╛ рдУрдбреАрдПрд▓. рдпрд╛ рдмрд┐рдВрджреВрдкрд░реНрдпрдВрдд, рд╣реЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛рдирд╛ GET рдХреНрд╡реЗрд░реА рдЦрд╛рд▓реАрд▓ рджрд░реНрд╢рд╡реЗрд▓:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рд░рд╛рдЙрдЯрд░ рд╣рдЯрд╡рд╛

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ DELETE рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.

рднрд╛рдЧ 6: рд░рд╛рдЙрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рд╛

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдорд┐рд│рд╡рдд рдЖрд╣реЗ

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ GET рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.

рдЖрдореНрд╣реА рдкрд╛рдард╡рддреЛ. "200 рдУрдХреЗ" рд╕реНрдерд┐рддреА рдЖрдгрд┐ рд░рд╛рдЙрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддрдпрд╛рд░ рдХрд░рд╛

рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди, рдЦрд╛рд▓реАрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддрдпрд╛рд░ рдХрд░реВ рдЖрдгрд┐ рддреЗ рдмрджрд▓реВ:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ рдкреЛрд╕реНрдЯ рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. рд╡рд┐рдирдВрддреА рдореБрдЦреНрдп рднрд╛рдЧ (рдореБрдЦреНрдп рдЯреЕрдм):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.
  4. рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЯреЕрдмрд╡рд░, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджреЛрди рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:
    • рдЕрд░реНрдЬ/xml рд╕реНрд╡реАрдХрд╛рд░рд╛
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/xml

рдкрд╛рдард╡рд▓реНрдпрд╛рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ "204 рд╕рд╛рдордЧреНрд░реА рдирд╛рд╣реА" рд╕реНрдерд┐рддреА рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА рдкрд╛рд╣рд┐рдЬреЗ.

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рд▓реЗ рдЖрд╣реЗ рд╣реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдорд╛рдЧреАрд▓ рдХреНрд╡реЗрд░реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рдкрд░рдВрддреБ рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдореНрд╣реА рдЖрдгрдЦреА рдПрдХ рддрдпрд╛рд░ рдХрд░реВ рдЬреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рд░рд╛рдЙрдЯрд░рд╡рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рджрд░реНрд╢рд╡реЗрд▓.

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ GET рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.

рд╡рд┐рдирдВрддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдкрд╛рд╣реВ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рд╛

рдЪрд▓рд╛ рдмреАрдЬреАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪреА рдорд╛рд╣рд┐рддреА рдмрджрд▓реВ. рдЖрдордЪреНрдпрд╛ рдХреГрддреАрдВрдирдВрддрд░, рд╣реЗ рдЕрд╕реЗ рджрд┐рд╕реЗрд▓:

protocols {
    bgp {
        disable;
    }
}

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ рдареЗрд╡рд╛ рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. рд╡рд┐рдирдВрддреА рдореБрдЦреНрдп рднрд╛рдЧ (рдореБрдЦреНрдп рдЯреЕрдм):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.
  4. рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЯреЕрдмрд╡рд░, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджреЛрди рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:
    • рдЕрд░реНрдЬ/xml рд╕реНрд╡реАрдХрд╛рд░рд╛
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/xml

рдорд╛рдЧреАрд▓ рд╡рд╛рдкрд░рдгреЗ GET рд╡рд┐рдирдВрддреА, рдЖрдореНрд╣реА рдмрджрд▓ рдкрд╛рд╣рддреЛ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╣рдЯрд╡рд╛

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ DELETE рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.

рдлреЛрди рдХреЗрд▓рд╛ рдЕрд╕рддрд╛ GET рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреАрд╕рд╣ рд╡рд┐рдирдВрддреА, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдкрд╛рд╣реВ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдпрд╛ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд:

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд┐рдирдВрддреА рдореБрдЦреНрдп рднрд╛рдЧ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдкрд╛рдард╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА рдПрдХреНрд╕ рдПрдо рдПрд▓. рд╣реЗ рдлреЙрд░реНрдореЗрдЯрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ JSON.

рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреНрд╡реЗрд░реАрдордзреНрдпреЗ рдареЗрд╡рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд┐рдирдВрддреА рдореБрдЦреНрдп рднрд╛рдЧ рдпрд╛рд╕рд╣ рдмрджрд▓рд╛:

{
    "junos-conf-protocols:protocols": {
        "bgp": {
            "description" : "Changed in postman" 
        }
    }
}

рд╣реЗрдбрд░ рдЯреЕрдмрд╡рд░реАрд▓ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдпрд╛рдордзреНрдпреЗ рдмрджрд▓рдгреНрдпрд╛рд╕ рд╡рд┐рд╕рд░реВ рдирдХрд╛:

  • рдЕрд░реНрдЬ/json рд╕реНрд╡реАрдХрд╛рд░рд╛
  • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/json

рдкрд╛рдард╡рд▓реНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдкрд░рд┐рдгрд╛рдо рдорд┐рд│реЗрд▓ (рдЖрдореНрд╣реА рд╡рд╛рдкрд░реВрди рдЙрддреНрддрд░ рдкрд╛рд╣рддреЛ GET рд╡рд┐рдирдВрддреА):

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рднрд╛рдЧ 7: Cisco xRV9000 рдЬреЛрдбрдгреЗ

рдЖрдкрдг рд╕рд░реНрд╡ рдЬреБрдирд┐рдкрд░рдмрджреНрджрд▓ рдХрд╛рдп рдЖрд╣реЛрдд, рд╣реЛрдп рдЬреБрдирд┐рдкрд░? рдЪрд▓рд╛ рд╕рд┐рд╕реНрдХреЛрдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛!
рдорд▓рд╛ xRV9000 рдЖрд╡реГрддреНрддреА 7.0.2 рдЖрдврд│рд▓реА (рдПрдХ рдкреНрд░рд╛рдгреА рдЬреНрдпрд╛рд▓рд╛ 8Gb RAM рдЖрдгрд┐ 4 рдХреЛрд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд. рддреЗ рдореБрдХреНрддрдкрдгреЗ рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрд╛ рд╕рд┐рд╕реНрдХреЛ) - рдЪрд▓рд╛ рдЪрд╛рд▓рд╡реВрдпрд╛.

рдХрдВрдЯреЗрдирд░ рдЪрд╛рд▓рд╡рдгреЗ

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рдЬреБрдирд┐рдкрд░рдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│реА рдирд╛рд╣реА. рддреНрдпрд╛рдЪрдкреНрд░рдорд╛рдгреЗ, рдЖрдореНрд╣реА рд░рд╛рдЙрдЯрд░рд╕рд╣ .qcow2 рдлрд╛рдЗрд▓ рддреНрдпрд╛рдЪреНрдпрд╛ рдирд╛рд╡рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдЯрд╛рдХрддреЛ (рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, xrv9k) рдЖрдгрд┐ рдХрдорд╛рдВрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЛ. make docker-image.

рдХрд╛рд╣реА рдорд┐рдирд┐рдЯрд╛рдВрдирдВрддрд░, рдЖрдореНрд╣реА рдкрд╛рд╣рддреЛ рдХреА рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ:

ubuntu:~$ sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-xrv9k   7.0.2               54debc7973fc        4 hours ago         1.7GB
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        4 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

рдЖрдореНрд╣реА рдХрдВрдЯреЗрдирд░ рд╕реБрд░реВ рдХрд░рддреЛ:

ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fc

рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдиреЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рджрд┐рд╕рддреЗ рдХреА рдХрдВрдЯреЗрдирд░ рд╕реБрд░реВ рдЭрд╛рд▓рд╛ рдЖрд╣реЗ:

ubuntu:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                 PORTS                                                      NAMES
058c5ecddae3        54debc7973fc        "/launch.py"        4 hours ago         Up 4 hours (healthy)   22/tcp, 830/tcp, 5000-5003/tcp, 10000-10099/tcp, 161/udp   xrv01

ssh рджреНрд╡рд╛рд░реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рд╛:

ubuntu@ubuntu:~$ ssh [email protected]
Password:

RP/0/RP0/CPU0:ios#show version
Mon Jul  6 12:19:28.036 UTC
Cisco IOS XR Software, Version 7.0.2
Copyright (c) 2013-2020 by Cisco Systems, Inc.

Build Information:
 Built By     : ahoang
 Built On     : Fri Mar 13 22:27:54 PDT 2020
 Built Host   : iox-ucs-029
 Workspace    : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
 Version      : 7.0.2
 Location     : /opt/cisco/XR/packages/
 Label        : 7.0.2

cisco IOS-XRv 9000 () processor
System uptime is 3 hours 22 minutes

рд░рд╛рдЙрдЯрд░рд▓рд╛ OpenDaylight рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдд рдЖрд╣реЗ

рдЬреЛрдбрдгреЗ vMX рд╕рд╣ рдкреВрд░реНрдгрдкрдгреЗ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░реЗ рд╣реЛрддреЗ. рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдлрдХреНрдд рдирд╛рд╡реЗ рдмрджрд▓рд╛рдпрдЪреА рдЖрд╣реЗрдд.
рдареЗрд╡рд╛ рд╡рд┐рдирдВрддреА:
рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдиреЗ рдлреЛрди рдХрд░рд╛ GET рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ рд╣реЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд╡реЗрд░реА:
рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рд╛

рдЪрд▓рд╛ рдЦрд╛рд▓реАрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯ рдХрд░реВрдпрд╛:

!
router ospf LAB
 mpls ldp auto-config
!

рдЪрд▓рд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛ рдкреЛрд╕реНрдЯ рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. рд╡рд┐рдирдВрддреА рдореБрдЦреНрдп рднрд╛рдЧ (рдореБрдЦреНрдп рдЯреЕрдм):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.
  4. рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЯреЕрдмрд╡рд░, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджреЛрди рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:
    • рдЕрд░реНрдЬ/json рд╕реНрд╡реАрдХрд╛рд░рд╛
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/json

рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдирдВрддрд░, рддреНрдпрд╛рдВрдирд╛ "204 рд╕рд╛рдордЧреНрд░реА рдирд╛рд╣реА" рд╕реНрдерд┐рддреА рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА рдкрд╛рд╣рд┐рдЬреЗ.

рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдорд┐рд│рд╛рд▓реЗ рддреЗ рддрдкрд╛рд╕реВрдпрд╛.
рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рддрдпрд╛рд░ рдХрд░реВ GET рд╡рд┐рдирдВрддреА:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.

рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЖрдкрдг рдЦрд╛рд▓реАрд▓ рдкрд╣рд╛рд╡реЗ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдВрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдХрд┐рдВрд╡рд╛ OpenDaylight, Postman рдЖрдгрд┐ Vrnetlab рд╡рд╛рдкрд░реВрди рдЖрднрд╛рд╕реА рдкреНрд░рдпреЛрдЧрд╢рд╛рд│рд╛ рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╣рдЯрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд╛ DELETE:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. рдЕрдзрд┐рдХреГрддрддрд╛ рдЯреЕрдмрд╡рд░, рдЖрдкрдг рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ Basic Auth рдЖрдгрд┐ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/admin.

рдирд┐рд╖реНрдХрд░реНрд╖

рдПрдХреВрдг, рдЬрд╕реЗ рдЖрдкрдг рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдЕрд╕реЗрд▓ рдХреА, рд╕рд┐рд╕реНрдХреЛ рдЖрдгрд┐ рдЬреБрдирд┐рдкрд░рд▓рд╛ рдУрдкрдирдбреЗрд▓рд╛рдЗрдЯрд╢реА рдЬреЛрдбрдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдлрд░рдХ рдирд╛рд╣реА - рдпрд╛рдореБрд│реЗ рд╕рд░реНрдЬрдирд╢реАрд▓рддреЗрд╕рд╛рдареА рд╡рд┐рд╕реНрддреГрдд рд╡рд╛рд╡ рдЙрдШрдбрддреЛ. рд╕рд░реНрд╡ рдиреЗрдЯрд╡рд░реНрдХ рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рдкрд╛рд╕реВрди рдкреНрд░рд╛рд░рдВрдн рдХрд░рдгреЗ рдЖрдгрд┐ рдЖрдкрд▓реНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдзреЛрд░рдгрд╛рдВрдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрд╕рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛрдгреЗ.
рдпрд╛ рдЯреНрдпреБрдЯреЛрд░рд┐рдпрд▓рдордзреНрдпреЗ, рдореА рдУрдкрдирдбреЗрд▓рд╛рдЗрдЯ рд╡рд╛рдкрд░реВрди рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рдХрд╕рд╛ рд╕рд╛рдзреВ рд╢рдХрддреЛ рдпрд╛рдЪреА рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреА рдЙрджрд╛рд╣рд░рдгреЗ рджрд┐рд▓реА рдЖрд╣реЗрдд. рдирд┐рдГрд╕рдВрд╢рдпрдкрдгреЗ, рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреАрд▓ рдкреНрд░рд╢реНрди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдорд╛рдЙрд╕рдЪреНрдпрд╛ рдПрдХрд╛ рдХреНрд▓рд┐рдХрд╡рд░ рд╕рдВрдкреВрд░реНрдг рд╕реЗрд╡рд╛ рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛рдд - рд╕рд░реНрд╡рдХрд╛рд╣реА рдХреЗрд╡рд│ рдЖрдкрд▓реНрдпрд╛ рдХрд▓реНрдкрдиреЗрдиреЗ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ *

рдкреБрдвреЗ рдЪрд╛рд▓реВтАж

PS

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

рдЖрдирдВрджреА рдкреНрд░рдпреЛрдЧ!

рд╕рдВрджрд░реНрдн

  1. Vrnetlab: KVM рдЖрдгрд┐ рдбреЙрдХрд░ рд╡рд╛рдкрд░реВрди рдиреЗрдЯрд╡рд░реНрдХрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рд╛ / рдмреНрд░рд╛рдпрди рд▓рд┐рдВрдХрд▓реЗрдЯрд░
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, Et al
  3. YANG / Benoit Claise, Loe Clarke, Jan Lindblad рд╕рд╣ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд┐рд▓рд┐рдЯреА
  4. XML рд╢рд┐рдХрдгреЗ, рджреБрд╕рд░реА рдЖрд╡реГрддреНрддреА / рдПрд░рд┐рдХ рдЯреА. рд░реЗ
  5. рдкреНрд░рднрд╛рд╡реА DevOps / рдЬреЗрдирд┐рдлрд░ рдбреЗрд╡реНрд╣рд┐рд╕, Ryn Daniels

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛