Automasi jaringan. Hiji kasus tina kahirupan hiji urang

Héy Habr!

Dina artikel ieu kami hoyong ngobrol ngeunaan automation infrastruktur jaringan. Diagram kerja jaringan anu beroperasi dina hiji perusahaan leutik tapi reueus pisan bakal dibere. Sadaya patandingan sareng alat jaringan nyata sacara acak. Urang bakal ningali pasualan anu kajantenan dina jaringan ieu, anu tiasa nyababkeun pareum bisnis pikeun waktos anu lami sareng karugian finansial anu serius. Solusi pikeun hal ieu pas pisan kana konsép "Otomasi infrastruktur jaringan". Ngagunakeun parabot automation, urang bakal némbongkeun kumaha anjeun éféktif bisa ngajawab masalah kompléks dina waktu anu singget, sarta kami bakal muhasabah naha masalah ieu kudu direngsekeun ku cara kieu, teu disebutkeun (via konsol).

Bantahan

Alat utama kami pikeun otomatisasi nyaéta Ansible (salaku alat automation) sareng Git (salaku gudang pikeun playbooks Ansible). Abdi hoyong geura-giru nyieun reservasi yén ieu téh lain artikel bubuka, dimana urang ngobrol ngeunaan logika Ansible atanapi Git, sarta ngajelaskeun hal dasar (contona, naon roletaskimodules, file inventory, variabel dina Ansible, atawa naon kajadian nalika. anjeun ngalebetkeun paréntah git push atanapi git commit). Carita ieu sanés ngeunaan kumaha anjeun tiasa ngalaksanakeun Ansible sareng ngonpigurasikeun NTP atanapi SMTP dina alat anjeun. Ieu mangrupikeun carita ngeunaan kumaha anjeun tiasa gancang sareng langkung milih ngabéréskeun masalah jaringan tanpa kasalahan. Éta ogé sasaena boga pamahaman alus ngeunaan kumaha jaringan jalan, hususna naon TCP / IP, OSPF, protokol BGP tumpukan. Kami ogé bakal nyandak pilihan Ansible sareng Git kaluar tina persamaan. Upami anjeun masih kedah milih solusi anu khusus, kami nyarankeun pisan maca buku "Programability Network sareng Automation. Kaahlian pikeun Insinyur Jaringan Generasi Salajengna" ku Jason Edelman, Scott S. Lowe, sareng Matt Oswalt.

Ayeuna ka titik.

Ngarumuskeun masalah

Bayangkeun kaayaan: jam 3 isuk-isuk, anjeun saré gancang sareng ngalamun. Telepon. Diréktur téknis nelepon:

- Leres?
— ###, ####, #####, klaster firewall geus murag jeung teu naek!!!
Anjeun ngusap panon anjeun, nyobian ngartos naon anu kajantenan sareng ngabayangkeun kumaha ieu tiasa kajantenan. Dina telepon anjeun tiasa ngadangu bulu dina sirah sutradara urang tearing, sarta anjeunna miwarang nelepon deui sabab jenderal nelepon anjeunna dina jalur kadua.

Satengah jam ti harita, anjeun ngumpulkeun catetan bubuka munggaran ti shift tugas, hudang sarerea anu bisa hudang up. Hasilna, diréktur téknis teu bohong, sagalana geus sakumaha anu kasebut, klaster utama firewalls geus fallen, sarta teu aya gerakan awak dasar mawa anjeunna ka indra. Sadaya jasa anu ditawarkeun perusahaan henteu jalan.

Milih masalah pikeun rasa anjeun, dulur bakal apal hal béda. Contona, sanggeus update sapeuting dina henteuna beban beurat, sagalana digawé ogé, sarta dulur indit ka ranjang senang. Lalulintas mimiti ngalir, sareng panyangga antarmuka mimiti mudun kusabab bug dina supir kartu jaringan.

Jackie Chan tiasa ngajelaskeun kaayaan anu saé.

Automasi jaringan. Hiji kasus tina kahirupan hiji urang

Hatur nuhun, Jackie.

Teu kaayaan pisan pikaresepeun, nya?

Hayu urang ninggalkeun jaringan urang bro kalawan pikiran sedih na sakedap.

Hayu urang bahas kumaha acara bakal mekar salajengna.

Urang nyarankeun urutan handap presentasi materi

  1. Hayu urang nempo diagram jaringan tur tingal kumaha gawéna;
  2. Kami bakal ngajelaskeun kumaha urang mindahkeun setélan tina hiji router ka anu sanés nganggo Ansible;
  3. Hayu urang ngobrol ngeunaan automation infrastruktur IT sacara gembleng.

Diagram jaringan sareng pedaran

Skéma

Automasi jaringan. Hiji kasus tina kahirupan hiji urang

Hayu urang nganggap diagram logis organisasi urang. Kami moal namina pabrik alat khusus; pikeun tujuan tulisan ieu henteu masalah (Pamaca anu ati-ati bakal nebak naon jinis alat anu dianggo). Ieu mangrupikeun salah sahiji kauntungan anu hadé pikeun damel sareng Ansible; nalika nyetél, urang umumna henteu paduli jinis alat éta. Ngan ngartos, ieu parabot ti ngical paralatan well-dipikawanoh, kayaning Cisco, Juniper, Check Point, Fortinet, Palo Alto ... anjeun tiasa ngagantikeun pilihan anjeun sorangan.

Kami ngagaduhan dua tugas utama pikeun mindahkeun lalu lintas:

  1. Mastikeun publikasi jasa kami, anu mangrupikeun bisnis perusahaan;
  2. Nyadiakeun komunikasi sareng cabang, pusat data jauh sareng organisasi pihak katilu (mitra sareng klien), ogé aksés cabang kana Internét ngalangkungan kantor pusat.

Hayu urang mimitian ku elemen dasar:

  1. Dua routers wates (BRD-01, BRD-02);
  2. Kluster firewall (FW-KLUSTER);
  3. Saklar inti (L3-CORE);
  4. A router anu bakal jadi lifeline a (sakumaha urang ngajawab masalah, urang bakal mindahkeun setelan jaringan tina FW-CLUSTER ka DARURAT) (DARURAT);
  5. Saklar pikeun manajemén infrastruktur jaringan (L2-MGMT);
  6. Mesin virtual sareng Git sareng Ansible (VM-AUTOMATION);
  7. Laptop anu nguji sareng ngembangkeun playbook pikeun Ansible (Laptop-Automation) dilaksanakeun.

Jaringan ieu dikonpigurasi sareng protokol routing OSPF dinamis sareng daérah di handap ieu:

  • Wewengkon 0 - wewengkon nu ngawengku routers jawab mindahkeun lalulintas di zone EXCHANGE;
  • Wewengkon 1 - wewengkon nu ngawengku routers jawab operasi jasa parusahaan;
  • Wewengkon 2 - wewengkon nu ngawengku routers jawab lalulintas manajemén routing;
  • Wewengkon N - wewengkon jaringan cabang.

Dina routers wates, hiji router virtual (VRF-INTERNET) dijieun, nu eBGP view pinuh dipasang jeung pakait AS ditugaskeun. iBGP geus ngonpigurasi antara VRFs. Perusahaan ngagaduhan kolam renang alamat bodas anu diterbitkeun dina VRF-INTERNET ieu. Sababaraha alamat bodas dialihkeun langsung ka FW-CLUSTER (alamat dimana jasa perusahaan beroperasi), sababaraha dialihkeun ngaliwatan zona EXCHANGE (jasa perusahaan internal anu peryogi alamat IP éksternal, sareng alamat NAT éksternal pikeun kantor). Salajengna, lalu lintas nuju ka router virtual anu diciptakeun dina L3-CORE kalayan alamat bodas sareng kulawu (zona kaamanan).

Jaringan Manajemén nganggo saklar khusus sareng ngagambarkeun jaringan khusus sacara fisik. Jaringan manajemén ogé dibagi kana zona kaamanan.
Router darurat sacara fisik sareng logis duplikat FW-CLUSTER. Sadaya antarmuka ditumpurkeun kecuali anu ningali kana jaringan manajemén.

Automation sarta pedaran na

Urang terang kumaha jaringan jalan. Ayeuna hayu urang tingali léngkah-léngkah naon anu bakal urang laksanakeun pikeun mindahkeun lalu lintas ti FW-CLUSTER ka EMERGENCY:

  1. Urang nganonaktipkeun interfaces dina switch inti (L3-CORE) nu nyambung ka FW-Kluster;
  2. Urang nganonaktipkeun interfaces on switch kernel L2-MGMT nu nyambung ka FW-KLUSTER;
  3. Kami ngonpigurasikeun router DARURAT (sacara standar, sadaya antarmuka ditumpurkeun, iwal anu aya hubunganana sareng L2-MGMT):

  • Urang ngaktifkeun interfaces on DARURAT;
  • Urang ngonpigurasikeun alamat IP éksternal (pikeun NAT) éta dina FW-Kluster;
  • Urang ngahasilkeun requests gARP ambéh alamat poppy dina tabel arp L3-CORE dirobah tina FW-Kluster ka DARURAT;
  • Urang ngadaptarkeun jalur standar sakumaha statik ka BRD-01, BRD-02;
  • Jieun aturan NAT;
  • Ngangkat ka DARURAT OSPF Area 1;
  • Ngangkat ka DARURAT OSPF Area 2;
  • Urang ngarobah biaya ruteu di Area 1 ka 10;
  • Urang ngarobah biaya jalur standar di Area 1 ka 10;
  • Kami ngarobih alamat IP anu aya hubunganana sareng L2-MGMT (ka jalma anu aya dina FW-CLUSTER);
  • Kami ngahasilkeun pamundut gARP supados alamat poppy dina tabel arp L2-MGMT dirobih tina FW-CLUSTER ka DARURAT.

Deui, urang balik deui ka rumusan aslina tina masalah. Jam tilu isuk-isuk, setrés anu ageung, kasalahan dina tahap naon waé tiasa nyababkeun masalah anyar. Siap ngetik paréntah via CLI? Sumuhun? Muhun, sahenteuna buka bilas beungeut anjeun, inuman sababaraha kopi jeung ngumpulkeun willpower Anjeun.
Bruce, mangga mantuan guys.

Automasi jaringan. Hiji kasus tina kahirupan hiji urang

Nya, urang teraskeun ningkatkeun otomatisasi urang.
Di handap ieu diagram kumaha playbook jalan dina istilah Ansible. Skéma ieu ngagambarkeun naon anu dijelaskeun di luhur, éta ngan ukur palaksanaan khusus dina Ansible.
Automasi jaringan. Hiji kasus tina kahirupan hiji urang

Dina tahap ieu, urang sadar naon anu kudu dipigawé, ngembangkeun hiji playbook, ngalaksanakeun tés, sarta ayeuna urang siap ngajalankeun eta.

digression liris leutik sejen. Gampangna carita teu matak nyasabkeun anjeun. Prosés nulis playbooks teu sakumaha basajan tur gancang sakumaha eta bisa sigana. Tés nyandak seueur waktos, nangtung virtual diciptakeun, solusina diuji sababaraha kali, sakitar 100 tés dilaksanakeun.

Hayu urang ngaluncurkeun ... Aya rarasaan yén sagalana lumangsung lambat pisan, aya kasalahan wae, hal moal jalan dina tungtungna. Rarasaan luncat jeung parasut, tapi parasut teu hayang muka langsung ... ieu normal.

Salajengna, urang maca hasil tina operasi anu dilakukeun tina playbook Ansible (alamat IP diganti pikeun tujuan rusiah):

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

Réngsé!

Kanyataanna, éta teu cukup siap, ulah poho ngeunaan konvergénsi protokol routing dinamis sarta loading angka nu gede ngarupakeun ruteu kana FIB nu. Urang teu bisa mangaruhan ieu sagala cara. Urang antosan. Ieu digawé kaluar. Ayeuna geus siap.

Sareng di Désa Vilabajo (anu henteu hoyong ngajadikeun otomatis pangaturan jaringan) aranjeunna teras-terasan ngumbah piring. Bruce (diaku, geus béda, tapi teu kirang tiis) nyobian ngartos sabaraha langkung manual reconfiguration pakakas bakal lumangsung.

Automasi jaringan. Hiji kasus tina kahirupan hiji urang

Abdi ogé hoyong ngémutan hiji hal anu penting. Kumaha urang meunang sagalana balik? Saatos sababaraha waktos, urang bakal ngahirupkeun deui FW-CLUSTER urang. Ieu mangrupikeun alat utama, sanés cadangan, jaringan kedah dijalankeun.

Naha anjeun ngarasa kumaha networkers mimiti kaduruk? Sutradara téknis bakal nguping sarébu alesan naha ieu henteu kedah dilakukeun, naha ieu tiasa dilakukeun engké. Hanjakal, ieu kumaha jaringan jalan tina kebat patch, potongan, jeung sésa urut méwah na. Tétéla jadi quilt patchwork. Tugas urang sacara umum, henteu dina kaayaan spésifik ieu, tapi sacara umum sacara umum, salaku spesialis IT, nyaéta pikeun nyangking karya jaringan kana kecap Inggris anu éndah "konsistensi", éta pisan multifaceted, éta tiasa ditarjamahkeun salaku: kohérénsi. , konsistensi, logika, kohérénsi, sistematis, comparability, kohérénsi. Éta sadayana ngeunaan anjeunna. Ngan dina kaayaan ieu jaringan manageable, urang jelas ngartos naon gawéna sarta kumaha, urang jelas ngartos naon nu kudu dirobah, lamun perlu, urang jelas terang dimana kasampak lamun masalah timbul. Sareng ngan dina jaringan sapertos kitu anjeun tiasa ngalakukeun trik sapertos anu nembé dijelaskeun.

Sabenerna, playbook sejen geus disiapkeun, nu balik setelan ka kaayaan aslina. Logika operasina sami (penting pikeun émut yén urutan tugas penting pisan), supados henteu manjangkeun tulisan anu parantos rada panjang, kami mutuskeun henteu masangkeun daptar palaksanaan playbook. Saatos ngalaksanakeun latihan sapertos kitu, anjeun bakal ngarasa langkung tenang sareng langkung percaya diri ka hareup, salian ti éta, sagala crutches anu anjeun tumpukan di dinya bakal langsung nembongkeun diri.

Saha waé tiasa nyerat ka kami sareng nampi sumber sadaya kode anu ditulis, sareng sadaya palybook. Kontak dina profil.

papanggihan

Dina pamadegan urang, prosés nu bisa otomatis teu acan crystallized. Dumasar naon anu urang tepang sareng naon anu dibahas ku kolega urang Kulon, téma-téma di handap ieu katingali dugi ka ayeuna:

  • Provisioning alat;
  • Ngumpulkeun data;
  • Ngalaporkeun;
  • Pamérésan masalah;
  • Patuh.

Upami aya minat, urang tiasa neraskeun diskusi ngeunaan salah sahiji topik anu dipasihkeun.

Abdi ogé hoyong ngobrol sakedik ngeunaan automation. Naon anu kedah aya dina pamahaman urang:

  • Sistim kudu hirup tanpa hiji jalma, bari ditingkatkeun ku hiji jalma. Sistim nu teu kudu gumantung ka manusa;
  • Operasi kedah ahli. Teu aya kelas spesialis anu ngalaksanakeun tugas rutin. Aya ahli anu geus ngajadikeun otomatis sakabéh rutin sarta ngajawab ngan masalah kompléks;
  • tugas baku rutin dipigawé otomatis "dina touch of a tombol", euweuh sumberdaya anu wasted. Hasil tina pancén sapertos kitu sok tiasa diprediksi sareng kaharti.

Sareng naon anu kedah nyababkeun titik-titik ieu:

  • Transparansi infrastruktur IT (Kurang résiko operasi, modernisasi, palaksanaan. Kurang downtime per taun);
  • Kamampuhan pikeun ngarencanakeun sumberdaya IT (Sistim Kapasitas-perencanaan - anjeun tiasa ningali sabaraha anu dikonsumsi, anjeun tiasa ningali sabaraha sumber anu diperyogikeun dina sistem tunggal, sareng henteu ku hurup sareng kunjungan ka departemén luhur);
  • Kamungkinan pikeun ngurangan jumlah staf IT.

Panulis artikel: Alexander Chelovekov (CCIE RS, CCIE SP) jeung Pavel Kirillov. Kami resep ngabahas sareng ngajukeun solusi dina topik automation infrastruktur IT.


sumber: www.habr.com

Tambahkeun komentar