NetBox integreren in uw CML-netwerken

Dit jaar heb ik een erg druk najaar gehad en nu kan ik het bijna niet geloven. Het is drie maanden geleden sinds mijn laatste blogpost, “Breng enkele bronnen van waarheid naar uw NetAI Agentic Playground.” Dit is veel langer dan ik had gepland toen ik mijn “openbare disclaimer” maakte met betrekking tot mijn volgende blogpost over het werk dat ik had gedaan om NetBox eenvoudig en naadloos in mijn CML-simulaties te integreren.

Maar vandaag ben ik terug. En ik wil graag twee nieuwe bijdragen aan de Cisco Modeling Labs (CML)-gemeenschap onthullen, die u direct kunt gebruiken:

  1. Een CML-knooppunt en afbeeldingsdefinitie voor een NetBox-server
  2. CML2NetBox, een Python-hulpprogramma dat NetBox automatisch vult op basis van een CML-lab

Laten we in elk van deze opties duiken en kijken hoe ze werken!

NetBox-serverknooppunt voor Cisco Modeling Labs

Niet elk CML-netwerk dat ik bouw heeft een NetBox-server nodig, maar wanneer ik aan een nieuw netwerkautomatiseringsproject werk of aan iets waarbij ik een replica (of een nauwe replica) van ons productienetwerk moet bouwen, een ‘digitale neef’, om zo te zeggen, wil ik een bron van waarheid hebben, gevuld met netwerksimulatiegegevens.

In het verleden heb ik NetBox handmatig gevuld met gegevens met behulp van API’s, scripts of CSV-importen. Deze opties zijn echter niet geweldig en maakten geen deel uit van het lab zelf. Dit is waar deze nieuwe definitie van een knooppunt in het spel komt.

Nu kan ik eenvoudig het knooppunt “NetBox” naar de topologie slepen en configureren om automatisch te vullen vanuit dezelfde CML-labdefinitie.

Het nieuwe NetBox-knooppunt voor CML bekijken in de web-GUI
NetBox toevoegen aan een netwerktopologie in CML

Start vervolgens eenvoudigweg het lab en het knooppunt leest de CML-labinformatie en maakt automatisch sites, apparaten, IP-adressen en zelfs kabels aan die interfaces verbinden met alle knooppunten in de topologie.

Toont de NetBox-webinterface met gegevens die automatisch worden ingevuld door CMLToont de NetBox-webinterface met gegevens die automatisch worden ingevuld door CML
NetBox-gegevens komen overeen met de CML-topologie

Best schattig, toch? Voor degenen onder u die geïnteresseerd zijn in enkele technische details, laten we er wat dieper op ingaan.

Ten eerste de knooppuntdefinitie of, preciezer gezegd, het bestand definitie van het beeld die werd gebouwd en gedeeld, is gebaseerd op de Alpine 3.21-afbeelding die is opgenomen in het CML 2.9-referentieplatform. Het NetBox-Docker-project werd vervolgens gebruikt om NetBox Community v4.4.5 te implementeren.

Deze NetBox-server is ontworpen om binnen CML te draaien als onderdeel van laboratoriumtopologieën en ik wilde dat deze heel gemakkelijk te gebruiken zou zijn in deze laboratoria. Dus maakte ik een aantal “radende” keuzes in de configuratie.

Om af te stemmen op andere standaardreferenties voor knooppunten binnen CML, is de NetBox-beheerder vooraf aangemaakt met een gebruikersnaam en wachtwoord van cisco.

Ik heb ook een API-token gemaakt”0123456789012345678901234567890123456789” voor deze gebruiker. (U kunt deze standaardgegevens wijzigen nadat u het knooppunt hebt gestart, maar als u over een beheerdersaccount en API-toegang beschikt wanneer u het knooppunt start, kunt u meteen aan de slag met uw netwerkautomatiseringswerkzaamheden zonder dat u NetBox zelf hoeft in te stellen.)

Ook heb ik vooraf een bestand samengesteld Producent genaamd “LMC” samen met Soorten apparaten voor elk van de CML-knooppunttypen in het referentieplatform, evenals verschillende aanvullende knooppuntdefinities uit de cml-gemeenschap en voor mijn eigen gebruik. Als u ze vooraf maakt, wordt het toevoegen van apparaten aan NetBox versneld. Als u echter een knooppuntdefinitie heeft die NIET in de basisimage is opgenomen, hoeft u zich geen zorgen te maken. De code die NetBox vult, zal dynamisch nieuwe creëren Soorten apparaten indien nodig.

Hoewel ik eraan heb gewerkt om het gebruik van het NetBox-knooppunt zo eenvoudig mogelijk te maken, zijn er vereisten om het aan een lab toe te voegen, zodat het toegang heeft tot de CML-labgegevens om de NetBox te vullen. Ik heb volledige details verstrekt in de CML Community README voor het knooppunt en moedig u aan deze te lezen wanneer u het nieuwe knooppunt op uw CML-server instelt. Ik zal hier ook de hoogtepunten bespreken.

Om te beginnen heeft het NetBox-knooppunt connectiviteit nodig met de REST API van de CML-server via een “foreign connector”-knooppunt. Het kan een bridge zijn of een NAT-gebaseerde externe connector; Voor een op NAT gebaseerde connector moet u echter eerst een firewallregel bijwerken in de CML Cockpit-interface. Volledige details over de gevraagde wijziging en waarom zijn gedocumenteerd in de README.

Vervolgens moet u de standaard CONFIG voor het knooppunt bijwerken met de details voor uw CML-server en het lab waarmee u wilt synchroniseren. De standaard Dag 0-configuratie die bij het knooppunt wordt geleverd, bevat gedetailleerde opmerkingen die ik heb achtergelaten om gebruikers te helpen de opties te begrijpen en hoe ze het knooppunt moeten gebruiken. U vindt optionele blokken om de netwerkconfiguratie van de server aan te passen, maar om NetBox automatisch vanuit CML te vullen, moet u commentaar verwijderen en details opgeven voor een aantal omgevingsvariabelen.

# export VIRL2_URL=
# export VIRL2_USER=admin
# export VIRL2_PASS=1234QWer
# export VIRL2_VERIFY_SSL=False
# export LAB_NAME="My CML Lab"

Deze waarden zijn nodig omdat, hoewel de NetBox-server op de CML-server draait, het knooppunt deze details over de server niet automatisch kan “weten”. We bieden ze vervolgens aan als ENV’s, zodat scripts die verbinding maken met CML het adres, de inloggegevens kennen en met welk lab op de CML-server ze moeten synchroniseren. Ik verwacht dat je synchroniseert met hetzelfde lab waarop het NetBox-knooppunt draait, maar dat is niet nodig. U kunt elk lab vanaf de CML-server synchroniseren.

Over scripts gesproken: aan het einde van de installatie ziet u verwijzingen naar twee scripts. Deze scripts zorgen er eerst voor dat NetBox actief is en maken vervolgens verbinding en synchroniseren vanuit CML. De uitvoer van beide scripts wordt op het knooppunt opgeslagen in twee logbestanden die u kunt bekijken nadat het knooppunt klaar is met opstarten. Maak eenvoudig verbinding met de NetBox-serverconsole en bekijk de inhoud van de bestanden.

((.venv) ) netbox-server:~$ cat startup_log.txt 

Checking if NetBox ( is responding...
Site not responding, waiting 5 seconds... .

Site reageert niet, wacht 5 seconden... (poging 14/48)
Site reageert! (poging 15)

Controleren of CML Controller bereikbaar is...
Site reageert! (poging 1)

VIRL2 omgevingsvariabelen schrijven naar /home/cisco/.profile...
Poging om topologie te synchroniseren met NetBox...
🔄 Starten van lab topologie synchronisatie...
📡 CML Server:
🗄️ NetBox Server:
🧪 Lab Naam: Voorbeeld NetBox Server Topologie

Lab synchronisatie begint nu.
Toevoegen van 6 knooppunten van CML lab 'Voorbeeld NetBox Server Topologie' aan NetBox
📊 Verwerkte 5/6 apparaten...
Kabels toevoegen voor 6 knooppunten van CML lab 'Voorbeeld NetBox Server Topologie' aan NetBox
📊 Verwerkte kabels voor 5/6 apparaten...

Topologie succesvol gesynchroniseerd.

Terwijl je op de console zit, kun je zo opnieuw synchroniseren.

((.venv) ) netbox-server:~$ cml2netbox sync lab

🔄 Starten van lab topologie synchronisatie...
📡 CML Server:
🗄️ NetBox Server:
🧪 Lab Naam: Voorbeeld NetBox Server Topologie

Lab synchronisatie begint nu.
Toevoegen van 7 knooppunten van CML lab 'Voorbeeld NetBox Server Topologie' aan NetBox
📊 Verwerkte 5/7 apparaten...
Kabels toevoegen voor 7 knooppunten van CML lab 'Voorbeeld NetBox Server Topologie' aan NetBox

Je vraagt je misschien af waarom je opnieuw zou willen synchroniseren? Als je na het opstarten meer knooppunten aan de CML-topologie toevoegt of koppelingen tussen apparaten toevoegt, worden deze wijzigingen automatisch aan NetBox toegevoegd. Als je knooppunten of kabels hebt verwijderd, zal het script deze niet verwijderen; je zult ze handmatig moeten verwijderen.

En je vraagt je misschien zelfs af wat cml2netbox is? Welnu, dat is de onderliggende 'magie' die ervoor zorgt dat dit knooppunt werkt. En daar gaan we het hierna over hebben! Het kost me slechts 3 maanden om daar te komen 😉

Hoe dan ook, ik hoop dat je genoten hebt van deze blogpost en nog meer dat je profiteert van een of beide opties die ik heb gedeeld.

Als je nog niet bekend bent met CML, raadpleeg dan de Inleiding tot netwerksimulaties met Cisco Modeling Labs | CMLLAB-leertraject op Cisco U. Je kunt ook snel en eenvoudig aan de slag met Cisco Modeling Labs - Free Edition.

Tot de volgende keer!

Meld je aan voor Cisco U. | Sluit je vandaag nog gratis aan bij het Cisco Learning Network.

Leer met Cisco
| Discussies | Facebook | LinkedIn | Instagram | YouTube

Gebruik #CiscoU en #CiscoCert om deel te nemen aan het gesprek.

Breng uw laboratorium tot leven met Cisco Modeling Labs en AI-aangedreven MCP

Het gebruik van CI/CD-pijplijnen voor infrastructuurconfiguratie en -beheer

.

BRON

Paul Arends

Paul Arends

“Ik ben Paul Arends, afgestudeerd in Bedrijfskunde aan de Universidad Complutense en met een master in Personeelsmanagement en Organisatieontwikkeling aan ESIC. Ik ben geïnteresseerd in netwerken en social media en richt mijn professionele ontwikkeling op talentmanagement en organisatieverandering.”

Verwante vermeldingen

Het Dream Team bereidt zich voor op Super Bowl LX.

De Super Bowl LX staat op het punt een van de grootste Amerikaanse sportevenementen van het jaar te worden. Meer dan 70.000 fans zullen naar het Levi’s® Stadium komen en…

AIUC-1 implementeert Cisco’s AI-beveiligingsframework

Deze blog is mede geschreven door Amy Chang, Hyrum Anderson, Rajiv Dattani en Rune Kvist. We zijn verheugd om Cisco aan te kondigen als technisch medewerker AIUC-1. De standaard zal…

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Ben je verdwaald?

Sociaal netwerk voor AI-agenten nu beschikbaar

Sociaal netwerk voor AI-agenten nu beschikbaar

Grootste hits van Bad Bunny’s Super Bowl LX Halftime Show op Apple Music

Grootste hits van Bad Bunny’s Super Bowl LX Halftime Show op Apple Music

Anker Nano 45W-oplader met Smart Display voor slechts $ 30

Anker Nano 45W-oplader met Smart Display voor slechts $ 30

Ford toont technologische hoogstandjes in $30.000 elektrische pick-up

Ford toont technologische hoogstandjes in $30.000 elektrische pick-up

Google breidt AirDrop-ondersteuning uit naar meer Android-apparaten

Google breidt AirDrop-ondersteuning uit naar meer Android-apparaten

Vivo maakt van Valentijnsdag een dag vol liefde met de V60 Lite

Vivo maakt van Valentijnsdag een dag vol liefde met de V60 Lite