automation Network. Bûyerek ji jiyana xwe

Hey Habr!

Di vê gotarê de em dixwazin li ser otomatîkkirina binesaziya torê biaxivin. Dê nexşeyek xebatê ya torê ya ku di pargîdaniyek piçûk lê pir serbilind de dixebite were pêşkêş kirin. Hemî maçên bi alavên torê yên rastîn re random in. Em ê li bûyerek ku di vê torê de qewimiye, binihêrin, ku dikaribû bibe sedema girtina karsaziyek ji bo demek dirêj û zirarên darayî yên giran. Çareseriya vê dozê pir baş di têgeha "Xweseriya binesaziya torê" de cîh digire. Bi karanîna amûrên otomasyonê, em ê destnîşan bikin ka hûn çawa dikarin di demek kin de pirsgirêkên tevlihev bi bandor çareser bikin, û em ê bifikirin ka çima divê ev pirsgirêk bi vî rengî û ne wekî din (bi riya konsolê) werin çareser kirin.

Disclaimer

Amûrên me yên sereke ji bo otomasyonê Ansible (wek amûrek otomatê) û Git (wek depoyek ji bo pirtûkên lîstikê yên Ansible) ne. Ez dixwazim tavilê îhtiraz bikim ku ev ne gotarek destpêk e, ku em li ser mantiqa Ansible an Git biaxivin, û tiştên bingehîn rave bikin (mînak, roltaskimodules, pelên envanterê, guherbarên di Ansible de çi ne, an çi diqewime dema ku hûn têkevin fermanên git push an git commit). Ev çîrok ne li ser wê yekê ye ku hûn çawa dikarin Ansible pratîk bikin û NTP an SMTP-ê li ser alavên xwe mîheng bikin. Ev çîrokek e ku hûn çawa dikarin bi lez û bez pirsgirêkek torê bêyî xeletî çareser bikin. Di heman demê de tê pêşniyar kirin ku meriv baş têgihiştinek ka torê çawa dixebite, nemaze ku stûna protokola TCP/IP, OSPF, BGP çi ye. Em ê hilbijartina Ansible û Git jî ji hevkêşeyê derxînin. Heke hûn hîn jî hewce ne ku çareseriyek taybetî hilbijêrin, em pir pêşniyar dikin ku hûn pirtûka "Bernamekirin û Xweseriya Torê" bixwînin. Skills for the Next-Generation Network Engineer" by Jason Edelman, Scott S. Lowe, û Matt Oswalt.

Niha ji bo xala.

Formulkirina pirsgirêkê

Werin em rewşek bifikirin: Saet 3ê sibehê, hûn di xew de ne û xewnan dibînin. Telefona telefonê. Rêveberê teknîkî bang dike:

- Erê?
— ###, ####, #####, komika dîwarê agir ket û ranabe!!!
Hûn çavên xwe dişewitînin, hewl didin ku fêm bikin ka çi diqewime û xeyal bikin ka ev çawa dibe ku biqewime. Li ser têlefonê hûn dibihîzin ku porê serê derhêner diçirîne, û ew daxwaz dike ku vegere ji ber ku general li ser xeta duyemîn gazî wî dike.

Piştî nîv saetê, we yekem notên danasînê yên ji dewreya peywirê berhev kir, her kesê ku dikaribû şiyar bibe şiyar kir. Di encamê de, derhênerê teknîkî derewan nekir, her tişt wekî xwe ye, koma sereke ya dîwarên agir ket, û ti tevgerên laş ên bingehîn wî nahêlin ser hişê xwe. Hemî karûbarên ku pargîdanî pêşkêşî dike ne kar dikin.

Pirsgirêkek bi tama xwe hilbijêrin, her kes dê tiştek cûda bi bîr bîne. Mînakî, piştî nûvekirinek şevekê di nebûna barek giran de, her tişt baş xebitî, û her kes bi kêfxweşî çû razanê. Trafîkê dest pê kir, û tamponên navberê ji ber xeletiyek di ajokera karta torê de dest pê kir.

Jackie Chan dikare rewşê baş vebêje.

automation Network. Bûyerek ji jiyana xwe

Spas dikim, Jackie.

Ne rewşek pir xweş e, ne wusa?

Werin em ji bo demekê dev ji tora xwe berdin bira bi ramanên wî yên xemgîn.

Werin em nîqaş bikin ka dê bûyer çawa pêşde biçin.

Em rêzika jêrîn a pêşkêşkirina materyalê pêşniyar dikin

  1. Ka em li diyagrama torê binêrin û bibînin ka ew çawa dixebite;
  2. Em ê diyar bikin ka em çawa bi karanîna Ansible mîhengan ji routerek veguherînin yekî din;
  3. Ka em bi tevahî li ser otomatîkkirina binesaziya IT-ê biaxivin.

Diagram û şiroveya torê

Scheme

automation Network. Bûyerek ji jiyana xwe

Werin em şemaya mentiqî ya rêxistina xwe bidin ber çavan. Em ê navên hilberînerên alavên taybetî nebêjin; ji bo mebestên vê gotarê ew ne girîng e (Xwendevanê baldar dê texmîn bike ka kîjan amûr tê bikar anîn). Ev tenê yek ji avantajên baş ên xebata bi Ansible re ye; dema sazkirinê, em bi gelemperî ferq nakin ka ew çi celeb amûr e. Tenê ji bo fêmkirinê, ev alavên ji firoşkarên navdar e, wek Cisco, Juniper, Check Point, Fortinet, Palo Alto...hûn dikarin vebijarka xwe biguhezînin.

Ji bo veguheztina trafîkê du karên me yên sereke hene:

  1. Weşana karûbarên me, yên ku karsaziya pargîdaniyê ne, piştrast bikin;
  2. Têkiliya bi şaxan, navendek daneya dûr û rêxistinên sêyemîn (hevkar û xerîdar), û her weha bi navgîniya ofîsa navendî ve gihîştina şaxan ji Înternetê re peyda bikin.

Ka em bi hêmanên bingehîn dest pê bikin:

  1. Du routerên sînor (BRD-01, BRD-02);
  2. Cluster Firewall (FW-CLUSTER);
  3. Guhestina bingehîn (L3-CORE);
  4. Roterek ku dê bibe xetek jiyanê (ku em pirsgirêkê çareser bikin, em ê mîhengên torê ji FW-CLUSTER veguhezînin AWAYÎ) (LEZGÎN);
  5. Veguheztinên ji bo rêveberiya binesaziya torê (L2-MGMT);
  6. Makîneya virtual bi Git û Ansible (VM-AUTOMATION);
  7. Laptopek ku li ser ceribandin û pêşkeftina pirtûkên lîstikê ji bo Ansible (Laptop-Automation) tê kirin.

Tora bi protokola rêveçûna OSPF-ya dînamîkî bi deverên jêrîn ve hatî mîheng kirin:

  • Qada 0 - devera ku rêwerên ku berpirsiyariya guheztina seyrûseferê li devera EXCHANGE vedihewîne;
  • Qada 1 - devera ku rêwerên berpirsiyar ên xebata karûbarên pargîdaniyê vedihewîne;
  • Qada 2 - qada ku di nav xwe de rêwerên berpirsiyar ên rêvekirina seyrûsefera rêvekirinê vedihewîne;
  • Qada N - herêmên torên şaxên.

Li ser rêwerên sînor, rêwerek virtual (VRF-INTERNET) tê afirandin, ku li ser wê dîmena tevahî eBGP bi AS-ya hatî destnîşankirî ya têkildar tê saz kirin. iBGP di navbera VRF-an de tê mîheng kirin. Pargîdanî komek navnîşanên spî hene ku li ser van VRF-INTERNET têne weşandin. Hin navnîşanên spî rasterast ji FW-CLUSTER re têne rêve kirin (navnîşanên ku karûbarên pargîdaniyê li ser wan dixebitin), hin jî di nav devera EXCHANGE (karûbarên pargîdaniya hundurîn ên ku navnîşanên IP-ya derveyî hewce dikin, û navnîşanên NAT-ê yên derveyî ji bo nivîsgehan) têne rêve kirin. Dûv re, seyrûsefer diçe ser routerên virtual ku li L3-CORE bi navnîşanên spî û gewr (herêmên ewlehiyê) hatine afirandin.

Tora Rêvebirê guheztinên veqetandî bikar tîne û torgilokek taybetî ya laşî temsîl dike. Tora rêveberiyê jî li herêmên ewlehiyê hatiye dabeşkirin.
Routera EMERGENCY bi fîzîkî û mentiqî FW-CLUSTER-ê dubare dike. Hemî navgînên li ser wê neçalak in ji bilî yên ku li tora rêveberiyê dinêrin.

Otomasyon û şirovekirina wê

Me fêm kir ku torê çawa dixebite. Naha em gav-gav binihêrin ka em ê çi bikin da ku seyrûseferê ji FW-CLUSTER veguhezînin LEZGER:

  1. Em navberên li ser guheztina bingehîn (L3-CORE) ku wê bi FW-CLUSTER ve girêdidin neçalak dikin;
  2. Em navberên li ser guheztina kernelê L2-MGMT ku wê bi FW-CLUSTER ve girêdidin neçalak dikin;
  3. Em routerê EMERGENCY mîheng dikin (ji hêla xwerû, hemî navbeynkar li ser wê neçalak in, ji bilî yên ku bi L2-MGMT ve girêdayî ne):

  • Em pêwendiyên li ser AWARGERÎ çalak dikin;
  • Em navnîşana IP-ya derve (ji bo NAT) ku li ser FW-Cluster bû mîheng dikin;
  • Em daxwazên gARP-ê çêdikin da ku navnîşanên poppy ên di tabloyên arp ên L3-CORE de ji FW-Cluster-ê bibin EMERGENCY;
  • Em riya xwerû wekî BRD-01, BRD-02 wekî statîk tomar dikin;
  • Rêgezên NAT-ê biafirînin;
  • Rakin Qada 1 OSPF ya AWARTE;
  • Rakin Qada 2 OSPF ya AWARTE;
  • Em lêçûna rêyên li Herêmê 1 ber 10 diguherînin;
  • Em lêçûna riya xwerû ya li Herêmê 1 ber 10 diguherînin;
  • Em navnîşanên IP-yê yên ku bi L2-MGMT ve girêdayî ne diguhezînin (ji yên ku li ser FW-CLUSTER bûn);
  • Em daxwazên gARP-ê diafirînin da ku navnîşanên poppy di tabloyên arp ên L2-MGMT de ji FW-CLUSTER-ê bibin EMERGENCY.

Dîsa, em vegerin ser formulekirina eslî ya pirsgirêkê. Saet sê sibehê, stresek mezin, xeletiyek di her qonaxê de dikare bibe sedema pirsgirêkên nû. Hûn amade ne ku bi riya CLI-yê fermanan binivîsin? Erê? Baş e, qet nebe here rûyê xwe bişo, qehwe vexwe û îradeya xwe kom bike.
Bruce, ji kerema xwe alîkariya hevalan bikin.

automation Network. Bûyerek ji jiyana xwe

Welê, em berdewam dikin ku xweseriya xwe baştir bikin.
Li jêr diagramek heye ku ka pirtûka lîstikê bi şertên Ansible çawa dixebite. Ev nexşe tiştê ku me li jor behs kir destnîşan dike, ew tenê di Ansible de pêkanînek taybetî ye.
automation Network. Bûyerek ji jiyana xwe

Di vê qonaxê de, me fêm kir ku divê çi were kirin, pirtûkek lîstikê pêşxist, ceribandinek kir, û naha em amade ne ku wê bidin destpêkirin.

Dabeşkirinek din a piçûk a lîrîk. Divê hêsaniya çîrokê we nexape. Pêvajoya nivîsandina pirtûkên lîstikê ne ew qas hêsan û bilez bû ku ew xuya dike. Testkirinê pir wext girt, standek virtual hate afirandin, çareserî gelek caran hate ceribandin, nêzîkê 100 ceribandin hatin kirin.

Ka em dest pê bikin... Hestek heye ku her tişt pir hêdî diqewime, li cîhek xeletiyek heye, tiştek dê di dawiyê de nexebite. Hestiya bazdana bi paraşûtê, lê paraşût naxwaze tavilê vebe... ev normal e.

Dûv re, me encama operasyonên ku hatine kirin pirtûka lîstikê ya Ansible xwendin (navnîşanên IP-ê ji bo mebestên nepenîtiyê hatin guheztin):

[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 ************************************************************************

Done!

Bi rastî, ew ne amade ye, lihevhatina protokolên rêveçûna dînamîkî û barkirina hejmareke mezin a rêgezan li FIB-ê ji bîr nekin. Em nikarin bi tu awayî bandorê li vê bikin. Em li bendê ne. Bi ser ket. Niha ew amade ye.

Û li gundê Vilabajo (ku naxwaze sazkirina torê otomatîk bike) ew şûştina firaxan berdewam dikin. Bruce (bê guman, jixwe cûda ye, lê ne kêmtir xweş) hewl dide ku fêm bike ka dê ji nû veavakirina desta ya amûrê çiqas bêtir pêk were.

automation Network. Bûyerek ji jiyana xwe

Ez dixwazim li ser xaleke girîng jî rawestim. Em çawa dikarin her tiştî vegerînin? Piştî demekê, em ê FW-CLUSTER-a xwe vegerînin jiyanê. Ev amûra sereke ye, ne hilanînê, divê tora li ser wê bixebite.

Ma hûn hîs dikin ka torgilok çawa dest bi şewitandinê dikin? Dîrektorê teknîkî dê hezar argumanan bibihîze ka çima divê ev neyê kirin, çima ev yek dikare paşê were kirin. Mixabin, bi vî rengî torgilok ji komek paçik, perçe û bermahiyên luksa xweya berê dixebite. Derdikeve ku ew qulikek paçê ye. Karê me bi gelemperî, ne di vê rewşa taybetî de, lê bi gelemperî di prensîbê de, wekî pisporên IT-ê, ew e ku em karê torê bi peyva xweşik a Englishngilîzî "consistency" bînin, ew pir pirreng e, dikare wekî: hevrêzî were wergerandin. , lihevhatî, mantiq, lihevhatî, sîstematîkî, berawirdî, hevgirtin. Her tişt li ser wî ye. Tenê di vê rewşê de torê tê rêvebirin, em bi zelalî fam dikin ka çi û çawa dixebite, em bi zelalî fam dikin ka çi hewce dike ku were guheztin, ger hewce be, em bi zelalî dizanin ku ger pirsgirêk derkevin li ku bigerin. Û tenê di torgilokek wusa de hûn dikarin hîleyên mîna yên ku me nû diyar kirine pêk bînin.

Bi rastî, pirtûkek din a lîstikê hate amadekirin, ku mîhengan vedigere rewşa xweya bingehîn. Mantiqa xebata wê yek e (girîng e ku ji bîr mekin ku rêza karan pir girîng e), ji bo ku em gotarek jixwe dirêj dirêj nekin, me biryar da ku navnîşek darvekirina pirtûka lîstikê neşînin. Piştî ku hûn temrînên weha pêk bînin, hûn ê di pêşerojê de pir aramtir û pêbawertir hîs bikin, di heman demê de, her çîçekên ku we li wir berhev kirine dê tavilê xwe eşkere bikin.

Her kes dikare ji me re binivîsîne û çavkaniyên hemî kodên nivîskî, digel hemî palybooks, werbigire. Têkiliyên di profîlê de.

vebiguherin

Bi dîtina me, pêvajoyên ku dikarin bixweber bibin hîna krîstalîze nebûne. Li gorî tiştên ku em pê re rû bi rû bûne û yên ku hevkarên me yên rojavayî nîqaş dikin, heya niha ev mijarên jêrîn diyar in:

  • Dabînkirina cîhazê;
  • Berhevkirina daneyan;
  • Raporkirin;
  • Pirsgirêka gulebaranê;
  • Lihevkirin.

Ger eleqe hebe, em dikarin li ser yek ji mijarên hatine dayîn nîqaşê bidomînin.

Ez jî dixwazim hinekî li ser otomasyonê biaxivim. Di têgihîştina me de divê çi be:

  • Divê pergal bêyî mirov bijî, di heman demê de ji hêla kesek ve were pêşve xistin. Divê pergal ne girêdayî mirovan be;
  • Operasyon divê pispor be. Çînek pisporên ku karên rûtîn pêk tînin tune. Pispor hene ku tevahiya rûtîn otomatîk kirine û tenê pirsgirêkên tevlihev çareser dikin;
  • Karên standard ên rûtîn bixweber "bi pêçekek bişkojkê" têne kirin, ti çavkanî nayên winda kirin. Encama karên weha her gav pêşbînîkirî û têgihîştî ye.

Û divê ev xal ber bi çi ve bibin:

  • Zelalbûna binesaziya IT (Rêzikên kêm ên xebitandinê, nûjenkirin, bicihanîn. Salê kêm demdirêj);
  • Kapasîteya plansazkirina çavkaniyên IT-yê (Pergala plansazkirina kapasîteyê - hûn dikarin bibînin ka çiqas tê xerc kirin, hûn dikarin bibînin ka çend çavkanî di yek pergalek de hewce ne, û ne bi name û serdanên dezgehên jorîn);
  • Ihtîmala kêmkirina hejmara karmendên IT.

Nivîskarên gotarê: Alexander Chelovekov (CCIE RS, CCIE SP) û Pavel Kirillov. Em eleqedar in ku li ser mijara otomasyona binesaziya IT-ê çareserî nîqaş bikin û pêşniyar bikin.


Source: www.habr.com

Add a comment