Pange VPN UART Wi-Fi mooduli taha, mitte selle sisse
UART Wi-Fi moodul vajab TCP-pistikut, tunneli omanik on lüüs. Nimetage selle aadress, hoidke tagasitee avatud ja teadke, kust krüptimine algab.
UART Wi-Fi mooduliga mikrokontroller ei pea VPN-i rakendama, et jõuda selle taga oleva teenuseni. Moodul juba käitab TCP/IP-pinu ja pakub püstikuid jadapordi kaudu ning samas kohtvõrgus olev lüüs saab selle liikluse tunnelist läbi viia. Lahendus töötab ainult siis, kui suudate neljale küsimusele järjekorras vastata, seega käsitlege seda kontrollloendina: aadress, püstik, marsruut, piir. Peatuge esimese värava juures, mis ebaõnnestub, sest hilisemad ei suuda seda korvata.
Andke igale kihile üks ülesanne
UART-lüli kannab AT-käske ja kasulikku koormust mikrokontrolleri ja mooduli vahel. Moodul ühineb Wi-Fi-võrguga ja omab IP-ühendust, sealhulgas oma lähteaadressi. Lüüs omab tunnelit, volitusi ja edastuspoliitikat. Nende ülesannete lahus hoidmine teeb lahenduse igas etapis silutavaks.
Eraldamine muudab ka seda, kuidas te lüüsi poliitikat kirjutate. Lähtekoha reegel peaks nimetama mooduli kohtvõrgu aadressi, mitte jadaliini taga oleva mikrokontrolleri väljamõeldud aadressi. Mikrokontrolleril ei ole selles lahenduses oma IP-identiteeti, ja selle olemasolu teesklemine loob reegli, mis ei sobi kunagi.
Andke moodulile püsiv aadress mis tahes reserveerimismehhanismi kaudu, mida võrk toetab, või asetage seadmed oma segmenti ja laske lüüsil liidese järgi sobitada. Pärast taaskäivitust muutuv basseini aadress rikub lõpuks poliitika, mis oli kirjutamise ajal õige.
Kas lüüs saab mooduli aadressi nimetada?
Enne mis tahes püstiku avamist kinnitage, et moodul on ühendatud, sellel on aadress ja lüüs näeb seda oodatud liidesel. See on värav, mis kõige sagedamini vaikselt ebaõnnestub, sest moodul teatab hea meelega ühenduskatsest, mis ei lahkunud kunagi kohtvõrgust.
AT+CWMODE=1 AT+CWJAP="lab-wifi","passphrase" AT+CIPSTA? AT+CIPMUX=0
Ühe ühenduse režiim hoiab käsujada lihtsana ja on õige alguspunkt ühele andurile, mis räägib ühe teenusega. Mitme ühenduse režiim muudab iga järgneva käsu süntaksit, seega otsustage, millises režiimis olete, enne kui kopeerite näidet teisest püsivara versioonist.
Avage püstik moodulist
Kui aadress ja režiim on selged, saab moodul avada TCP-ühenduse privaatse teenusega. Allpool olev aadress on näide dokumentatsiooni vahemikust; asendage see enda omaga ja hoidke sama kuju.
AT+CIPSTART="TCP","10.90.0.20",9000
AT+CIPSEND=18
{"t":21.4,"rh":48}
See AT-käsk avab tavalise TCP-püstiku ja püstik ei ole tunnel: miski selles ei loo VPN-i ega krüpti kasulikku koormust. Püsivara TLS-režiim on eraldi funktsioon oma käsu ja oma sertifikaadikäitlusega ning suvaline UART-moodul ei pruugi kummagi toetust pakkuda. Vaadake oma püsivara TCP/IP AT-käskude viidet, selle asemel et eeldada, et ülaltoodud süntaks kehtib selle kohta.
Kasuliku koormuse pikkus AT+CIPSEND-s peab vastama sellele, mida te tegelikult saadate, muidu ootab moodul baite, mis kunagi ei saabu, ja ühendus näib olevat hangunud. See tõrge näeb välja nagu võrguprobleem ja on peaaegu alati ühe võrra eksimus pikkuses.
Suunake ühendus lüüsi kaudu
Lüüs vajab marsruuti privaatse sihtkohani, luba edastada seadmevõrgust tunnelisse ja tagasiteed, mis jõuab moodulini. Kui kaugpool ei suuna tagasi seadme alamvõrku, vajab lahendus teadlikku tõlkereeglit ja see reegel muudab lähteidentiteeti, mida teenus näeb.
ip route get 10.90.0.20 sudo tcpdump -ni wg0 'host 10.90.0.20 and port 9000' sudo conntrack -L | grep 9000
Jälgige kõigepealt tagasiteed. Edastatud pakett, mis jõuab teenuseni ega naase kunagi, tekitab moodulis ajalõpu ilma ühegi veata lüüsil, mis paneb inimesi tunde Wi-Fi-lüli uurima. conntrack-kirje ütleb teile, kas lüüs vastust üldse nägi.
Otsustage, kus tunnel tegelikult lõpeb
Tunnel algab lüüsil. See ei krüpti UART-lüli ega muuda mooduli ja lüüsi vahelist kohtvõrgu segmenti tunneli osaks. Kõik, mis selles segmendis kaitset vajab, vajab oma mehhanismi, ja tavaline TCP ei ole selles näites TLS.
Otsustage ka, mis juhtub, kui tunnel langeb. Kui kohaletoimetamine peab toimuma ainult VPN-i kaudu, ei tohi edastuspoliitika lubada sama sihtkohta alternatiivsel teel, sest varumarsruut tühistab nõude vaikselt. Piirake taasthenduse käitumist, et lahtiühendatud moodul ei ujutaks jadaliini ega kaugteenust korduskatsetega üle.
Kirjutage neli vastust koos üles: mooduli aadress, püstiku siht, lüüsi marsruut ja koht, kus krüptimine algab. Järgmine inimene, kes seda seadet silub, vajab kõiki nelja, ja ühtki neist ei saa tuletada ainult püsivarast.