Mikrokontrollur b'modulu Wi-Fi UART m'għandux għalfejn jimplimenta VPN biex jasal għal servizz warajh. Il-modulu diġà jġib imqarriega TCP/IP u joffri sockets fuq il-port serjali, u gateway fl-istess LAN tista' ġġorr dak it-traffiku mit-tunnel. Id-disinn jaħdem biss jekk inti tista' twieġeb erba' mistoqsijiet bl-ordni, għalhekk ittrattah bħala lista ta' verifika: indirizz, socket, rotta, konfini. Waqqaf mal-ewwel bieb li jonqos, għax dawk ta' wara ma jistgħux ipattu għalih.

Agħti xogħol wieħed lil kull saff

Ir-rabta UART iġġorr kmandi AT u tagħbija bejn il-mikrokontrollur u l-modulu. Il-modulu jingħaqad man-netwerk Wi-Fi u jippossjedi l-konnessjoni IP, inkluż l-indirizz sors tiegħu. Il-gateway tippossjedi t-tunnel, il-kredenzjali u l-politika tal-ġarr 'il quddiem. Is-separazzjoni ta' dan ix-xogħol hija dak li jagħmel id-disinn aġġustabbli f'kull stadju.

Is-separazzjoni tibdel ukoll kif tikteb il-politika tal-gateway. Regola tas-sors għandha ssemmi l-indirizz LAN tal-modulu, mhux indirizz immaġinarju għall-mikrokontrollur wara r-rabta serjali. Il-mikrokontrollur m'għandux identità IP proprja f'dan id-disinn, u li tagħmel tabirruħek li għandu joħloq regola li qatt ma taqbel.

Agħti lill-modulu indirizz stabbli permezz ta' kwalunkwe mekkaniżmu ta' riserva li jappoġġja n-netwerk, jew poġġi l-apparati fis-segment tagħhom u ħalli l-gateway tqabbel skond l-interface. Indirizz mill-pool li jinbidel wara reboot fl-aħħar se jkisser politika li kienet korretta meta ktibtha.

Tista' l-gateway issemmi l-indirizz tal-modulu?

Qabel ma tiftaħ kwalunkwe socket, ikkonferma li l-modulu huwa assoċjat, għandu indirizz u li l-gateway tarah fuq l-interface mistenni. Dan huwa l-bieb li l-aktar jonqos fis-skiet, għax il-modulu ferħan jirrapporta tentattiv ta' konnessjoni li qatt ma ħareġ mil-LAN.

AT+CWMODE=1
AT+CWJAP="lab-wifi","passphrase"
AT+CIPSTA?
AT+CIPMUX=0

Il-modalità ta' konnessjoni waħda żżomm is-sekwenza tal-kmandi sempliċi, u hija l-punt tat-tluq it-tajjeb għal sensor wieħed li jitkellem ma' servizz wieħed. Il-modalità ta' konnessjonijiet multipli tibdel is-sintassi ta' kull kmand sussegwenti, għalhekk iddeċiedi f'liema waħda inti qabel ma tikkopja eżempju minn verżjoni oħra tal-firmware.

Iftaħ is-socket mill-modulu

Meta l-indirizz u l-modalità jkunu stabbiliti, il-modulu jista' jiftaħ konnessjoni TCP mas-servizz privat. L-indirizz hawn taħt huwa eżempju minn medda ta' dokumentazzjoni; ibdelu tiegħek u żomm l-istess forma.

AT+CIPSTART="TCP","10.90.0.20",9000
AT+CIPSEND=18
{"t":21.4,"rh":48}

Dak il-kmand AT jiftaħ socket TCP sempliċi, u socket mhuwiex tunnel: xejn fih ma joħloq VPN u xejn ma jikkripta t-tagħbija. Il-modalità TLS tal-firmware hija karatteristika separata bil-kmand tagħha u bl-immaniġġjar tagħha taċ-ċertifikati, u modulu UART arbitrarju jista' ma jappoġġja l-ebda waħda minnhom. Iċċekkja r-referenza tal-kmandi AT TCP/IP tal-firmware tiegħek minflok ma tassumi li s-sintassi ta' fuq tapplika għaliha.

It-tul tat-tagħbija f'AT+CIPSEND irid jaqbel ma' dak li tibgħat fil-verità, inkella l-modulu jistenna bytes li qatt ma jaslu u l-konnessjoni tidher imblukkata. Dak il-falliment jidher bħala problema tan-netwerk u kważi dejjem huwa żball ta' wieħed fit-tul.

Idderieġi l-konnessjoni mill-gateway

Il-gateway teħtieġ rotta lejn id-destinazzjoni privata, permess biex iġġorr min-netwerk tal-apparati fit-tunnel u mogħdija lura li tasal għall-modulu. Jekk in-naħa remota ma tidderieġix lura għas-subnet tal-apparati, id-disinn jeħtieġ regola ta' traduzzjoni intenzjonata, u dik ir-regola tibdel l-identità tas-sors li tara s-servizz.

ip route get 10.90.0.20
sudo tcpdump -ni wg0 'host 10.90.0.20 and port 9000'
sudo conntrack -L | grep 9000

Osserva l-mogħdija lura l-ewwel. Pakkett imġorr 'il quddiem li jasal għas-servizz u qatt ma jerġa' lura joħloq timeout fil-modulu mingħajr ebda żball fuq il-gateway, li jħalli lin-nies iħarsu lejn ir-rabta Wi-Fi għal sigħat. Id-dħul ta' conntrack jgħidlek jekk il-gateway ratx it-tweġiba.

Iddeċiedi fejn it-tunnel verament jispiċċa

It-tunnel jibda fil-gateway. Ma jikkriptax ir-rabta UART, u ma jagħmilx is-segment LAN bejn il-modulu u l-gateway parti mit-tunnel. Kull ħaġa li teħtieġ protezzjoni f'dak is-segment teħtieġ mekkaniżmu tagħha, u t-TCP sempliċi f'dan l-eżempju mhuwiex TLS.

Iddeċiedi wkoll x'jiġri meta t-tunnel jaqa'. Jekk il-kunsinna trid tkun biss permezz tal-VPN, il-politika tal-ġarr 'il quddiem ma għandhiex tippermetti l-istess destinazzjoni permezz ta' triq alternattiva, għax rotta ta' riżerva tirbaħ il-ħtieġa fis-skiet. Illimita l-imġiba ta' konnessjoni mill-ġdid sabiex modulu skonnettjat ma jgħarraqx ir-rabta serjali jew is-servizz remot b'tentattivi ripetuti.

Ikteb l-erba' tweġibiet flimkien: l-indirizz tal-modulu, il-mira tas-socket, ir-rotta tal-gateway u fejn jibda l-kriptaġġ. Il-persuna li jmiss li tiddibbagja dan l-apparat se jkollha bżonn l-erbgħa kollha, u ħadd minnhom ma jista' jiġi dedott mill-firmware biss.

Artikli relatati