Netzwierkautomatiséierung. E Fall aus sengem Liewen

Hey Habr!

An dësem Artikel wëlle mir iwwer d'Automatiséierung vun der Netzwierkinfrastruktur schwätzen. En Aarbechtsdiagramm vum Netz, deen an enger klenger awer ganz houfreg Firma funktionnéiert, gëtt presentéiert. All Matcher mat real Reseau Equipement sinn zoufälleg. Mir wäerten e Fall kucken, deen an dësem Netz geschitt ass, wat zu enger laanger Zäit e Business Shutdown a eeschte finanzielle Verloschter gefouert hätt. D'Léisung vun dësem Fall passt ganz gutt an d'Konzept vun "Automatisatioun vun der Netzwierkinfrastruktur". Mat Hëllef vun Automatisatiounsinstrumenter wäerte mir weisen wéi Dir komplex Probleemer a kuerzer Zäit effektiv léise kënnt, a mir wäerte reflektéieren firwat dës Probleemer sou geléist solle ginn an net anescht (iwwer d'Konsol).

Verzichterklärung

Eis Haaptinstrumenter fir Automatiséierung sinn Ansible (als Automatisatiounsinstrument) a Git (als Repository fir Ansible Playbooks). Ech wëll direkt reservéieren datt dëst keen Aféierungsartikel ass, wou mir iwwer d'Logik vun Ansible oder Git schwätzen, an erkläre Grondsaachen (zum Beispill, wat sinn roletaskimodules, Inventardateien, Variablen an Ansible, oder wat geschitt wann Dir gitt de Git Push oder Git commit Kommandoen). Dës Geschicht ass net iwwer wéi Dir Ansible praktizéieren an NTP oder SMTP op Ärem Ausrüstung konfiguréieren. Dëst ass eng Geschicht iwwer wéi Dir séier an am léifsten en Netzwierkproblem ouni Feeler léise kënnt. Et ass och ubruecht e gutt Verständnis ze hunn wéi d'Netzwierk funktionnéiert, besonnesch wat den TCP/IP, OSPF, BGP Protokoll Stack ass. Mir huelen och d'Wiel vun Ansible a Git aus der Equatioun. Wann Dir nach ëmmer eng spezifesch Léisung muss wielen, empfeelen mir Iech d'Buch "Network Programmability and Automation" ze liesen. Skills for the Next-Generation Network Engineer" vum Jason Edelman, Scott S. Lowe a Matt Oswalt.

Elo zum Punkt.

Problemerklärung

Stellt eis eng Situatioun vir: 3 Auer moies schléift Dir séier an dreemt. Telefon uruff. Den techneschen Direkter rifft:

- Jo?
— ###, ####, #####, de Firewall-Cluster ass gefall a klëmmt net!!!
Dir reift Är Aen, probéiert ze verstoen wat geschitt a stellt Iech vir wéi dat iwwerhaapt geschéie kéint. Um Telefon héiert Dir d'Hoer um Kapp vum Direkter räissen, an hie freet zréck ze ruffen, well de Generol him op der zweeter Linn rifft.

Eng hallef Stonn méi spéit hues du déi éischt Aféierungsnotizen aus der Pflichtschicht gesammelt, jiddereen erwächt deen erwächt ka ginn. Als Resultat huet den techneschen Direkter net gelunn, alles ass wéi et ass, den Haaptcluster vu Firewalls ass gefall, a keng grondleeënd Kierperbeweegunge bréngen hien zu Sënn. All d'Servicer déi d'Firma bitt funktionnéieren net.

Wielt e Problem op Äre Goût, jidderee wäert eppes anescht erënneren. Zum Beispill, no engem Iwwernuechtungsupdate an der Verontreiung vun enger schwéierer Belaaschtung, huet alles gutt geschafft, a jiddereen ass glécklech an d'Bett gaang. Den Traffic huet ugefaang ze fléissen, an d'Interfacebuffer hunn ugefaang ze iwwerlafen wéinst engem Feeler am Netzkaart Chauffer.

Jackie Chan kann d'Situatioun gutt beschreiwen.

Netzwierkautomatiséierung. E Fall aus sengem Liewen

Merci, Jackie.

Net eng ganz agreabel Situatioun, ass et?

Loosst eis eise Réseau Brudder mat sengen traureg Gedanken fir eng Zäit verloossen.

Loosst eis diskutéieren wéi d'Evenementer weider entwéckelen.

Mir proposéieren déi folgend Uerdnung vun der Presentatioun vum Material

  1. Loosst eis d'Netz Diagramm kucken a kucken wéi et funktionnéiert;
  2. Mir wäerte beschreiwen wéi mir Astellunge vun engem Router op en aneren iwwerdroen mat Ansible;
  3. Loosst eis iwwer d'Automatisatioun vun der IT-Infrastruktur als Ganzt schwätzen.

Netzwierk Diagramm a Beschreiwung

De Schema

Netzwierkautomatiséierung. E Fall aus sengem Liewen

Loosst eis de logesche Diagramm vun eiser Organisatioun betruechten. Mir wäerten keng spezifesch Ausrüstungshersteller nennen; fir den Zweck vun dësem Artikel ass et egal (Den opmierksam Lieser wäert roden wéi eng Ausrüstung benotzt gëtt). Dëst ass just ee vun de gudde Virdeeler fir mat Ansible ze schaffen; beim Opbau ass mir allgemeng egal wéi eng Ausrüstung et ass. Just fir ze verstoen, dëst ass Ausrüstung vu bekannte Verkeefer, wéi Cisco, Juniper, Check Point, Fortinet, Palo Alto ... Dir kënnt Är eegen Optioun ersetzen.

Mir hunn zwou Haaptaufgaben fir de Verkéier ze bewegen:

  1. Assuréieren d'Publikatioun vun eise Servicer, déi d'Geschäft vun der Firma sinn;
  2. Bitt Kommunikatioun mat Filialen, engem Remote-Datenzentrum an Drëtt-Partei-Organisatiounen (Partner a Clienten), wéi och Zougang vu Filialen zum Internet duerch den Zentralbüro.

Loosst eis mat de Basiselementer ufänken:

  1. Zwee Grenz Router (BRD-01, BRD-02);
  2. Firewall Cluster (FW-CLUSTER);
  3. Kär schalt (L3-CORE);
  4. E Router deen e Rettungslinn gëtt (wéi mir de Problem léisen, wäerte mir d'Netzwierk Astellunge vum FW-CLUSTER op EMERGENCY transferéieren) (EMERGENCY);
  5. Schalter fir Netzwierkinfrastrukturmanagement (L2-MGMT);
  6. Virtuell Maschinn mat Git an Ansible (VM-AUTOMATION);
  7. E Laptop op deem Testen an Entwécklung vu Playbooks fir Ansible (Laptop-Automation) duerchgefouert gëtt.

D'Netzwierk ass mat engem dynamesche OSPF Routingprotokoll mat de folgende Beräicher konfiguréiert:

  • Beräich 0 - Beräich datt Router verantwortlech fir Plënneren Verkéier an der EXCHANGE Zone enthält;
  • Beräich 1 - Beräich datt Router verantwortlech fir de Fonctionnement vun Firma Servicer ëmfaasst;
  • Beräich 2 - Beräich datt Router verantwortlech fir Routing Gestioun Verkéier enthält;
  • Beräich N - Beräicher vun Filial Netzwierker.

Op Grenzrouter gëtt e virtuelle Router (VRF-INTERNET) erstallt, op deem eBGP voll Vue mat der entspriechender zougewisener AS installéiert ass. iBGP ass tëscht VRFs konfiguréiert. D'Firma huet e Pool vu wäiss Adressen déi op dësen VRF-INTERNET publizéiert ginn. E puer vun de wäiss Adressen ginn direkt op FW-CLUSTER geréckelt (Adressen op deenen d'Servicer vun der Firma funktionnéieren), e puer ginn duerch d'EXCHANGE Zone geréckelt (intern Firmeservicer déi extern IP Adressen erfuerderen, an extern NAT Adresse fir Büroen). Als nächst geet de Verkéier op virtuelle Router erstallt op L3-CORE mat wäiss a gro Adressen (Sécherheetszonen).

De Managementnetz benotzt engagéierte Schalteren a stellt e kierperlecht dedizéierten Netzwierk duer. D'Verwaltungsnetz ass och a Sécherheetszonen opgedeelt.
Den EMERGENCY Router duplizéiert kierperlech a logesch den FW-CLUSTER. All Interfaces op et sinn behënnert ausser déi, déi an de Managementnetz kucken.

Automatioun a seng Beschreiwung

Mir hunn erausfonnt wéi d'Netz funktionnéiert. Loosst eis elo e Schrëtt-fir-Schrëtt kucken wat mir maache fir de Traffic vum FW-CLUSTER op EMERGENCY ze transferéieren:

  1. Mir deaktivéieren d'Interfaces op de Kärschalter (L3-CORE) déi et mam FW-CLUSTER verbannen;
  2. Mir deaktivéieren d'Schnëttplazen op der L2-MGMT Kärelschalter, déi et mam FW-CLUSTER verbannen;
  3. Mir konfiguréieren den EMERGENCY Router (par défaut sinn all Interfaces dorop behënnert, ausser déi mat L2-MGMT assoziéiert):

  • Mir erméiglechen Interfaces op EMERGENCY;
  • Mir konfiguréieren déi extern IP Adress (fir NAT) déi op der FW-Cluster war;
  • Mir generéieren gARP Ufroen sou datt de Poppy Adressen an der L3-CORE arp Dëscher aus FW-Cluster zu EMERGENCY geännert ginn;
  • Mir aschreiwen der Default Wee als statesch ze BRD-01, BRD-02;
  • Schafen NAT Regelen;
  • Erhéijung op EMERGENCY OSPF Area 1;
  • Erhéijung op EMERGENCY OSPF Area 2;
  • Mir änneren d'Käschte vun routes am Area 1 ze 10;
  • Mir änneren d'Käschte vun der Default Streck am Area 1 ze 10;
  • Mir änneren d'IP Adressen verbonne mat L2-MGMT (zu deenen, déi op FW-CLUSTER waren);
  • Mir generéieren gARP Ufroen sou datt de Poppy Adressen an der L2-MGMT arp Dëscher vun FW-CLUSTER zu EMERGENCY geännert ginn.

Erëm, mir zréck op déi ursprénglech Formuléierung vum Problem. Dräi Auer moies, enorme Stress, e Feeler an all Etapp kann zu neie Problemer féieren. Prett Kommandoen iwwer de CLI ze tippen? Jo? Ok, gitt op d'mannst d'Gesiicht wäschen, drénken Kaffi a sammelen Äre Wëllen.
Bruce, hëllef w.e.g. de Kärelen.

Netzwierkautomatiséierung. E Fall aus sengem Liewen

Gutt, mir weiderhin eis Automatisatioun verbesseren.
Drënner ass en Diagramm wéi d'Spillbuch an Ansible Konditioune funktionnéiert. Dëse Schema reflektéiert dat wat mir just uewen beschriwwen hunn, et ass just eng spezifesch Implementatioun an Ansible.
Netzwierkautomatiséierung. E Fall aus sengem Liewen

Op dëser Etapp hu mir gemierkt wat muss gemaach ginn, e Spillbuch entwéckelt, Tester gemaach, an elo si mir prett et ze lancéieren.

Eng aner kleng lyresch Digression. D'Liichtegkeet vun der Geschicht sollt Iech net täuschen. De Prozess fir Spillbicher ze schreiwen war net sou einfach a séier wéi et schéngt. Testen huet zimlech vill Zäit gedauert, e virtuelle Stand gouf erstallt, d'Léisung gouf vill Mol getest, ongeféier 100 Tester goufen duerchgefouert.

Loosst eis lancéieren ... Et gëtt d'Gefill datt alles ganz lues geschitt, iergendwou e Feeler ass, eppes wäert um Enn net funktionnéieren. D'Gefill mat engem Fallschierm ze sprangen, awer de Fallschierm wëll net direkt opmaachen ... dat ass normal.

Als nächst liesen mir d'Resultat vun den duerchgefouerten Operatiounen vum Ansible Playbook (d'IP Adresse goufen fir Geheimniszwecker ersat):

[xxx@emergency ansible]$ ansible-playbook -i /etc/ansible/inventories/prod_inventory.ini /etc/ansible/playbooks/emergency_on.yml 

PLAY [------->Emergency on VCF] ********************************************************

TASK [vcf_junos_emergency_on : Disable PROD interfaces to FW-CLUSTER] *********************
changed: [vcf]

PLAY [------->Emergency on MGMT-CORE] ************************************************

TASK [mgmt_junos_emergency_on : Disable MGMT interfaces to FW-CLUSTER] ******************
changed: [m9-03-sw-03-mgmt-core]

PLAY [------->Emergency on] ****************************************************

TASK [mk_routeros_emergency_on : Enable EXT-INTERNET interface] **************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Generate gARP for EXT-INTERNET interface] ****************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Enable static default route to EXT-INTERNET] ****************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change NAT rule to EXT-INTERNET interface] ****************
changed: [m9-04-r-04] => (item=12)
changed: [m9-04-r-04] => (item=14)
changed: [m9-04-r-04] => (item=15)
changed: [m9-04-r-04] => (item=16)
changed: [m9-04-r-04] => (item=17)

TASK [mk_routeros_emergency_on : Enable OSPF Area 1 PROD] ******************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Enable OSPF Area 2 MGMT] *****************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change OSPF Area 1 interfaces costs to 10] *****************
changed: [m9-04-r-04] => (item=VLAN-1001)
changed: [m9-04-r-04] => (item=VLAN-1002)
changed: [m9-04-r-04] => (item=VLAN-1003)
changed: [m9-04-r-04] => (item=VLAN-1004)
changed: [m9-04-r-04] => (item=VLAN-1005)
changed: [m9-04-r-04] => (item=VLAN-1006)
changed: [m9-04-r-04] => (item=VLAN-1007)
changed: [m9-04-r-04] => (item=VLAN-1008)
changed: [m9-04-r-04] => (item=VLAN-1009)
changed: [m9-04-r-04] => (item=VLAN-1010)
changed: [m9-04-r-04] => (item=VLAN-1011)
changed: [m9-04-r-04] => (item=VLAN-1012)
changed: [m9-04-r-04] => (item=VLAN-1013)
changed: [m9-04-r-04] => (item=VLAN-1100)

TASK [mk_routeros_emergency_on : Change OSPF area1 default cost for to 10] ******************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change MGMT interfaces ip addresses] ********************
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n.254', u'name': u'VLAN-803'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+1.254', u'name': u'VLAN-805'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+2.254', u'name': u'VLAN-807'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+3.254', u'name': u'VLAN-809'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+4.254', u'name': u'VLAN-820'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+5.254', u'name': u'VLAN-822'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+6.254', u'name': u'VLAN-823'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+7.254', u'name': u'VLAN-824'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+8.254', u'name': u'VLAN-850'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+9.254', u'name': u'VLAN-851'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+10.254', u'name': u'VLAN-852'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+11.254', u'name': u'VLAN-853'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+12.254', u'name': u'VLAN-870'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+13.254', u'name': u'VLAN-898'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+14.254', u'name': u'VLAN-899'})

TASK [mk_routeros_emergency_on : Generate gARPs for MGMT interfaces] *********************
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n.254', u'name': u'VLAN-803'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+1.254', u'name': u'VLAN-805'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+2.254', u'name': u'VLAN-807'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+3.254', u'name': u'VLAN-809'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+4.254', u'name': u'VLAN-820'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+5.254', u'name': u'VLAN-822'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+6.254', u'name': u'VLAN-823'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+7.254', u'name': u'VLAN-824'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+8.254', u'name': u'VLAN-850'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+9.254', u'name': u'VLAN-851'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+10.254', u'name': u'VLAN-852'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+11.254', u'name': u'VLAN-853'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+12.254', u'name': u'VLAN-870'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+13.254', u'name': u'VLAN-898'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+14.254', u'name': u'VLAN-899'})

PLAY RECAP ************************************************************************

Gemaach!

Tatsächlech ass et net ganz fäerdeg, vergiesst net iwwer d'Konvergenz vun dynamesche Routingprotokoller an d'Luede vun enger grousser Zuel vu Strecken an de FIB. Mir kënnen dat op kee Fall beaflossen. Mir waarden. Et huet geklappt. Elo ass et fäerdeg.

An am Duerf Vilabajo (wat den Netzopbau net wëllt automatiséieren) wäschen se weider. Bruce (zouginn, schonn anescht, awer net manner cool) probéiert ze verstoen wéi vill méi manuell Rekonfiguratioun vun der Ausrüstung stattfënnt.

Netzwierkautomatiséierung. E Fall aus sengem Liewen

Ech wëll och op ee wichtege Punkt ophalen. Wéi kënne mir alles zréck kréien? No enger Zäit bréngen mir eise FW-CLUSTER erëm an d'Liewen. Dëst ass d'Haaptrei Equipement, net Backupsatellit, de Reseau muss op et lafen.

Fillt Dir wéi Netzwierker ufänken ze verbrennen? Den techneschen Direkter héiert dausend Argumenter firwat dat net soll gemaach ginn, firwat dat spéider ka gemaach ginn. Leider ass dëst wéi d'Netzwierk funktionnéiert aus enger Rëtsch Patches, Stécker an Iwwerreschter vu sengem fréiere Luxus. Et stellt sech eraus datt et e Patchwork Quilt ass. Eis Aufgab am Allgemengen, net an dëser spezifescher Situatioun, mä am Allgemengen am Prinzip, als IT Spezialisten, ass d'Aarbecht vum Netz op déi schéin englesch Wuert "Konsistenz" ze bréngen, et ass ganz villsäiteg, et kann iwwersat ginn als: Kohärenz , Konsistenz, Logik, Kohärenz, Systematik, Vergläichbarkeet, Kohärenz. Et geet alles ëm hien. Nëmmen an dësem Zoustand ass d'Netz verwaltbar, mir verstinn kloer wat funktionnéiert a wéi, mir verstinn kloer wat muss geännert ginn, wann néideg, mir wësse kloer wou mir kucken wa Problemer entstinn. An nëmmen an esou engem Netz kënnt Dir Tricken maachen wéi déi, déi mir just beschriwwen hunn.

Eigentlech gouf en anert Spillbuch virbereet, wat d'Astellungen an hiren ursprénglechen Zoustand zréckginn. D'Logik vu senger Operatioun ass déiselwecht (et ass wichteg ze erënneren datt d'Uerdnung vun den Aufgaben ganz wichteg ass), fir net e schonn zimlech laangen Artikel ze verlängeren, hu mir beschloss net eng Oplëschtung vun der Ausféierung vun der Playbook ze posten. Nodeems Dir esou Übungen gemaach hutt, fillt Dir Iech an Zukunft vill méi roueg a méi zouversiichtlech, ausserdeem wäerten d'Krüchen, déi Dir do opgehuewe hutt, sech direkt opdecken.

Jiddereen kann eis schreiwen an d'Quelle vun all schrëftlech Code kréien, zesumme mat all palybooks. Kontakter am Profil.

Conclusiounen

Eiser Meenung no sinn d'Prozesser déi automatiséiert kënne ginn nach net auskristalliséiert. Baséierend op deem wat mir begéint hunn a wat eis westlech Kollegen diskutéieren, sinn déi folgend Themen bis elo ze gesinn:

  • Bestëmmung vun Apparater;
  • Datensammlung;
  • Berichterstattung;
  • Problemsmoosnamen;
  • Konformitéit.

Wann et Interessi ass, kënne mir d'Diskussioun iwwer ee vun de bestëmmten Themen weiderféieren.

Ech wëll och e bëssen iwwer d'Automatisatioun schwätzen. Wat et soll an eisem Verständnis sinn:

  • De System muss ouni Persoun liewen, wärend vun enger Persoun verbessert gëtt. De System soll net vum Mënsch ofhängeg sinn;
  • Operatioun muss Expert sinn. Et gëtt keng Klass vu Spezialisten déi Routine Aufgaben ausféieren. Et ginn Experten, déi d'ganz Routine automatiséiert hunn an nëmme komplex Problemer léisen;
  • Routine Standardaufgaben ginn automatesch "am Touch vun engem Knäppchen" gemaach, keng Ressourcen verschwenden. D'Resultat vun esou Aufgaben ass ëmmer prévisibel a verständlech.

A wat sollen dës Punkte féieren:

  • Transparenz vun der IT-Infrastruktur (Manner Risiken vun der Operatioun, Moderniséierung, Ëmsetzung. Manner Ausdauer pro Joer);
  • D'Kapazitéit fir IT Ressourcen ze plangen (Kapazitéit-Planungssystem - Dir kënnt gesinn wéi vill verbraucht gëtt, Dir kënnt gesinn wéi vill Ressourcen an engem eenzege System erfuerderlech sinn, an net duerch Bréiwer a Besich an den Top Departementer);
  • Méiglechkeet d'Zuel vun IT Personal ze reduzéieren.

Auteuren vum Artikel: Alexander Chelovekov (CCIE RS, CCIE SP) a Pavel Kirillov. Mir sinn interesséiert fir Léisungen zum Thema IT-Infrastrukturautomatiséierung ze diskutéieren an ze proposéieren.


Source: will.com

Setzt e Commentaire