Sprendžiant iš daugybės klausimų, kurie pradėjo mus gauti per SD-WAN, technologija pradėjo nuodugniai įsitvirtinti Rusijoje. Natūralu, kad pardavėjai nemiega ir siūlo savo koncepcijas, o kai kurie drąsūs pionieriai jas jau diegia savo tinkluose.
Dirbame su beveik visais pardavėjais, o per kelerius metus mūsų laboratorijoje man pavyko įsigilinti į kiekvieno pagrindinio programinės įrangos apibrėžtų sprendimų kūrėjo architektūrą. Čia šiek tiek skiriasi „Fortinet“ SD-WAN, kuris tiesiog sukūrė srauto balansavimo tarp ryšio kanalų funkciją ugniasienės programinėje įrangoje. Sprendimas gana demokratiškas, todėl dažniausiai jį svarsto įmonės, kurios dar nepasirengusios globaliems pokyčiams, tačiau nori efektyviau išnaudoti komunikacijos kanalus.
Šiame straipsnyje noriu papasakoti, kaip sukonfigūruoti ir dirbti su SD-WAN iš Fortinet, kam šis sprendimas tinka ir su kokiais spąstais galite susidurti čia.
Žymiausius žaidėjus SD-WAN rinkoje galima suskirstyti į vieną iš dviejų tipų:
1. Startuoliams, kurie nuo nulio sukūrė SD-WAN sprendimus. Sėkmingiausi iš jų gauna didžiulį postūmį plėtrai po to, kai juos nupirko didelės įmonės – tai Cisco/Viptela, VMWare/VeloCloud, Nuage/Nokia istorija.
2. Stambūs tinklo pardavėjai, sukūrę SD-WAN sprendimus, tobulinantys savo tradicinių maršrutizatorių programuojamumą ir valdomumą – tai Juniper, Huawei istorija
Fortinet pavyko rasti savo kelią. Užkardos programinėje įrangoje buvo integruotos funkcijos, leidžiančios sujungti jų sąsajas į virtualius kanalus ir subalansuoti apkrovą tarp jų naudojant sudėtingus algoritmus, palyginti su įprastu maršruto parinkimu. Ši funkcija buvo vadinama SD-WAN. Ar tai, kas buvo Fortinet, gali būti vadinama SD-WAN? Rinka palaipsniui supranta, kad programinė įranga reiškia valdymo plokštumos atskyrimą nuo duomenų plokštumos, tam skirtų valdiklių ir orkestrantų. Fortinet nieko panašaus neturi. Centralizuotas valdymas yra neprivalomas ir siūlomas naudojant tradicinį „Fortimanager“ įrankį. Tačiau, mano nuomone, nereikėtų ieškoti abstrakčios tiesos ir gaišti laiko ginčams dėl terminų. Realiame pasaulyje kiekvienas metodas turi savo privalumų ir trūkumų. Geriausia išeitis – juos suprasti ir mokėti parinkti užduotis atitinkančius sprendimus.
Su ekrano kopijomis pabandysiu pasakyti, kaip atrodo ir ką gali padaryti SD-WAN iš Fortinet.
Kaip visa tai veikia
Tarkime, kad turite dvi šakas, sujungtas dviem duomenų kanalais. Šie duomenų ryšiai sujungiami į grupę, panašiai kaip įprastos Ethernet sąsajos sujungiamos į LACP-Port-Channel. Senoliai prisimins PPP Multilink – taip pat tinkama analogija. Kanalai gali būti fiziniai prievadai, VLAN SVI, taip pat VPN arba GRE tuneliai.
VPN arba GRE paprastai naudojami jungiant filialų vietinius tinklus internetu. Ir fiziniai prievadai – jei tarp svetainių yra L2 jungtys arba jungiantis per dedikuotą MPLS/VPN, jei mus tenkina ryšys be Overlay ir šifravimo. Kitas scenarijus, kai SD-WAN grupėje naudojami fiziniai prievadai, yra vietinės vartotojų prieigos prie interneto subalansavimas.
Mūsų stende yra keturios ugniasienės ir du VPN tuneliai, veikiantys per du „ryšio operatorius“. Diagrama atrodo taip:
VPN tuneliai sukonfigūruoti sąsajos režimu taip, kad jie būtų panašūs į tiesioginius ryšius tarp įrenginių su IP adresais P2P sąsajose, kuriuos galima įjungti, siekiant užtikrinti, kad ryšys per tam tikrą tunelį veiktų. Kad srautas būtų užšifruotas ir eitų į priešingą pusę, užtenka jį nukreipti į tunelį. Alternatyva yra pasirinkti srautą šifravimui naudojant potinklių sąrašus, o tai labai supainioja administratorių, nes konfigūracija tampa sudėtingesnė. Dideliame tinkle galite naudoti ADVPN technologiją, kad sukurtumėte VPN. Tai yra „Cisco“ DMVPN arba „Huawei“ DVPN analogas, todėl lengviau nustatyti
Svetainės VPN konfigūracija dviem įrenginiams su BGP nukreipimu abiejose pusėse
«ЦОД» (DC)
«Филиал» (BRN)
config system interface
edit "WAN1"
set vdom "Internet"
set ip 1.1.1.1 255.255.255.252
set allowaccess ping
set role wan
set interface "DC-BRD"
set vlanid 111
next
edit "WAN2"
set vdom "Internet"
set ip 3.3.3.1 255.255.255.252
set allowaccess ping
set role lan
set interface "DC-BRD"
set vlanid 112
next
edit "BRN-Ph1-1"
set vdom "Internet"
set ip 192.168.254.1 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.2 255.255.255.255
set interface "WAN1"
next
edit "BRN-Ph1-2"
set vdom "Internet"
set ip 192.168.254.3 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.4 255.255.255.255
set interface "WAN2"
next
end
config vpn ipsec phase1-interface
edit "BRN-Ph1-1"
set interface "WAN1"
set local-gw 1.1.1.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 2.2.2.1
set psksecret ***
next
edit "BRN-Ph1-2"
set interface "WAN2"
set local-gw 3.3.3.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 4.4.4.1
set psksecret ***
next
end
config vpn ipsec phase2-interface
edit "BRN-Ph2-1"
set phase1name "BRN-Ph1-1"
set proposal aes256-sha256
set dhgrp 2
next
edit "BRN-Ph2-2"
set phase1name "BRN-Ph1-2"
set proposal aes256-sha256
set dhgrp 2
next
end
config router static
edit 1
set gateway 1.1.1.2
set device "WAN1"
next
edit 3
set gateway 3.3.3.2
set device "WAN2"
next
end
config router bgp
set as 65002
set router-id 10.1.7.1
set ebgp-multipath enable
config neighbor
edit "192.168.254.2"
set remote-as 65003
next
edit "192.168.254.4"
set remote-as 65003
next
end
config network
edit 1
set prefix 10.1.0.0 255.255.0.0
next
end
config system interface
edit "WAN1"
set vdom "Internet"
set ip 2.2.2.1 255.255.255.252
set allowaccess ping
set role wan
set interface "BRN-BRD"
set vlanid 111
next
edit "WAN2"
set vdom "Internet"
set ip 4.4.4.1 255.255.255.252
set allowaccess ping
set role wan
set interface "BRN-BRD"
set vlanid 114
next
edit "DC-Ph1-1"
set vdom "Internet"
set ip 192.168.254.2 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.1 255.255.255.255
set interface "WAN1"
next
edit "DC-Ph1-2"
set vdom "Internet"
set ip 192.168.254.4 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.3 255.255.255.255
set interface "WAN2"
next
end
config vpn ipsec phase1-interface
edit "DC-Ph1-1"
set interface "WAN1"
set local-gw 2.2.2.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 1.1.1.1
set psksecret ***
next
edit "DC-Ph1-2"
set interface "WAN2"
set local-gw 4.4.4.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 3.3.3.1
set psksecret ***
next
end
config vpn ipsec phase2-interface
edit "DC-Ph2-1"
set phase1name "DC-Ph1-1"
set proposal aes128-sha1
set dhgrp 2
next
edit "DC2-Ph2-2"
set phase1name "DC-Ph1-2"
set proposal aes128-sha1
set dhgrp 2
next
end
config router static
edit 1
set gateway 2.2.2.2
et device "WAN1"
next
edit 3
set gateway 4.4.4.2
set device "WAN2"
next
end
config router bgp
set as 65003
set router-id 10.200.7.1
set ebgp-multipath enable
config neighbor
edit "192.168.254.1"
set remote-as 65002
next
edit "192.168.254.3"
set remote-as 65002
next
end
config network
edit 1
set prefix 10.200.0.0 255.255.0.0
next
end
Konfigūraciją pateikiu teksto forma, nes, mano nuomone, taip patogiau konfigūruoti VPN. Beveik visi nustatymai yra vienodi iš abiejų pusių, juos galima padaryti kaip kopijuoti-įklijuoti. Jei tą patį veiksite žiniatinklio sąsajoje, nesunku suklysti – pamirškite kur nors varnelę, įveskite neteisingą reikšmę.
Pridėję sąsajas prie paketo
visi maršrutai ir saugos strategijos gali būti susiję su juo, o ne su į jį įtrauktomis sąsajomis. Bent jau turite leisti srautą iš vidinių tinklų į SD-WAN. Kurdami joms taisykles galite taikyti tokias apsaugos priemones kaip IPS, antivirusinė ir HTTPS atskleidimas.
SD-WAN taisyklės sukonfigūruotos paketui. Tai taisyklės, apibrėžiančios konkretaus srauto balansavimo algoritmą. Jie yra panašūs į maršruto parinkimo strategijas naudojant politika pagrįstą maršrutą, tik dėl srauto, patenkančio į politiką, įdiegiama ne kito šuolio arba įprasta išeinančio siuntimo sąsaja, o sąsajos, pridėtos prie SD-WAN paketo plius. srauto balansavimo algoritmas tarp šių sąsajų.
Eismą nuo bendro srauto gali atskirti L3-L4 informacija, pripažintos programos, interneto paslaugos (URL ir IP), taip pat pripažinti darbo stočių ir nešiojamųjų kompiuterių vartotojai. Po to paskirstytam srautui gali būti priskirtas vienas iš šių balansavimo algoritmų:
Sąsajos nuostatų sąraše pasirenkamos tos sąsajos iš tų, kurios jau įtrauktos į paketą, kurios aptarnaus tokio tipo srautą. Pridėjus ne visas sąsajas, galite tiksliai apriboti, kokius kanalus naudojate, tarkime, el. paštą, jei nenorite tuo apkrauti brangių kanalų su aukšta SLA. FortiOS 6.4.1 tapo įmanoma sugrupuoti sąsajas, pridėtas prie SD-WAN paketo, į zonas, sukuriant, pavyzdžiui, vieną zoną ryšiui su nuotolinėmis svetainėmis, o kitą - vietinei interneto prieigai naudojant NAT. Taip, taip, srautas, einantis į įprastą internetą, taip pat gali būti subalansuotas.
Apie balansavimo algoritmus
Kalbant apie tai, kaip „Fortigate“ (užkarda iš „Fortinet“) gali padalyti srautą tarp kanalų, yra dvi įdomios galimybės, kurios nėra labai paplitusios rinkoje:
Mažiausia kaina (SLA) – iš visų šiuo metu SLA tenkinančių sąsajų pasirenkama administratoriaus rankiniu būdu nustatyta mažesnė svorio (kaina); šis režimas tinka „masiniam“ srautui, pvz., atsarginėms kopijoms ir failų perkėlimui.
Geriausia kokybė (SLA) – šis algoritmas, be įprasto Fortigate paketų vėlavimo, virpėjimo ir praradimo, taip pat gali naudoti esamą kanalo apkrovą kanalų kokybei įvertinti; Šis režimas tinka jautriam srautui, pvz., VoIP ir vaizdo konferencijoms.
Šiems algoritmams reikia nustatyti ryšio kanalo našumo matuoklį – Performance SLA. Šis matuoklis periodiškai (patikrinimo intervalas) stebi informaciją apie atitikimą SLA: paketų praradimą, delsą (delsą) ir drebėjimą (drebėjimą) ryšio kanale ir gali „atmesti“ tuos kanalus, kurie šiuo metu neatitinka kokybės slenksčių – jie praranda per daug paketų arba per daug delsos. Be to, matuoklis stebi kanalo būseną ir gali laikinai jį pašalinti iš paketo, jei pakartotinai dingtų atsakymai (gedimai prieš neaktyvų). Atkūrus, po kelių iš eilės atsakymų (atkurti nuorodą po), matuoklis automatiškai grąžins kanalą į paketą ir per jį vėl bus perduodami duomenys.
Štai kaip atrodo „skaitiklio“ nustatymas:
Žiniatinklio sąsajoje ICMP-Echo-request, HTTP-GET ir DNS užklausa yra prieinami kaip bandymo protokolai. Komandinėje eilutėje yra šiek tiek daugiau parinkčių: galimos TCP-echo ir UDP-echo parinktys, taip pat specializuotas kokybės matavimo protokolas - TWAMP.
Matavimo rezultatus taip pat galima pamatyti žiniatinklio sąsajoje:
Ir komandinėje eilutėje:
Problemų sprendimas
Jei sukūrėte taisyklę, bet viskas neveikia taip, kaip tikėjotės, turėtumėte pažvelgti į įvykių skaičių SD-WAN taisyklių sąraše. Tai parodys, ar eismas apskritai patenka į šią taisyklę:
Paties skaitiklio nustatymų puslapyje galite matyti kanalo parametrų pasikeitimą laikui bėgant. Taškinė linija nurodo parametro slenkstinę reikšmę
Žiniatinklio sąsajoje galite matyti, kaip srautas paskirstomas pagal perduotų / gautų duomenų kiekį ir seansų skaičių:
Be viso to, yra puiki galimybė kuo detaliau sekti paketų eigą. Dirbant tikrame tinkle, įrenginio konfigūracija kaupia daug maršruto strategijų, ugniasienės ir srauto paskirstymo per SD-WAN prievadus. Visa tai kompleksiškai sąveikauja tarpusavyje ir, nors pardavėjas pateikia detalias paketų apdorojimo algoritmų blokines diagramas, labai svarbu mokėti ne kurti ir testuoti teorijas, o matyti, kur iš tikrųjų eina srautas.
Pavyzdžiui, šis komandų rinkinys
diagnose debug flow filter saddr 10.200.64.15
diagnose debug flow filter daddr 10.1.7.2
diagnose debug flow show function-name
diagnose debug enable
diagnose debug trace 2
Leidžia sekti du paketus, kurių šaltinio adresas yra 10.200.64.15 ir paskirties adresas 10.1.7.2.
Du kartus pinguojame 10.7.1.2 nuo 10.200.64.15 ir žiūrime į išvestį konsolėje.
Pirmas paketas:
Antrasis paketas:
Štai pirmasis užkardos gautas paketas:
id=20085 trace_id=475 func=print_pkt_detail line=5605 msg="vd-Internet:0 received a packet(proto=1, 10.200.64.15:42->10.1.7.2:2048) from DMZ-Office. type=8, code=0, id=42, seq=0."
VDOM – Internet, Proto=1 (ICMP), DMZ-Office – название L3-интерфейса. Type=8 – Echo.
Jam sukurta nauja sesija:
msg="allocate a new session-0006a627"
Ir maršruto politikos nustatymuose buvo rasta atitiktis
msg="Match policy routing id=2136539137: to 10.1.7.2 via ifindex-110"
Pasirodo, paketą reikia išsiųsti į vieną iš VPN tunelių:
"find a route: flag=04000000 gw-192.168.254.1 via DC-Ph1-1"
Užkardos politikoje aptinkama ši leidimo taisyklė:
msg="Allowed by Policy-3:"
Paketas užšifruojamas ir siunčiamas į VPN tunelį:
func=ipsecdev_hard_start_xmit line=789 msg="enter IPsec interface-DC-Ph1-1"
func=_ipsecdev_hard_start_xmit line=666 msg="IPsec tunnel-DC-Ph1-1"
func=esp_output4 line=905 msg="IPsec encrypt/auth"
Užšifruotas paketas siunčiamas šios WAN sąsajos šliuzo adresu:
msg="send to 2.2.2.2 via intf-WAN1"
Antrojo paketo atveju viskas vyksta panašiai, tačiau jis siunčiamas į kitą VPN tunelį ir išeina per kitą ugniasienės prievadą:
func=ipsecdev_hard_start_xmit line=789 msg="enter IPsec interface-DC-Ph1-2"
func=_ipsecdev_hard_start_xmit line=666 msg="IPsec tunnel-DC-Ph1-2"
func=esp_output4 line=905 msg="IPsec encrypt/auth"
func=ipsec_output_finish line=622 msg="send to 4.4.4.2 via intf-WAN2"
Sprendimo pliusai
Patikimas funkcionalumas ir patogi sąsaja. Funkcijų rinkinys, kuris buvo prieinamas FortiOS prieš SD-WAN atsiradimą, buvo visiškai išsaugotas. Tai reiškia, kad turime ne naujai sukurtą programinę įrangą, o brandžią sistemą iš patikrinto ugniasienės pardavėjo. Su tradiciniu tinklo funkcijų rinkiniu, patogia ir lengvai išmokstama žiniatinklio sąsaja. Kiek SD-WAN pardavėjų, tarkime, turi nuotolinės prieigos VPN funkciją galutiniuose įrenginiuose?
Apsaugos lygis 80. „FortiGate“ yra vienas geriausių ugniasienės sprendimų. Internete yra daug medžiagos apie ugniasienių nustatymą ir administravimą, o darbo rinkoje yra daug saugumo specialistų, kurie jau yra įvaldę pardavėjo sprendimus.
Nulinė kaina už SD-WAN funkcionalumą. SD-WAN tinklo sukūrimas naudojant FortiGate kainuoja tiek pat, kiek ir įprasto WAN tinklo kūrimas jame, nes SD-WAN funkcionalumui įdiegti nereikia papildomų licencijų.
Maža įėjimo barjero kaina. „Fortigate“ turi gerą įvairių našumo lygių įrenginių gradaciją. Jauniausi ir nebrangiausi modeliai yra gana tinkami išplėsti biurą ar prekybos vietą, tarkime, 3-5 darbuotojais. Daugelis pardavėjų tiesiog neturi tokių žemo našumo ir prieinamų modelių.
Aukštos kokybės. SD-WAN funkcionalumo sumažinimas iki srauto balansavimo leido įmonei išleisti specializuotą SD-WAN ASIC, kurios dėka SD-WAN veikimas nesumažina visos ugniasienės našumo.
Galimybė įdiegti visą biurą naudojant Fortinet įrangą. Tai yra ugniasienės, jungikliai, „Wi-Fi“ prieigos taškai. Tokį biurą lengva ir patogu valdyti – jungikliai ir prieigos taškai registruojami ugniasienėse ir valdomi iš jų. Pavyzdžiui, taip gali atrodyti jungiklio prievadas iš užkardos sąsajos, valdančios šį jungiklį:
Valdiklių trūkumas kaip vienas gedimo taškas. Pats pardavėjas tam skiria didžiausią dėmesį, tačiau tai galima pavadinti tik iš dalies nauda, nes tiems tiekėjams, kurie turi valdiklius, užtikrinti jų atsparumą gedimams yra nebrangūs, dažniausiai už mažą kiekį skaičiavimo resursų virtualizacijos aplinkoje.
Ko ieškoti
Nėra atskirties tarp valdymo plokštumos ir duomenų plokštumos. Tai reiškia, kad tinklas turi būti konfigūruojamas arba rankiniu būdu, arba naudojant jau turimus tradicinius valdymo įrankius – FortiManager. Pardavėjams, įdiegusiems tokį atskyrimą, tinklas surenkamas pats. Administratoriui gali tekti tik pakoreguoti savo topologiją, kažką kažkur uždrausti, daugiau nieko. Tačiau „FortiManager“ koziris yra tas, kad jis gali valdyti ne tik užkardas, bet ir jungiklius bei „Wi-Fi“ prieigos taškus, tai yra, beveik visą tinklą.
Sąlyginis valdomumo padidėjimas. Dėl to, kad tradiciniai įrankiai naudojami automatizuoti tinklo konfigūraciją, tinklo valdymas įdiegus SD-WAN šiek tiek padidėja. Kita vertus, naujas funkcionalumas tampa prieinamas greičiau, nes pardavėjas pirmiausia išleidžia tik ugniasienės operacinei sistemai (tai iš karto leidžia ja naudotis), o tik tada papildo valdymo sistemą reikiamomis sąsajomis.
Kai kurios funkcijos gali būti pasiekiamos iš komandinės eilutės, bet nepasiekiamos žiniatinklio sąsajoje. Kartais nėra taip baisu eiti į komandinę eilutę ir ką nors sukonfigūruoti, bet baisu nepamatyti žiniatinklio sąsajoje, kad kažkas jau kažką sukonfigūravo iš komandinės eilutės. Tačiau tai dažniausiai taikoma naujausioms funkcijoms ir palaipsniui, atnaujinus FortiOS, žiniatinklio sąsajos galimybės tobulėja.
Kam jis tinka?
Tiems, kurie neturi daug filialų. SD-WAN sprendimo su sudėtingais centriniais komponentais diegimas 8-10 filialų tinkle gali nekainuoti – turėsite išleisti pinigus SD-WAN įrenginių licencijoms ir virtualizacijos sistemos ištekliams, kad būtų galima talpinti centrinius komponentus. Maža įmonė paprastai turi ribotus laisvus skaičiavimo išteklius. Fortinet atveju užtenka tiesiog nusipirkti užkardas.
Tiems, kurie turi daug mažų šakų. Daugeliui pardavėjų minimali sprendimo kaina vienam filialui yra gana didelė ir gali būti neįdomi galutinio kliento verslo požiūriu. Fortinet siūlo mažus įrenginius itin patraukliomis kainomis.
Tiems, kurie dar nėra pasiruošę žengti per toli. SD-WAN įdiegimas su valdikliais, patentuotu maršruto parinkimu ir nauju požiūriu į tinklo planavimą ir valdymą kai kuriems klientams gali būti per didelis žingsnis. Taip, toks įgyvendinimas galiausiai padės optimizuoti komunikacijos kanalų naudojimą ir administratorių darbą, tačiau pirmiausia teks išmokti daug naujų dalykų. Tiems, kurie dar nepasirengę paradigmos pokyčiams, bet nori išspausti daugiau iš savo komunikacijos kanalų, Fortinet sprendimas yra kaip tik tinkamas.
Šaltinis: www.habr.com