Postavite VPN za modul Wi-Fi UART, ne v njegovo notranjost
Modul Wi-Fi UART potrebuje vtičnico TCP, predor pa ima v lasti prehod. Poimenujte njegov naslov, držite povratno pot odprto in vedite, kje se začne šifriranje.
Mikrokrmilniku z modulom Wi-Fi UART ni treba izvesti VPN, da bi dosegel storitev za njim. Modul že izvaja sklad TCP/IP in ponuja vtičnice prek serijskih vrat, prehod v istem lokalnem omrežju pa lahko ta promet pelje skozi predor. Zasnova deluje le, če lahko po vrsti odgovorite na štiri vprašanja, zato jo obravnavajte kot kontrolni seznam: naslov, vtičnica, pot, meja. Ustavite se pri prvih vratih, ki ne uspejo, ker naslednja tega ne morejo nadomestiti.
Vsakemu sloju dodelite eno nalogo
Povezava UART prenaša ukaze AT in koristni tovor med mikrokrmilnikom in modulom. Modul se pridruži omrežju Wi-Fi in ima v lasti povezavo IP, vključno z naslovom vira. Prehod ima v lasti predor, poverilnice in politiko posredovanja. Prav ločevanje teh nalog naredi zasnovo razhroščevalno v vsaki fazi.
Ločevanje spremeni tudi to, kako pišete politiko prehoda. Pravilo vira mora poimenovati naslov modula v lokalnem omrežju, ne izmišljenega naslova za mikrokrmilnik za serijsko povezavo. Mikrokrmilnik v tej zasnovi nima lastne identitete IP, pretvarjanje, da jo ima, pa ustvari pravilo, ki se nikoli ne ujema.
Modulu dajte stabilen naslov prek katerega koli mehanizma rezervacije, ki ga omrežje podpira, ali postavite naprave v njihov lastni segment in pustite prehodu, da se ujema po vmesniku. Naslov iz nabora, ki se po ponovnem zagonu spremeni, bo slej ko prej pokvaril politiko, ki je bila pravilna, ko ste jo pisali.
Ali lahko prehod poimenuje naslov modula?
Preden se odpre katera koli vtičnica, potrdite, da je modul povezan, da ima naslov in da ga prehod vidi na pričakovanem vmesniku. To so vrata, ki najpogosteje odpovedo tiho, ker bo modul z veseljem poročal o poskusu povezave, ki ni nikoli zapustil lokalnega omrežja.
AT+CWMODE=1 AT+CWJAP="lab-wifi","passphrase" AT+CIPSTA? AT+CIPMUX=0
Način z eno povezavo ohranja zaporedje ukazov preprosto in je pravo izhodišče za en senzor, ki govori z eno storitvijo. Način z več povezavami spremeni skladnjo vsakega naslednjega ukaza, zato se odločite, v katerem ste, preden kopirate primer iz druge različice strojne programske opreme.
Odprite vtičnico z modula
Ko sta naslov in način določena, lahko modul odpre povezavo TCP do zasebne storitve. Naslov spodaj je primer iz dokumentacijskega obsega; zamenjajte ga s svojim in ohranite enako obliko.
AT+CIPSTART="TCP","10.90.0.20",9000
AT+CIPSEND=18
{"t":21.4,"rh":48}
Ta ukaz AT odpre običajno vtičnico TCP, vtičnica pa ni predor: nič v njej ne ustvari VPN in nič ne šifrira koristnega tovora. Način TLS v strojni programski opremi je ločena funkcija z lastnim ukazom in lastnim ravnanjem s potrdili, poljuben modul UART pa morda ne podpira nobenega od obeh. Preverite referenco ukazov AT za TCP/IP svoje strojne programske opreme, namesto da bi predpostavili, da zgornja skladnja velja zanjo.
Dolžina koristnega tovora v AT+CIPSEND se mora ujemati s tem, kar dejansko pošiljate, sicer bo modul čakal na bajte, ki nikoli ne pridejo, in povezava bo videti zataknjena. Ta napaka je videti kot omrežna težava in je skoraj vedno napaka za ena v dolžini.
Usmerite povezavo skozi prehod
Prehod potrebuje pot do zasebnega cilja, dovoljenje za posredovanje iz omrežja naprav v predor in povratno pot, ki doseže modul. Če oddaljena stran ne usmerja nazaj v podomrežje naprav, zasnova potrebuje namerno pravilo prevajanja in to pravilo spremeni identiteto vira, ki jo vidi storitev.
ip route get 10.90.0.20 sudo tcpdump -ni wg0 'host 10.90.0.20 and port 9000' sudo conntrack -L | grep 9000
Najprej opazujte povratno pot. Posredovani paket, ki doseže storitev in se nikoli ne vrne, povzroči v modulu časovno omejitev brez kakršne koli napake na prehodu, kar pošlje ljudi, da ure in ure gledajo v povezavo Wi-Fi. Zapis v conntracku vam pove, ali je prehod odgovor sploh videl.
Odločite, kje se predor zares konča
Predor se začne na prehodu. Ne šifrira povezave UART in ne spremeni segmenta lokalnega omrežja med modulom in prehodom v del predora. Vse, kar na tem segmentu potrebuje zaščito, potrebuje lasten mehanizem, običajni TCP v tem primeru pa ni TLS.
Odločite tudi, kaj se zgodi, ko predor pade. Če mora dostava potekati samo prek VPN, politika posredovanja ne sme dovoliti istega cilja po alternativni poti, ker varnostna pot tiho izniči zahtevo. Omejite vedenje pri ponovnem povezovanju, da odklopljeni modul ne preplavi serijske povezave ali oddaljene storitve s ponovnimi poskusi.
Zapišite vse štiri odgovore skupaj: naslov modula, cilj vtičnice, pot prehoda in mesto, kjer se začne šifriranje. Naslednja oseba, ki bo razhroščevala to napravo, bo potrebovala vse štiri in nobenega ni mogoče sklepati samo iz strojne programske opreme.