En av de främsta anledningarna till att köpa ett Cisco DNA Center (DNAC) är att kunna utnyttja fördelarna med automatisering. Många människor associerar DNAC med att distribuera ett SD-Access-nätverk. Det är mycket fokus på SDA nu och Cisco pushar också hårt för det, men DNAC har många andra användningsfall förutom SDA. SDA är faktiskt bara ett program som du kan installera på ett DNAC. Det är inte ens installerat som standard när man driftsätter ett DNAC.
Det här inlägget kommer att ta upp en funktion av DNAC som har funnits länge nu. Det brukade vara en av de främsta anledningarna till varför man skulle använda APIC-EM och har vi turen att att det har migrerats och omdesignats för DNAC. Funktionen är PnP (Plug’n Play). Låt oss titta på fördelarna och funktionerna med denna fantastiska funktion. (Om bildtexten är för liten – högerklicka och ta ”view image”).
Automatisering med Plug and Play i Cisco DNA Center
Detta gör PnP för dig med Cisco DNA Center:
- Erbjuder ZTD (Zero Touch Deployment) av routrar och switchar med:
- Bilduppgradering till en golden image för enheten
- Mallkonfigurering
- Möjlighet att använda nätverksinställningar från Cisco DNA Center
- Möjlighet att lägga till enheter i registret för en specifik webbplats
Arbetsflödet för PnP med DNAC (post 1.2.8) ser ut så här:
Plug and Play-komponenter i Cisco DNA Center
Det är bara några få komponenter som behövs för att få automatisering med PnP att fungera.
Plug and Play-förutsättningar i Cisco DNA Center
Innan du kan börja använda PnP måste du förbereda din miljö. Det finns ett par sätt att få PnP-agenten att upptäcka PnP-servern (i ordning):
- DHCP
- DNS
- Plug and Play Connect
DHCP – använder alternativ 43 för att berätta för PnP-agenten var och hur man pratar med PnP-servern för initial kontakt.
DNS – det andra alternativet om DHCP misslyckas. Enheten kommer att försöka leta upp pnpserver.domain.tld där pnpserver borde anropa din IP-adress förutsatt att ett domännamn delas ut via DHCP och att en DNS-post finns för pnpserver. PnP-agenten kommer också att kontakta pnpntpserver.domain.tld för tidssynkronisering.
Plug and Play Connect – det tredje och sista alternativet. PnP-agenten kommer att försöka kontakta devicehelper.cisco.com för att få IP-adressen till DNAC.
Jag kommer bara att fokusera på DHCP-metoden eftersom det är den första metoden som används.
DHCP-konfigurering
I mitt labb använder jag en Ubuntu Linux-server med isc-dhcp-serverpaketet för DHCP-tjänster. Den har den här konfigurationen i /etc/dhcp/dhcpd.conf
Alternativ 43 Referens
Du måste se till att det finns tillgänglighet mellan DNAC och denna adresspool.
Undvik Vlan1
Om du vill undvika att använda Vlan1, men ändå ha en ledning nedströms kan du konfigurera detta på din uppströmsswitch:
Jag använder en routad port på min ”core”-switch och en IP-hjälpare som pekar på min DHCP-server på 10.0.0.100 (Ubuntu-box).
Steg 1 – Skapa mall för dag 0
När du har konfigurerat din miljö för Zero Touch Deployment av PnP är det dags att börja hantera konfigureringen av DNAC. Det första steget är att skapa en dag 0-mall med mallredigeraren för DNAC.
Mallar med DNAC använder Velocity Template Language (VTL)
Det ger dig möjlighet att definiera variabler i en mall.
DNAC kommer då att be om din inmatning för att fylla i variabeln när du gör anspråk på en enhet för att komma igång. Du kanske vill använda variabler för konfigureringar som måste vara unika för den här enheten.
I skrivande stund stöder DNAC endast vanliga mallar, inte sammansatta mallar för PnP!
Ett exempel på en enkel mall med variabler:
Alla kommandon matas in i konf t-läge. När kommandon utförs förväntas en prompt efter varje kommando. Det komplicerar saken om du vill ange flera rader utan att en prompt returneras efter varje konfigurationsrad. Ett banner är ett exempel. Du kan också få svara på frågor när du konfigurerar sådant som inte visar den vanliga prompten. Att skapa ett SSH-nyckelpar kan vara ett exempel på detta. Ibland kan du behöva ange saker i exec-läge.
Det finns särskilda nyckelord för att möta den här typen av utmaningar. Här är en lista över dem:
Observera att de är skiftlägeskänsliga, de måste skrivas i VERSALER! För MLTCMD kan du inte börja med ett mellanslag och du måste definiera MLTCMD-taggarna på separata linjer! För mer avancerad användning, besök Adam Radfords bloggserie om PnP. Speciellt för att använda Velocity för att skapa Plug and Play-mallar i DNA Center – del 4
Glöm inte att spara och bekräfta din ny definierade mall. Om du glömmer att göra det kan du inte använda mallen.
Steg 2 – Nätverksprofil i DNA Center
När du har konfigurerat en ny mall, måste den tilldelas en nätverksprofil. Detta kan konfigureras i avsnittet Design i DNAC. PnP-mallarna är tillagda till OnBoarding Template(s).
Här är ett exempel på en nätverksprofil för switching:
Steg 3 – Lägg till webbplatser i profilen
Du måste ange de webbplatser som nätverksprofilen kan användas av. Det gör du när du har sparat nätverksprofilen. Webbplatser definieras under Network Hierarchy i avsnittet Design i DNAC.
När du tar en enhet i bruk kan du välja mellan de mallar du har kopplat till nätverksprofilen i fråga.
Steg 4 – Lägg till en enhet
Nu kommer vi dit! I det här steget kan vi antingen lägga till enheten genom att använda serienumret innan den kopplas i och slås på. Det skulle kunna kallas en ”planerad” distribution. Om du inte gör det, kommer enheten att visas under Plug and Play-menyn i avsnittet Provision i DNAC som”Initialized”, – redo att tas i bruk.
Steg 5 – Sätt enheten i bruk
Det sista steget där allt sätts samman. När du väljer en enhet och väljer ”Claim”, visas en guide. Här väljer du den webbplats som enheten tillhör. I nästa steg definierar du valfritt en Golden image för den här plattformen och en mall. Sedan anger du variablerna för mallen som gör att DNAC kan skapa den slutliga konfigurationen med din inmatning. Den allra sista sidan i guiden ger dig en överblick över möjligheterna med DNAC för din enhet. Om allt ser bra ut kan du trycka på ”Claim” -knappen och enheten konfigureras och läggs till i DNAC:s register.
Observera att när DNAC har slutfört processen och lagt till enheten i samlingen, kan du inte ta bort den från ”Plug and Play” -menyn. Du måste först ta bort den från Inventory.
Andra överväganden kring automatisering
En del äldre dokumentation av PnP, som lösningsguiden för Cisco Network Plug and Play, säger att under PnP så tillämpas konfigurationen på den konfigurering som körs på enheten. Mina varningsklockor börjar direkt ringa om att man sågar av den gren man sitter på. Vilket innebär att om du ändrar IP-adressen för ett gränssnitt, gör den till en routad port i stället för ett switchport eller kanske bara konfigurerar en VRF på den, så förlorar du omedelbart anslutningen mellan PnP-servern (DNAC) och PnP-agenten (enheten ). Det här är vad du kanske tror, men i verkligheten kan PnP faktiskt hantera detta potentiella problem. Jag har inte hittat någon exakt dokumentation på hur det går till, men det måste vara något sådant här:
- Kommunikation mellan PnP-agenten och DNAC har upprättats och fungerar.
- Konfigurationsmallen levereras till PnP-agenten och lagras i minnet eller i en tillfällig fil i flash.
- Efter att ha fått den kompletta konfigureringen säger enheten ”Tack. Jag kanske är borta lite nu när jag konfigurerar mig själv igen. Vi ses!”
- Enheten tillämpar konfigureringen på den konfiguration som nu körs och om den lyckas kommer den återigen att upprätta anslutning med DNAC och låta det veta att det gick bra.
- DNAC kan nu slutföra onboardingprocessen och lägga till enheten i inventory.
Om du ändrar routingen eller gränssnittet som enheten kommunicerar från med DNAC (källgränssnitt för http) kan du ange den här raden i mallen:
Det säkerställer också att DNAC new använder IP-adressen för detta gränssnitt när du lägger till den i registret. Men, hur vet DNAC att det här är enheten som återvänder för att slutföra onboarding-processen när konfigurationen har ändrats och att den nu kommer från en annan IP-adress? Min gissning är att det alltid innehåller sitt serienummer när du kommunicerar med DNAC.
Felsökning av Plug and Play i DNA Center
Du vill inte ha en ”Plug’n Pray”-känsla när du handskas med PnP. Om du skulle stöta på problem, är det här några av mina erfarenheter.
Det finns ett sätt att specificera andra saker i DHCP-alternativ 43. Detta skulle vara:
Om du gör detta men INTE har kontakt med NTP-servern, vilket är obligatoriskt när du specificerar trustpoolBundleURL, kommer enheten aldrig att ladda ner trustpoolen och därmed inte fortsätta onboardingprocessen. I DNAC ser du OnBoarding State ** Connection Error ** och på enheten själv ser du detta:
När du åtgärdar NTP-åtkomst (routing/brandvägg) ser du detta istället:
Notera asterisken i början av loggutgångarna. De berättar att tidsstämpeln är opålitlig eftersom enheten inte synkroniserats med NTP.
Nu ska PnP-onboarding fortsätta och fungera korrekt!
Om enheten inte kunde slutföra onboarding-processen kommer den att vänta ett tag och sedan försöka återhämta sig genom att backa alla kommandon som den har fått. För att försöka igen måste du återställa enhetens läge i DNA Center först.
Plug and Play-servercertifikat
PnP-agenten tittar bara i SAN-fältet på certifikatet som presenteras av DNAC. Det innebär att DNAC: s IP-adress måste finnas i certifikatets SAN-fält. Som standard kommer DNAC att lägga ALLA IP-adresser inklusive de VIP:adresser som du anger under installationsguiden för DNAC i det självsignerade certifikatet. Du kan kontrollera certifikatet med hjälp av detta i din terminal:
Ytterligare felsökning för Cisco DNA Center
För att ytterligare felsöka PnP med DNA Center har Cisco skapat ett fantastiskt dokument som heter Network Plug and Play Felsökningsguide för Cisco Digital Network Architecture Center, Release 1.2.x
Det sista Onboarding-läget du bör se är Provisionerad.
Rengöring av en enhet
För att börja om med en enhet och få den att utföra PnP igen använder jag dessa kommandon:
Klistra bara in dem på din enhet och ladda om efteråt (utan att spara konfigurationen förstås).
Programmering med Cisco Plug and Play
Ovanstående DNAC GUI-tillvägagångssätt med PnP är bra, men om du verkligen vill ha automatisering och Zero Touch Deployment kanske du vill undersöka hur du programmerar din egen onboarding-applikation. Egentligen har Adam Radford redan skapat script för DNAC-onboarding-verktyg för att komma igång. En genomgång av dem hittar du på hans blogginlägg Cisco DNA Center Plug and Play (PnP) Freewheeling – Del 6. Jag vill också tipsa dig om att titta på Cisco Live preso DEVWKS-2424 av Adam Radford. Se också våra inspelade webinar om Cisco DNA Center ger dig koll och kontroll och Cisco DNA Center – Automation, Analytics och Plattform.
Automatisering med Conscia Netsafe
På Conscia Netsafe har vi fullt fokus på våra kunder, är många är större verksamheter, samt på de senaste Cisco-teknologierna. Detta gör att vi även har god erfarenhet av automatisering av IT-infrastrukturen på olika nivåer. Läs mer här och hör gärna av er när vi kan vara till nytta.
Kodintresserad? Följ vår blogg för info om kommande endags Devnet DNA Centerkurs i oktober!
Jacob Zartmann är en hängiven nätverksexpert med många års erfarenhet inom Ciscos nätverkslösningar, där han särskilt är intresserad av DNA Center med ett särskilt fokus på SD-Access. Jacob har en CCIE-certifiering inom Routing & Switching, som han utökar med en CCIE SP-certifiering. Privat slappnar han av med långa framfotslöpturer. Ovan inlägg är en godkänd översättning från Jacobs blogg.