ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืื™ืš ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืื™ืจ ื•ื•ื™ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืึธืคึผืขื ื“ื™ื™ืœื™ื™ื˜ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื ืขืฅ ื•ื™ืกืจื™ื›ื˜, ืื•ืŸ ืื•ื™ืš ื•ื•ื™ื™ึทื–ืŸ ื•ื•ื™ ืฆื• ื ื•ืฆืŸ ืคึผืึธืกื˜ืžืึทืŸ ืื•ืŸ ืคึผืฉื•ื˜ RESTCONF ืจื™ืงื•ื•ืขืก, ื“ืขื ืขืงื•ื•ื™ืคึผืžืขื ื˜ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทื ื˜ืจืึธื•ืœื“. ืžื™ืจ ื•ื•ืขืœืŸ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื™ื™ึทื–ื ื•ื•ืึทืจื’, ืึธื‘ืขืจ ืึทื ืฉื˜ืึธื˜ ืžื™ืจ ื•ื•ืขืœืŸ ืฆืขื•ื•ื™ืงืœืขืŸ ืงืœื™ื™ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืขืก ืžื™ื˜ ืึท ืื™ื™ืŸ ืจืึทื•ื˜ืขืจ Vrnetlab ืึทืจื™ื‘ืขืจ ื•ื‘ื•ื ื˜ื• ืงืกื ื•ืžืงืก ืœืฅ.

ืื™ืš ื•ื•ืขืœ ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื“ื™ื˜ื™ื™ืœื“ ืกืขื˜ื˜ื™ื ื’ืก ืขืจืฉื˜ืขืจ ื ื™ืฆืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ืึท ืจืึทื•ื˜ืขืจ ื“ื–ืฉื•ื ื™ืคึผืขืจ ื•ื•ืžืงืก 20.1ืจ1.11, ืื•ืŸ ื“ืขืžืึธืœื˜ ืžื™ืจ ืคืึทืจื’ืœื™ื™ึทื›ืŸ ืขืก ืžื™ื˜ ื“ื™ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืกื™ืกืงืึธ ืงืกืจื•ื•9000 7.0.2.

ืฆื•ืคืจื™ื“ืŸ

  • ืคืืจืœืื ื’ื˜ ื•ื•ื™ืกืŸ
  • ะงะฐัั‚ัŒ ืงืกื ื•ืžืงืก: ื“ื™ืกืงื•ื˜ื™ืจืŸ ื‘ืขืงื™ืฆืขืจ OpenDaylight (ื“ืขืจื ืึธืš ืึธื“ืœ), ืคึผืึธืกื˜ืžืึทืŸ ะธ Vrnetlab ืื•ืŸ ื•ื•ืึธืก ื˜ืึธืŸ ืžื™ืจ ื“ืึทืจืคึฟืŸ ื–ื™ื™
  • ะงะฐัั‚ัŒ ืงืกื ื•ืžืงืก: ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข
  • ะงะฐัั‚ัŒ ืงืกื ื•ืžืงืก: ืงืึทืกื˜ืึทืžื™ื™ื– ืึธืคึผืขื ื“ื™ื™ืœื™ื™ื˜
  • ะงะฐัั‚ัŒ ืงืกื ื•ืžืงืก: ืงืึทืกื˜ืึทืžื™ื™ื– Vrnetlab
  • ะงะฐัั‚ัŒ ืงืกื ื•ืžืงืก: ื“ื•ืจืš ื ื•ืฆืŸ ืคึผืึธืกื˜ืžืึทืŸ ืคืึทืจื‘ื™ื ื“ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืจืึทื•ื˜ืขืจ (ื“ื–ืฉื•ื ื™ืคึผืขืจ ื•ื•ืžืงืก) ืฆื• ืึธื“ืœ
  • ะงะฐัั‚ัŒ ืงืกื ื•ืžืงืก: ื‘ืึทืงื•ืžืขืŸ ืื•ืŸ ื˜ื•ื™ืฉืŸ ื“ื™ ืจืึทื•ื˜ืขืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื ื™ืฆืŸ ืคึผืึธืกื˜ืžืึทืŸ ะธ ืึธื“ืœ
  • ะงะฐัั‚ัŒ ืงืกื ื•ืžืงืก: ืœื™ื™ื’ืŸ Cisco xRV9000
  • ืกืึธืฃ
  • ืคึผืก
  • ื‘ื™ื‘ืœื™ืื’ืจืืคื™ืข

ืคืืจืœืื ื’ื˜ ื•ื•ื™ืกืŸ

ื›ึผื“ื™ ื“ืขืจ ืึทืจื˜ื™ืงืœ ื–ืึธืœ ื ื™ืฉื˜ ืคึฟืึทืจื•ื•ืึทื ื“ืœืขืŸ ืื™ืŸ ืึท ื‘ื•ื™ื’ืŸ, ื”ืึธื‘ ืื™ืš ืื™ื‘ืขืจื’ืขืœืึธื–ื˜ ืขื˜ืœืขื›ืข ื˜ืขื›ื ื™ืฉืข ืคึผืจื˜ื™ื (ืžื™ื˜ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ืขืŸ ืฆื• ืœื™ื˜ืขืจืึทื˜ื•ืจ ื•ื•ื•ึผ ืžืขืŸ ืงืขืŸ ืœื™ื™ืขื ืขืŸ ื•ื•ืขื’ืŸ ื–ื™ื™).

ืื™ืŸ ื“ืขื ืงืฉืจ, ืื™ืš ืคืึธืจืฉืœืึธื’ืŸ ืื™ืจ ื˜ืขืžืขืก ื•ื•ืึธืก ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื’ื•ื˜ (ืึธื‘ืขืจ ื›ึผืžืขื˜ ื ื™ื˜ ื ื™ื™ื˜ื™ืง) ืฆื• ื•ื•ื™ืกืŸ ืื™ื™ื“ืขืจ ืœื™ื™ืขื ืขืŸ:

ื˜ื™ื™ืœ 1: ืขื˜ืœืขื›ืข ื˜ืขืึธืจื™ืข

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

  • ืึทืŸ ืึธืคึฟืŸ SDN ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ืึธื ืคื™ืจื•ื ื’ ืื•ืŸ ืึธื˜ืึทืžื™ื™ื˜ื™ื ื’ ืึทืœืข ืžื™ื ื™ื ืคื•ืŸ ื ืขื˜ื•ื•ืึธืจืงืก, ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ืœื™ื ื•ืงืก ื•ื•ื™ืงื™ืคึผืขื“ื™ืข
  • Java ื™ืŸ
  • ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ืžืึธื“ืขืœ-ื’ืขื˜ืจื™ื‘ืŸ ืกืขืจื•ื•ื™ืก ืึทื‘ืกื˜ืจืึทืงื˜ื™ืึธืŸ ืžื“ืจื’ื” (MD-SAL)
  • ื ื™ืฆื˜ YANG ืžืึธื“ืขืœืก ืฆื• ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื“ื–ืฉืขื ืขืจื™ื™ื˜ RESTCONF API ืคึฟืึทืจ ื ืขืฅ ื“ืขื•ื•ื™ืกืขืก

ื“ื™ ื”ื•ื™ืคึผื˜ ืžืึธื“ื•ืœืข ืคึฟืึทืจ ื ืขืฅ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’. ืขืก ืื™ื– ื“ื•ืจืš ืขืก ืึทื– ืžื™ืจ ื•ื•ืขืœืŸ ื™ื‘ืขืจื’ืขื‘ืŸ ืžื™ื˜ ืคืืจื‘ื•ื ื“ืŸ ื“ืขื•ื•ื™ืกืขืก. ื’ืขืจืื˜ืŸ ื“ื•ืจืš ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข API.

ืื™ืจ ืงืขื ื˜ ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ OpenDaylight ื“ืึธ.

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

  • ืึทืคึผื™ ื˜ืขืกื˜ื™ื ื’ ื’ืขืฆื™ื™ึทื’
  • ืคึผืฉื•ื˜ ืื•ืŸ ื’ืจื™ื ื’ ืฆื• ื ื•ืฆืŸ ืฆื•ื‘ื™ื ื“

ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืžื™ืจ ื–ืขื ืขืŸ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ืขืก ื•ื•ื™ ืึท ืžื™ื˜ืœ ืฆื• ืฉื™ืงืŸ REST ืจื™ืงื•ื•ืขืก ืฆื• ื“ื™ OpenDaylight API. ืื™ืจ ืงืขื ืขืŸ, ืคื•ืŸ ืงื•ืจืก, ืฉื™ืงืŸ ืจื™ืงื•ื•ืขืก ืžืึทื ื™ื•ืึทืœื™, ืึธื‘ืขืจ ืื™ืŸ ืคึผืึธืกื˜ืžืึทืŸ ืึทืœืฅ ืงื•ืงื˜ ื–ื™ื™ืขืจ ืงืœืึธืจ ืื•ืŸ ืคึผืึทืกื™ืง ืื•ื ื“ื–ืขืจ ืฆื™ืœืŸ ื‘ื™ืฉืœื™ื™ืžืขืก.

ืคึฟืึทืจ ื“ื™ ื•ื•ืืก ื•ื•ื™ืœืŸ ืฆื• ื’ืจืึธื‘ืŸ: ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื˜ืจื™ื™ื ื™ื ื’ ืžืึทื˜ืขืจื™ืึทืœืก ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ ืื•ื™ืฃ ืขืก (ืœืขืžืึธืฉืœ).

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

  • ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ื“ื™ืคึผืœื•ื™ื™ื ื’ ื•ื•ื™ืจื˜ื•ืึทืœ ืจืึธื•ื˜ืขืจืก ืื™ืŸ ื“ืึธืงืงืขืจ
  • ืฉื˜ื™ืฆื˜: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, ืขื˜ืง.
  • ืขืคืขื ืขืŸ ืžืงื•ืจ

ื ื–ื™ื™ืขืจ ื˜ืฉื™ืงืึทื•ื•ืข ืึธื‘ืขืจ ืงืœื™ื™ืŸ ื‘ืืงืื ื˜ ืงื™ื™ืœืข. ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ืขืก ืฆื• ืœื•ื™ืคืŸ Juniper vMX ืื•ืŸ Cisco xRV9000 ืื•ื™ืฃ ืึท ืจืขื’ื•ืœืขืจ Ubuntu 20.04 LTS.

ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ืื™ื ืื™ืŸ ืคึผืจื•ื™ืขืงื˜ ื‘ืœืึทื˜.

ื˜ื™ื™ืœ 2: ืœืึทื‘

ืื™ืŸ ื“ืขื ื˜ื•ื˜ืึธืจื™ืึทืœ, ืžื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืกื™ืกื˜ืขื:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื•ื•ื™ ืขืก ื•ื•ืึธืจืงืก

  • ื“ื–ืฉื•ื ื™ืคึผืขืจ ื•ื•ืžืงืก ืฉื˜ื™ื™ื’ื˜ ืื™ืŸ ื“ืึธืงืงืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ (ื“ื•ืจืš ืžื™ื˜ืœ Vrnetlab) ืื•ืŸ ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ื™ ื“ื™ ืžืขืจืกื˜ ืคึผืจืึธืกื˜ ื•ื•ื™ืจื˜ื•ืึทืœ ืจืึทื•ื˜ืขืจ.
  • ืึธื“ืœ ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ื“ื™ ืจืึทื•ื˜ืขืจ ืื•ืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืขืก.
  • ืคึผืึธืกื˜ืžืึทืŸ ืœืึธื ื˜ืฉื˜ ืื•ื™ืฃ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืžืึทืฉื™ืŸ ืื•ืŸ ื“ื•ืจืš ืขืก ืžื™ืจ ืฉื™ืงืŸ ืงืึทืžืึทื ื“ื– ืึธื“ืœ: ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ / ืึทืจืึธืคึผื ืขืžืขืŸ ื“ื™ ืจืึทื•ื˜ืขืจ, ื˜ื•ื™ืฉืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ืขื˜ืง.

ืงืึธืžืขื ื˜ืึทืจ ืื•ื™ืฃ ื“ื™ ืžื™ื˜ืœ ืคื•ืŸ ื“ื™ ืกื™ืกื˜ืขื

ื“ื–ืฉื•ื ื™ืคึผืขืจ ื•ื•ืžืงืก ะธ ืึธื“ืœ ื“ืึทืจืคืŸ ื’ืึทื ืฅ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืจืขืกื•ืจืกืŸ ืคึฟืึทืจ ื–ื™ื™ืขืจ ืกื˜ืึทื‘ื™ืœ ืึธืคึผืขืจืึทืฆื™ืข. ื ืึธืจ ืื™ื™ื ืขืจ vMX ืคืืจืœืื ื’ื˜ 6 ื’ื™ื’ืื‘ื™ื™ื˜ ืคื•ืŸ ื‘ืึทืจืึทืŸ ืื•ืŸ 4 ืงืึธืจืขืก. ื“ืขืจื™ื‘ืขืจ, ืขืก ืื™ื– ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืึทืœืข ื“ื™ "ืฉื•ื•ืขืจื•ื•ื™ื™ืฅ" ืฆื• ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืžืึทืฉื™ืŸ (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). ื“ืขืจ ืจืึทื•ื˜ืขืจ, ืคื•ืŸ ืงื•ืจืก, ื˜ื•ื˜ ื ื™ืฉื˜ "ืคืœื™ืขืŸ" ืื•ื™ืฃ ืขืก, ืึธื‘ืขืจ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ื’ืขื ื•ื’ ืคึฟืึทืจ ืงืœื™ื™ืŸ ื™ืงืกืคึผืขืจืึทืžืึทื ืฅ.

ื˜ื™ื™ืœ 3: ื‘ืึทืฉื˜ืขื˜ื™ืง OpenDaylight

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื“ื™ ืงืจืึทื ื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ODL ืื™ืŸ ื“ืขืจ ืฆื™ื™ื˜ ืคื•ืŸ ื“ืขื ืฉืจื™ื™ื‘ืŸ ืื™ื– Magnesium SR1

1) ื™ื ืกื˜ืึทืœื™ืจืŸ Java ืขืคึฟืŸ JDK 11 (ืคึฟืึทืจ ืžืขืจ ื“ื™ื˜ื™ื™ืœื“ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื“ืึธ)

ubuntu:~$ sudo apt install default-jdk

2) ื’ืขืคึฟื™ื ืขืŸ ืื•ืŸ ืืจืืคืงืืคื™ืข ื“ื™ ืœืขืฆื˜ืข ื‘ื™ืœื“ ืึธื“ืœ ืคื•ื  ื“ืึทื ืขื˜
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 ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืคืืจืœืื ื’ื˜ ืคึฟืึทืจ ื–ื™ื™ึทืŸ ืึธืคึผืขืจืึทืฆื™ืข. ืื–ื•ื™ ื•ื•ื™ ื“ืึธืงืงืขืจ, ื’ื™ื™ืŸ, ืกืฉืคึผืึทืก:

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 ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื•ืŸ ืœื•ื™ืคืŸ ื“ื™ ื‘ืึทืคึฟืขืœ make:

ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # ะšะพะฟะธั€ัƒะตะผ ะฒ ัั‚ัƒ ะดะธั€ะตะบั‚ะพั€ะธัŽ .tgz ะฐั€ั…ะธะฒ ั ั€ะพัƒั‚ะตั€ะพะผ
ubuntu:~$ sudo make

ื‘ื™ืœื“ื™ื ื’ ืึท ื‘ื™ืœื“ vMX ื•ื•ืขื˜ ื ืขืžืขืŸ ื•ื•ืขื’ืŸ 10-20 ืžื™ื ื•ื˜. ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ื’ื™ื™ืŸ ืงื•ื™ืคืŸ ืงืึทื•ื•ืข!

ืคืืจื•ื•ืืก ืึทื–ื•ื™ ืœืึทื ื’, ืื™ืจ ืคืจืขื’ืŸ?

ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ื“ื™ ืขื ื˜ืคืขืจ ืžื—ื‘ืจ ืฆื• ื“ืขื ืงืฉื™ื:

"ื“ืืก ืื™ื– ื•ื•ื™ื™ึทืœ ื“ื™ ืขืจืฉื˜ืขืจ ืžืึธืœ ื“ื™ VCP (ืงืึธื ื˜ืจืึธืœ ืคึผืœืึทื ืข) ืื™ื– ืกื˜ืึทืจื˜ืขื“, ืขืก ืœื™ื™ืขื ื˜ ืึท ืงืึธื ืคื™ื’ ื˜ืขืงืข ื•ื•ืึธืก ื“ื™ื˜ืขืจืžืึทื ื– ืฆื™ ืขืก ื•ื•ืขื˜ ืœื•ื™ืคืŸ ื•ื•ื™ ืึท VRR VCP ืื™ืŸ ื•ื•ืžืงืก. ื‘ื™ื– ืึทื”ืขืจ, ื“ืขื ืงืึทื˜ืขืจ ืื™ื– ื’ืขืฉืขืŸ ื‘ืขืฉืึทืก Docker ืกื˜ืึทืจื˜ืึทืคึผ, ืึธื‘ืขืจ ื“ืึธืก ืžืขื ื˜ ืึทื– ื“ื™ VCP ืื™ื– ืฉื˜ืขื ื“ื™ืง ืจื™ืกื˜ืึทืจื˜ื™ื“ ืึทืžืึธืœ ืื™ื™ื“ืขืจ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืจืึทื•ื˜ืขืจ ืื™ื– ื‘ื ื™ืžืฆื, ืจื™ื–ืึทืœื˜ื™ื ื’ ืื™ืŸ ืึท ืœืึทื ื’ ืฉื˜ื™ื•ื•ืœ ืฆื™ื™ื˜ (ื•ื•ืขื’ืŸ 5 ืžื™ื ื•ื˜) ืื™ืฆื˜ ื“ืขืจ ืขืจืฉื˜ืขืจ ืœื•ื™ืคืŸ ืคื•ืŸ ื“ื™ VCP ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ื‘ืขืฉืึทืก ื“ื™ ื‘ื•ื™ืขืŸ ืคื•ืŸ ื“ื™ ื“ืึธืงืงืขืจ ื‘ื™ืœื“, ืื•ืŸ ื–ื™ื ื˜ ื“ื™ ื“ืึธืงืงืขืจ ื‘ื•ื™ืขืŸ ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ืœื•ื™ืคืŸ ืžื™ื˜ ื“ื™ - -ืคึผืจื™ื•ื•ื™ืœืขื“ื–ืฉื“ ืึธืคึผืฆื™ืข, ื“ืึธืก ืžื™ื˜ืœ ืึทื– ืงืขืžื• ืึทืจื‘ืขื˜ ืึธืŸ ืงื•ื•ื ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื•ืŸ ืึทื–ื•ื™ ื“ื™ ื‘ื•ื™ืขืŸ ื ืขืžื˜ ืึท ื–ื™ื™ืขืจ ืœืึทื ื’ ืฆื™ื™ื˜. ื‘ืขืฉืึทืก ื“ืขื ืคึผืจืึธืฆืขืก, ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืœืึธื’ืก ื–ืขื ืขืŸ ืจืขื–ื•ืœื˜ืึทื˜, ืึทื–ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื•ื•ืึธืก ืื™ื– ื’ืขื’ืื ื’ืขืŸ ืื•ื™ืฃ. ืื™ื– ื ื™ืฉื˜ ืึทื–ื•ื™ ืกืงืขืจื™ ื•ื•ื™ื™ึทืœ ืžื™ืจ ืžืึทื›ืŸ ืึท ื‘ื™ืœื“ ืึทืžืึธืœ, ืึธื‘ืขืจ ืžื™ืจ ืงืึทื˜ืขืจ ืคื™ืœืข."

ื ืึธืš ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื“ื™ ื‘ื™ืœื“ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืจืึทื•ื˜ืขืจ ืื™ืŸ ื“ืึธืงืงืขืจ:

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

ื“ืขื ืงืึทืžืคึผืœื™ืฅ ื“ื™ ืจืึทื•ื˜ืขืจ ืกืขื˜ืึทืคึผ.

ื™ื ืกื˜ืึทืœืœืึทื˜ื™ืึธืŸ ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืจืึธื•ื˜ืขืจืก ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ื•ื•ืขื ื“ืึธืจืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื’ื™ื˜ื”ื•ื‘ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ื“ื™ ืจื™ืกืคึผืขืงื˜ื™ื•ื• ื“ื™ื™ืจืขืงื˜ืขืจื™ื–.

ื˜ื™ื™ืœ 5: ืคึผืึธืกื˜ืžืึทืŸ - ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ืจืึทื•ื˜ืขืจ ืฆื• OpenDaylight

ืคึผืึธืกื˜ืžืึทืŸ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ, ื ืึธืจ ืืจืืคืงืืคื™ืข ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคื•ื  ื“ืึทื ืขื˜.

ืงืึทื ืขืงื˜ื™ื ื’ ืึท ืจืึทื•ื˜ืขืจ ืฆื• ODL

ืœืึธืžื™ืจ ืžืึทื›ืŸ PUT ื‘ืขื˜ืŸ:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ 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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ. ื“ืึธืก ืื™ื– ืคืืจืœืื ื’ื˜ ืฆื• ืึทืงืกืขืก ื“ื™ ODL:
    ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab
  4. ืื•ื™ืฃ ื“ื™ ื›ืขื“ืขืจื– ืงื•ื•ื™ื˜ืœ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื™ื™ื’ืŸ ืฆื•ื•ื™ื™ ื›ืขื“ืขืจื–:
    • ืึธื ื ืขืžืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ / xml
    • ืื™ื ื”ืึทืœื˜-ื˜ื™ืคึผ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ/ืงืกืžืœ

ืื•ื ื“ื–ืขืจ ื‘ืงืฉื” ืื™ื– ื’ืขืžืื›ื˜. ืžื™ืจ ืฉื™ืงืŸ. ืื•ื™ื‘ ืึทืœืฅ ืื™ื– ืงืึทื ืคื™ื’ื™ืขืจื“ ืจื™ื›ื˜ื™ืง, ืžื™ืจ ื–ืึธืœ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก "201 Created":

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื•ื•ืึธืก ื˜ื•ื˜ ื“ืขื ื‘ืงืฉื” ื˜ืึธืŸ?

ืžื™ืจ ืžืึทื›ืŸ ื ืึธื“ืข ื™ืŸ ืึธื“ืœ ืžื™ื˜ ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืคื•ืŸ ื“ื™ ืคืึทืงื˜ื™ืฉ ืจืึทื•ื˜ืขืจ ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืึทืงืกืขืก.

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

ื“ืืก ื–ืขื ืขืŸ ื™ื ืขืจืœืขืš ื ืึธืžืขืŸ ืกืคึผื™ื™ืกืึทื– ืงืกืžืœ (ืงืกืžืœ ื ืึทืžืขืกืคึผืึทืกืข) ืคึฟืึทืจ ืึธื“ืœ ืœื•ื™ื˜ ื•ื•ืึธืก ืขืก ืงืจื™ื™ื™ืฅ ื ืึธื“ืข.

ื•ื•ื™ื™ึทื˜ืขืจ, ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™, ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืจืึทื•ื˜ืขืจ ืื™ื– ื ืึธื“ืข-ื™ื“, ืจืึทื•ื˜ืขืจ ืึทื“ืจืขืก - ื‘ืึทืœืขื‘ืึธืก ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ.

ื“ื™ ืžืขืจืกื˜ ื˜ืฉื™ืงืึทื•ื•ืข ืฉื•ืจื” ืื™ื– ื“ื™ ืœืขืฆื˜ืข. ืกื˜ืฉืขืžืึท-ืงืึทืฉ-ื“ืขืจื•ื•ื™ื™ึทื– ืงืจื™ื™ื™ืฅ ืึท ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื•ื•ื• ืึทืœืข ื˜ืขืงืขืก ื–ืขื ืขืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื™ืึทื ื’ ืกื›ืขืžืข ืงืึธื ื ืขืงื˜ืขื“ ืจืึทื•ื˜ืขืจ. ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ื–ื™ื™ ืื™ืŸ $ODL_ROOT/cache/jun01_cache.

ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืงืฉืจ ืคื•ืŸ ื“ื™ ืจืึทื•ื˜ืขืจ

ืœืึธืžื™ืจ ืžืึทื›ืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืขื˜ืŸ:

  1. ืึธื ืคึฟืจืขื’ ืฉื˜ืจื™ืงืœ:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. ืื•ื™ืฃ ื“ื™ ืึทื•ื˜ื”ืึธืจื™ื–ืึทื˜ื™ืึธืŸ ืงื•ื•ื™ื˜ืœ, ืื™ืจ ืžื•ื–ืŸ ืฉื˜ืขืœืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ Basic Auth ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.

ืžื™ืจ ืฉื™ืงืŸ. ื–ืึธืœ ื‘ืึทืงื•ืžืขืŸ ืึท ืกื˜ืึทื˜ื•ืก ืคื•ืŸ "200 ื’ื•ื˜" ืื•ืŸ ืึท ืจืฉื™ืžื” ืคื•ืŸ ืึทืœืข ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ืžื™ื˜ืœ ื™ืึทื ื’ ืกื›ืขืžืข:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื‘ืึทืžืขืจืงื•ื ื’: ืฆื• ื–ืขืŸ ื“ื™ ืœืขืฆื˜ืข, ืื™ืŸ ืžื™ื™ืŸ ืคืึทืœ ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ื•ื•ืึทืจื˜ืŸ ื•ื•ืขื’ืŸ 10 ืžื™ื ื•ื˜ ื ืึธืš ื“ืขืจ ื“ื•ืจื›ืคื™ืจื•ื ื’ PUTื‘ื™ื– ืึทืœืข ื™ืึทื ื’ ืกื›ืขืžืข ืึทื ืœืึธื•ื“ ืื•ื™ืฃ ืึธื“ืœ. ืึทืจื•ื™ืฃ ืฆื• ื“ืขื ืคื•ื ื˜, ื•ื•ืขืŸ ืคึผืขืจืคืึธืจืžื™ื ื’ ื“ืขื ื‘ืึทืงื•ืžืขืŸ ืึธื ืคึฟืจืขื’ ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื•ื™ืกืžืขืงืŸ ื“ื™ ืจืึทื•ื˜ืขืจ

ืœืึธืžื™ืจ ืžืึทื›ืŸ ื•ื™ืกืžืขืงืŸ ื‘ืขื˜ืŸ:

  1. ืึธื ืคึฟืจืขื’ ืฉื˜ืจื™ืงืœ:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. ืื•ื™ืฃ ื“ื™ ืึทื•ื˜ื”ืึธืจื™ื–ืึทื˜ื™ืึธืŸ ืงื•ื•ื™ื˜ืœ, ืื™ืจ ืžื•ื–ืŸ ืฉื˜ืขืœืŸ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ Basic Auth ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.

ื˜ื™ื™ืœ 6: ื˜ื•ื™ืฉืŸ ื“ื™ ืจืึทื•ื˜ืขืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ืœืึธืžื™ืจ ืžืึทื›ืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืขื˜ืŸ:

  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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.

ืžื™ืจ ืฉื™ืงืŸ. ื–ืึธืœ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก "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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.
  4. ืื•ื™ืฃ ื“ื™ ื›ืขื“ืขืจื– ืงื•ื•ื™ื˜ืœ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื™ื™ื’ืŸ ืฆื•ื•ื™ื™ ื›ืขื“ืขืจื–:
    • ืึธื ื ืขืžืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ / xml
    • ืื™ื ื”ืึทืœื˜-ื˜ื™ืคึผ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ/ืงืกืžืœ

ื ืึธืš ืฉื™ืงืŸ, ื–ื™ื™ ื–ืึธืœ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก "204 ืงื™ื™ืŸ ืื™ื ื”ืึทืœื˜"

ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ืคืืจืขื ื“ืขืจื˜, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืึธื ืคึฟืจืขื’. ืึธื‘ืขืจ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ื•ื•ืขืœืŸ ืžืึทื›ืŸ ืืŸ ืื ื“ืขืจ ืื™ื™ื ืขืจ ื•ื•ืึธืก ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื‘ืœื•ื™ื– ื•ื•ืขื’ืŸ ื“ื™ ืคึผืจืึธื˜ืึธืงืึธืœืก ืงืึทื ืคื™ื’ื™ืขืจื“ ืื•ื™ืฃ ื“ื™ ืจืึทื•ื˜ืขืจ.

ืœืึธืžื™ืจ ืžืึทื›ืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืขื˜ืŸ:

  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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.

ื ืึธืš ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื“ื™ ื‘ืงืฉื”, ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื˜ื•ื™ืฉืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ืœืึธืžื™ืจ ื˜ื•ื™ืฉืŸ ื“ื™ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ BGP ืคึผืจืึธื˜ืึธืงืึธืœ. ื ืึธืš ืื•ื ื“ื–ืขืจ ืึทืงืฉืึทื ื–, ืขืก ื•ื•ืขื˜ ืงื•ืงืŸ ื•ื•ื™ ื“ืึธืก:

protocols {
    bgp {
        disable;
    }
}

ืœืึธืžื™ืจ ืžืึทื›ืŸ PUT ื‘ืขื˜ืŸ:

  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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.
  4. ืื•ื™ืฃ ื“ื™ ื›ืขื“ืขืจื– ืงื•ื•ื™ื˜ืœ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื™ื™ื’ืŸ ืฆื•ื•ื™ื™ ื›ืขื“ืขืจื–:
    • ืึธื ื ืขืžืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ / xml
    • ืื™ื ื”ืึทืœื˜-ื˜ื™ืคึผ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ/ืงืกืžืœ

ื ื™ืฆืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื‘ืึทืงื•ืžืขืŸ ื‘ืขื˜ืŸ, ืžื™ืจ ื–ืขืŸ ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื•ื™ืกืžืขืงืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ืœืึธืžื™ืจ ืžืึทื›ืŸ ื•ื™ืกืžืขืงืŸ ื‘ืขื˜ืŸ:

  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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.

ื•ื•ืขืŸ ื’ืขืจื•ืคืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืขื˜ืŸ ืžื™ื˜ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ืคึผืจืึธื˜ืึธืงืึธืœืก, ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื“ืขืจืฆื•:

ืื™ืŸ ืกื“ืจ ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ืขืก ืื™ื– ื ื™ื˜ ื ื™ื™ื˜ื™ืง ืฆื• ืฉื™ืงืŸ ื“ื™ ื‘ืขื˜ืŸ ื’ื•ืฃ ืื™ืŸ ื“ืขื ืคึฟืึธืจืžืึทื˜ ืงืกืžืœ. ื“ืึธืก ืงืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ืื™ืŸ ื“ืขื ืคึฟืึธืจืžืึทื˜ ื“ื–ืฉืกืึธืŸ.

ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืœืžืฉืœ, ืื™ืŸ ื“ื™ ืึธื ืคึฟืจืขื’ PUT ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ ื‘ืขื˜ืŸ ื’ื•ืฃ ืžื™ื˜:

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

ื“ื• ื–ืืœืกื˜ ื ื™ืฉื˜ ืคืึทืจื’ืขืกืŸ ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ื›ืขื“ืขืจื– ืื•ื™ืฃ ื“ื™ ื›ืขื“ืขืจื– ืงื•ื•ื™ื˜ืœ ืฆื•:

  • ืึธื ื ืขืžืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ / json
  • ืื™ื ื”ืึทืœื˜-ื˜ื™ืคึผ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ / ื“ื–ืฉืกืึธืŸ

ื ืึธืš ืฉื™ืงืŸ, ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืจืขื–ื•ืœื˜ืึทื˜ (ืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ื“ื™ ืขื ื˜ืคืขืจ ื ื™ืฆืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืงืฉื”):

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ื˜ื™ื™ืœ 7: ืึทื“ื™ื ื’ ื“ื™ Cisco xRV9000

ื•ื•ืึธืก ื–ืขื ืขืŸ ืžื™ืจ ืึทืœืข ื•ื•ืขื’ืŸ ื“ื–ืฉื•ื ื™ืคึผืขืจ, ื™ืึธ ื“ื–ืฉื•ื ื™ืคึผืขืจ? ืœืึธืžื™ืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ืกื™ืกืงืึธ!
ืื™ืš ื’ืขืคึฟื•ื ืขืŸ XRV9000 ื•ื•ืขืจืกื™ืข 7.0.2 (ืึท ื—ื™ื” ื•ื•ืึธืก ื“ืึทืจืฃ 8 ื’ื‘ ื‘ืึทืจืึทืŸ ืื•ืŸ 4 ืงืึธืจืขืก. ืขืก ืื™ื– ื ื™ืฉื˜ ืคืจื™ืœื™ ื‘ื ื™ืžืฆื, ืึทื–ื•ื™ ืงืึธื ื˜ืึทืงื˜ ืกื™ืกืงืึธ) - ืœืึธืžื™ืจ ืขืก ืœื•ื™ืคืŸ.

ืคืœื™ืกื ื“ื™ืง ืึท ืงืึทื ื˜ื™ื™ื ืขืจ

ื“ืขืจ ืคึผืจืึธืฆืขืก ืคื•ืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื“ืึธืงืงืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– ืคึผืจืึทืงื˜ืึทืงืœื™ ื ื™ื˜ ืึทื ื“ืขืจืฉ ืคื•ืŸ Juniper. ืกื™ืžื™ืœืึทืจืœื™, ืžื™ืจ ืคืึทืœืŸ ื“ื™ .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

ืึทื“ื™ื ื’ ืึทืงืขืจื– ืื™ืŸ ืึท ื’ืึธืจ ืขื ืœืขืš ื•ื•ืขื’ ืžื™ื˜ ื•ื•ืžืงืก. ืžื™ืจ ื“ืึทืจืคึฟืŸ ื ืึธืจ ื˜ื•ื™ืฉืŸ ื“ื™ ื ืขืžืขืŸ.
PUT ื‘ืขื˜ืŸ:
ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ืจื•ืคืŸ ื ืึธืš ืึท ื‘ืฉืขืช ื‘ืึทืงื•ืžืขืŸ ืึธื ืคึฟืจืขื’ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ืึทืœืฅ ืื™ื– ืงืึธื ื ืขืงื˜ืขื“:
ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ 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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.
  4. ืื•ื™ืฃ ื“ื™ ื›ืขื“ืขืจื– ืงื•ื•ื™ื˜ืœ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื™ื™ื’ืŸ ืฆื•ื•ื™ื™ ื›ืขื“ืขืจื–:
    • ืึธื ื ืขืžืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ / json
    • ืื™ื ื”ืึทืœื˜-ื˜ื™ืคึผ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ / ื“ื–ืฉืกืึธืŸ

ื ืึธืš ื–ื™ื™ึทืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’, ื–ื™ื™ ื–ืึธืœ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก "204 ืงื™ื™ืŸ ืื™ื ื”ืึทืœื˜".

ื–ืืœ ืก ื˜ืฉืขืง ื•ื•ืึธืก ืžื™ืจ ื’ืึทื˜.
ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืžื™ืจ ื•ื•ืขืœืŸ ืฉืึทืคึฟืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืขื˜ืŸ:

  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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.

ื ืึธืš ื“ื•ืจื›ืคื™ืจื•ื ื’, ืื™ืจ ื–ืึธืœ ื–ืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข:

ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืขืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึธื“ืขืจ ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืžื™ื˜ OpenDaylight, Postman ืื•ืŸ Vrnetlab

ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื ื•ืฆืŸ ื•ื™ืกืžืขืงืŸ:

  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 ืื•ืŸ ืœืึธื’ื™ืŸ / ืคึผืึทืจืึธืœ: ืึทื“ืžื™ืŸ / ืึทื“ืžื™ืŸ.

ืกืึธืฃ

ืื™ืŸ ื’ืึทื ืฅ, ื•ื•ื™ ืื™ืจ ืงืขืŸ ื”ืึธื‘ืŸ ื‘ืืžืขืจืงื˜, ื“ื™ ืคึผืจืึธื•ืกื™ื“ื–ืฉืขืจื– ืคึฟืึทืจ ืงืึทื ืขืงื˜ื™ื ื’ Cisco ืื•ืŸ Juniper ืฆื• OpenDaylight ื˜ืึธืŸ ื ื™ื˜ ืึทื ื“ืขืจืฉ - ื“ืึธืก ืึธืคึผืขื ืก ืึท ื’ืึทื ืฅ ื‘ืจื™ื™ื˜ ืคืึทืจื ืขื ืคึฟืึทืจ ืฉืขืคึฟืขืจื™ืฉืงื™ื™ื˜. ืกื˜ืึทืจื˜ื™ื ื’ ืคื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืคื•ืŸ ืึทืœืข ื ืขืฅ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื•ืŸ ืกืึธืฃ ืžื™ื˜ ื“ื™ ืฉืึทืคื•ื ื’ ืคื•ืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื ืขืฅ ืคึผืึทืœืึทืกื™ื–.
ืื™ืŸ ื“ืขื ื˜ื•ื˜ืึธืจื™ืึทืœ, ืื™ืš ื”ืึธื‘ืŸ ื’ืขื’ืขื‘ืŸ ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ื ืขืฅ ื•ื™ืกืจื™ื›ื˜ ื ื™ืฆืŸ OpenDaylight. ืึธืŸ ืึท ืฆื•ื•ื™ื™ืคืœ, ื“ื™ ืคึฟืจืื’ืŸ ืคื•ืŸ ื“ื™ ืื•ื™ื‘ืŸ ื‘ื™ื™ืฉืคื™ืœืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคื™ืœ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ืื•ืŸ ืฉื˜ืขืœืŸ ืึทืจื•ื™ืฃ ื’ืึทื ืฅ ื‘ืึทื“ื™ื ื•ื ื’ืก ืžื™ื˜ ืื™ื™ืŸ ื’ื™ื˜ ืคื•ืŸ ื“ื™ ืžื•ื™ื– - ืึทืœืฅ ืื™ื– ืœื™ืžื™ื˜ืขื“ ื‘ืœื•ื™ื– ื“ื•ืจืš ื“ื™ื™ืŸ ืคืึทื ื˜ืึทื–ื™ืข *

ืฆื• ืคืึธืจื–ืขืฆืŸ ...

ืคึผืก

ืื•ื™ื‘ ืื™ืจ ืคึผืœื•ืฆืœื™ื ื’ ืฉื•ื™ืŸ ื•ื•ื™ืกืŸ ืึทืœืข ื“ืขื ืึธื“ืขืจ, ืื•ื™ืฃ ื“ื™ ืคืึทืจืงืขืจื˜, ื”ืึธื‘ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืื•ืŸ ืกืึทื ื’ืง ืื™ืŸ ื“ื™ ื ืฉืžื” ืคื•ืŸ ODL, ืื™ืš ืจืขืงืึธืžืขื ื“ื™ืจืŸ ืฆื• ืงื•ืงืŸ ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ื™ืฃ ื“ื™ ODL ืงืึธื ื˜ืจืึธืœืœืขืจ. ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืคื•ื  ื“ืึทื ืขื˜.

ืžืฆืœื™ื— ื™ืงืกืคึผืขืจืึทืžืึทื ืฅ!

ื‘ืึทื•ื•ื™ื™ึทื–ืŸ

  1. Vrnetlab: ืขืžื•ืœื™ืจืŸ ื ืขื˜ื•ื•ืึธืจืงืก ืžื™ื˜ KVM ืื•ืŸ Docker / ื‘ืจื™ื™ืึทืŸ ืœื™ื ืงืœืขื˜ื˜ืขืจ
  2. OpenDaylight ืงื•ืงื‘ื•ืง / Mathieu Lemay, Alexis de Talhouet, ืขื˜ ืขืœ
  3. ื ืขืฅ ืคึผืจืึธื’ืจืึทืžืžืึทื‘ื™ืœื™ื˜ื™ ืžื™ื˜ YANG / Benoรฎt Claise, Loe Clarke, Jan Lindblad
  4. ืœืขืจื ืขืŸ ืงืกืžืœ, ืฆื•ื•ื™ื™ื˜ืข ืึทื“ื™ืฉืึทืŸ / Erik T. Ray
  5. ืขืคืขืงื˜ื™ื•ื• ื“ืขื•ื•ืึธืคึผืก / Jennifer Davis, Ryn Daniels

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’