Teruggaan

BGP-configuratie op schaal automatiseren

NB auteur by Philip Gervasi 10-2018-XNUMX

Het handmatig configureren van de specifieke attributen van BGP-peers op tientallen routers heeft geen zin meer. Het heeft minder zin om het op grote schaal te doen. Veel van de kosten die gepaard gaan met het onderhouden van een bedrijfsnetwerk zijn operationele kosten, dus waarom besteden we nog steeds zoveel tijd aan taken die serverbeheerders decennia geleden hebben bedacht om te automatiseren?

Een van de sterke punten van het Border Gateway Protocol, of BGP, is dat het zeer goed kan worden afgesteld omdat er veel instellingen en configuratie-opties beschikbaar zijn voor een technicus. BGP verschilt van andere routeringsprotocollen doordat het een padvector is in plaats van een afstandsvector of linkstatus. Dat betekent dat BGP beslissingen over padselectie kan nemen op basis van meer factoren dan een typische IGP zoals OSPF of EIGRP.

Vanwege de afstembaarheid heeft BGP zijn weg gevonden van het WAN naar het datacenter als een manier om serverracks of zelfs individuele servers te segmenteren in afzonderlijke laag 3-domeinen. Bedenk dat op één robuuste ESXi-host tientallen servers tegelijkertijd kunnen draaien. BGP is niet alleen alomtegenwoordig in het WAN, het wordt ook een standaard in het datacenter.

NetBrain automatiseert wat we jarenlang handmatig deden. De oude manier klopt niet meer, en dat heeft het ook nooit gedaan.

 

Of een ingenieur nu BGP gebruikt in het datacenter om naar individuele hypervisors te routeren of in het WAN om naar netwerken over de hele wereld te routeren, de configuratie kan zeer snel complex worden. Een algemeen netwerkontwerp is bijvoorbeeld het gebruik van BGP met meerdere protocollen via een MPLS-kern met behulp van meerdere VRF's en een of meer IGP's met routeherverdeling. In een groot netwerk kan dit letterlijk honderden regels code per router worden om peers te maken, voorvoegsels correct te adverteren, verbindingen te beveiligen en verkeer door te geven via specifieke paden.

Stel je voor dat je dit soort configuratie naar router na router kopieert en precies moet onthouden welk IP-adres moet worden gewijzigd, welke loopback moet worden gebruikt, welke ACL's moeten worden omgedraaid en welke prefixlijsten moeten worden gewijzigd. Automatisering maakt dit proces aanzienlijk efficiënter en zonder het risico dat gepaard gaat met een wazige ingenieur die naar een paar dozijn PuTTY-vensters staart.

We lopen tegen hetzelfde probleem aan bij het bouwen van een volledig mesh iBGP-netwerk op schaal. Elke afzonderlijke BGP-luidspreker in de volledige mesh heeft de volledige configuratie nodig. Wanneer u de complexiteit toevoegt van extra routeringsprotocollen die nodig zijn voor bereikbaarheid, wordt dit een avontuur in kopiëren en plakken.

Uitdagingen bij het automatiseren van BGP

In extreem grote netwerken kan een team van een IT-afdeling een paar scherpe technici hebben die on-box EEM-scripts of off-box Python-scripts gebruiken. Historisch gezien hebben de meeste netwerkapparaten echter niet veel ondersteund op het gebied van on-box of off-box programmeeropties, dus netwerkautomatisering is nooit van de grond gekomen.

Dit is echter eindelijk aan het veranderen. Al een tijdje verlangen netwerkoperators naar een eenvoudigere manier om grote aantallen apparaten met complexe configuraties te configureren, en leveranciers reageren eindelijk. Hoewel dit geweldig nieuws is, zijn er enkele grote hindernissen die moeten worden genomen.

  1. Ten eerste draaien de meeste netwerken op verschillende platforms, waaronder enkele oudere apparaten en apparaten van meerdere leveranciers. Het maken van scripts van eigen bodem om dit soort omgevingen te beheren, is op zijn zachtst gezegd een uitdaging, en zoals elke programmeur weet, wordt het onderhouden van die scripts door middel van hardwarevernieuwingen en netwerkveranderingen vaak verwaarloosd.
  2. Ten tweede, zelfs als een netwerk slechts een klein aantal platforms van dezelfde leverancier gebruikt, kan er nog steeds een behoorlijk verschil zijn in programmeeropties van softwareversie tot softwareversie. apparaat naar apparaat. Cisco's NX-OS biedt bijvoorbeeld ingebouwde Python en bash, evenals open API's. Cisco IOS-XE beweegt zich in die richting, maar het is nog niet waar NX-OS is.
  3. Ten derde, de enorme kosten van ontwikkelaars die nodig zijn om aangepaste scripts te maken en te onderhouden voor het scala aan apparaten die we mogelijk gebruiken, lost het probleem van inefficiëntie en hoge operationele kosten niet op. Sterker nog, het kan het zelfs ergeren. Wat we nodig hebben is een dynamisch oplossing die een verscheidenheid aan platforms, een verscheidenheid aan softwareversies en een verscheidenheid aan programmeeropties dekt.

Dit is waarom ik hou van wat NetBrain doet. Ze bouwen geen eigen switches of netwerkbesturingssystemen: ze richten zich op de overlay om alles – en dan bedoel ik alles – te beheren zonder te lijden onder handmatige configuratie. Daarom zijn ze niet verplicht aan het besturingssysteem van een bepaalde leverancier of aan een bepaald automatiseringsmechanisme. Ingebouwd NetBrain's platform is de mogelijkheid om programmatisch te communiceren met apparaten van tientallen netwerkleveranciers en honderden platforms. En aangezien netwerkleveranciers het paradigma van netwerkautomatisering blijven omarmen, NetBrain's automatiseringsplatform zal alleen maar robuuster worden.

Uitdagingen overwinnen bij het automatiseren van BGP

Bekijk de onderstaande schermafbeelding van een van de ingebouwde geautomatiseerde BGP-workflows, genaamd a Runbook. Merk specifiek op dat met één geautomatiseerde workflow in één Runbook, kan ik eenvoudig verschillende real-time BGP-informatie op veel apparaten tegelijk controleren. Normaal gesproken vereist dit het inloggen op elk apparaat en het één voor één bestuderen van de uitvoer van elk showcommando. De ingebouwde Runbook geeft me ook datzelfde inzicht in het netwerk, maar dan programmatisch. En houd er rekening mee dat dit een standaard ingebouwde is Runbook. U kunt ook aangepaste en veel uitgebreidere workflows maken.

BGP-workflow runbookmet Runbooks, kunt u eenvoudig een verscheidenheid aan real-time BGP-informatie op veel apparaten tegelijk controleren - in plaats van u aan te melden bij elk apparaat en de uitvoer van elk showcommando een voor een te bestuderen.

Dit is allemaal goed en wel, maar een BGP-ontwerp zoals het ontwerp dat ik eerder noemde met laag op laag kan moeilijk te visualiseren zijn, zelfs met al deze uitvoer tot onze beschikking. De meerlaagse Visio-diagrammen waarmee netwerkingenieurs te kampen hebben, helpen ook niet veel, omdat het moeilijk is om zoveel informatie in een bruikbaar diagram te proppen.

NetBrainDe automatiseringsabstractie wordt gevisualiseerd met behulp van Dynamic Maps, een kerntechnologie samen met Runbooks. Dynamic Maps zijn echter geen chique Visio. Ze zijn, zoals de naam al doet vermoeden, dynamisch in die zin dat ze de status van het netwerk in realtime weergeven. Elk knooppunt is interactief, wat betekent dat alle informatie die we normaal gesproken in tabblad na tabblad van een verouderd Visio-diagram proppen, beschikbaar is op één scherm. Van een Dynamic Map een technicus kan nieuwe apparaten ontdekken, bijna direct real-time inzicht krijgen, ingebouwde of aangepaste apparaten uitvoeren Runbooks, of zoom indien nodig in op afzonderlijke apparaten.

Zie hieronder dat iBGP-buren automatisch worden aangeduid met een stippellijn na een geautomatiseerde netwerkdetectie. NetBrain dit gebouwd dynamic map voor u, en elk afzonderlijk item, inclusief links en apparaten, kan verder worden geanalyseerd.

iBGP-kaartIn dit screenshot van NetBrainIn de proefomgeving van BGP worden BGP-buren automatisch aangegeven met een stippellijn na een geautomatiseerde netwerkdetectie.

Als u zich moet concentreren op slechts één enkele router, zoals BGP-R1, hoeft u alleen maar het apparaat te selecteren en BGP-configuratie te kiezen in het menu om een ​​automatische uitvoer te krijgen.

BGP R1-gegevens

Problemen met BGP-buurrelaties oplossen begint meestal met het controleren van configuratiefouten, zoals verkeerd geconfigureerde eBGP-multihop. Zie in de onderstaande afbeelding dat het uitvoeren van de ingebouwde BGP-probleemoplossing Runbook controleert met één klik programmatisch op verschillende veelvoorkomende configuratiefouten op alle apparaten in het netwerk. Hier kunnen we dat zien NetBrain ontdekte een verkeerde configuratie op router BGP-R3.

Fout bij verkeerde configuratie van BGP

Hoewel BGP een hele klus kan zijn om te configureren en problemen op te lossen, is het niettemin een zeer krachtig routeringsprotocol en zal het waarschijnlijk niet snel worden vervangen. Het feit dat het zo aanpasbaar is, maakt het erg handig, vooral op schaal. We hebben alleen een betere manier nodig om het te beheren.

Experimenteren met NetBrain's kerntechnologieën met behulp van de Onmiddellijke proef om uit de eerste hand te zien hoe automatisering de werking van bedrijfsnetwerken kan veranderen. De BGP-labs zijn lang niet zo eng als het voorbeeld dat ik eerder gaf, maar ze laten wel zien hoe krachtig Dynamic Maps en Runbooks zijn bij het beheren van een BGP-domein.

NetBrain automatiseert wat we jarenlang handmatig deden. De oude manier klopt niet meer, en dat heeft het ook nooit gedaan. Automatisering door Dynamic Maps en Runbooks vermindert de operationele kosten van het beheer van een enterprise WAN waarop BGP draait, zonder de voordelen van ons meest geliefde routeringsprotocol te verliezen.

Relevant