L-app fuq is-server tal-uffiċċju tikkonnettja ma’ MySQL fuq localhost, inti tikkopja dak l-isem tal-host f’klijent tad-desktop, u l-konnessjoni jew tfalli jew tiftaħ database ieħor. Il-VPN ma bidlit xejn fit-tifsira tal-kelma: localhost xorta jirreferi għall-magna li topera l-klijent. Il-VPN mexxa pakketti, mhux interfaċċi. Iddeċiedi liema endpoint għandu jilħaq il-laptop qabel ma tmiss rotta.

Pass 1: iddeċiedi liema endpoint għandu jilħaq il-laptop

Iż-żewġ disinji huma leġittimi u jwieġbu mistoqsijiet differenti. Aċċess dirett ifisser li d-database tisma’ fuq indirizz privat li jilħaq it-tunnel, u l-laptop jikkonnettja ma’ dak l-indirizz. Aċċess trasferit ifisser li d-database tibqa’ fuq loopback u sessjoni SSH iġġorr il-port sal-magna tiegħek. Agħżel wieħed b’mod deliberat, għax it-taħlit tagħhom jipproduċi konnessjoni li taħdem għar-raġuni l-ħażina.

Għall-aċċess dirett, ġib l-isem jew l-indirizz privat proprju tal-host tad-database u l-port tiegħu mingħand min imexxih. L-indirizz tal-gateway tal-VPN mhuwiex l-indirizz tad-database sakemm ma jkunx l-istess magna. Imbagħad ikkonferma li s-semmiegħ huwa tassew marbut ma’ dik l-interface, għax rotta lejn interface ma toħloqx semmiegħ fuqha.

Pass 2: ittrasferixxi l-port biss jekk is-semmiegħ jibqa’ lokali

Jekk id-database trid tibqa’ biss fuq loopback, ittrasferixxiha permezz ta’ SSH u orbot ukoll it-tarf lokali ma’ loopback. L-indirizz tal-irbit fuq ix-xellug huwa tal-laptop tiegħek; il-mira fuq il-lemin tiġi interpretata min-naħa tas-server SSH, kif jiddeskrivi ir-referenza tal-OpenSSH. Li tinqaleb dawn iż-żewġ rwoli huwa r-raġuni tas-soltu għalfejn trasferiment jidher li jaħdem imma ma jikkonnettjax ma’ xejn.

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:13306:127.0.0.1:3306 [email protected]
ss -ltn 'sport = :13306'

Jekk SSH jinżel fuq host tal-qabża minflok fuq il-host tad-database, il-loopback fuq il-lemin jirreferi għall-host tal-qabża, u l-mira trid tinbidel għal indirizz li dak il-host jilħaq. ExitOnForwardFailure jaqbad falliment fit-twaqqif tat-trasferiment, imma ma jipprovax li konnessjonijiet aktar tard lejn il-mira jirnexxu. Żomm il-verifika tal-muftieħ tal-host mixgħula, u toffrix il-port tat-trasferiment lin-netwerk LAN kollu tiegħek billi torbot ma’ kull interface.

Waqqaf jekk id-database trid tibqa’ biss fuq loopback u ma tistax tuża SSH. Allura l-aċċess dirett huwa d-disinn ħażin, mhux konfigurazzjoni li trid tiġi sfurzata.

Pass 3: ġġiegħel il-klijent juża TCP

Fuq Unix, klijent MySQL li jingħata localhost jagħżel socket Unix b’mod awtomatiku, għalhekk li tibdel biss il-port jista’ jħallih ifittex socket li m’għandu x’jaqsam xejn mat-trasferiment tiegħek. Uża l-protokoll TCP espliċitu u l-indirizz loopback biex il-klijent jiftaħ konnessjoni mal-port tat-trasferiment tiegħek.

mysql --protocol=TCP --host=127.0.0.1 --port=13306 --user=DB_USER --password

L-għażla tal-password mingħajr valur tistaqsi minflok ma tpoġġi s-sigriet fuq il-linja tal-kmand, u din hija l-vizzju li jistħoqqlu jinżamm. Għodod oħra għandhom is-swiċċ tagħhom għall-istess distinzjoni, u xi drivers jittrattaw localhost b’mod speċjali wkoll. Iċċekkja x’jagħmel il-klijent tiegħek minflok ma tassumi li l-bandiera għaddiet. Il-kont tad-database wkoll jeħtieġ permess li jaqbel mas-sors li jara s-server, u dak huwa l-host tat-trasferiment, mhux il-laptop tiegħek.

Waqqaf jekk l-għodda ma tistax tiġi sfurzata fuq TCP. Imbagħad uża klijent ieħor, jew uża aċċess dirett għas-semmiegħ privat.

Pass 4: ipprova liema endpoint inti tassew ħlaqt

Staqsi lis-server x’jaħseb li hija l-konnessjoni. Il-varjabbli tal-isem tal-host, tal-port u tas-socket jgħidulek jekk wasaltx permezz ta’ TCP u liema semmiegħ wieġeb, u l-lista tal-konnessjonijiet turi l-indirizz tas-sors li rreġistra s-server. Dak l-evidenza hija aktar utli minn bidla oħra fir-rotta.

mysql --protocol=TCP -h 127.0.0.1 -P 13306 -u DB_USER -p -e "SELECT @@hostname, @@port, @@socket"

Irreġistra liema endpoint ippruvajt: socket Unix lokali, il-port tat-trasferiment tiegħek jew is-semmiegħ privat. Dawn it-tliet fallimenti għandhom swieq differenti, u li tibdel ir-rotta tal-VPN waqt li l-klijent għadu qed jitkellem mal-localhost ħażin huwa xogħol fix-xejn. Żomm l-awtentikazzjoni SSH u l-awtentikazzjoni tad-database separati fin-noti wkoll, għax falliment f’waħda jidher bħal falliment fl-oħra minn klijent tad-desktop. Imbagħad neħħi t-trasferiment meta tkun spiċċajt.

Il-lista tintemm meta tkun tista’ ssemmi l-endpoint, il-protokoll tal-klijent, l-indirizz tas-sors li ra s-server u l-permess li ppermetta dan. Erba’ fatti, u l-problema tal-konnessjoni li jmiss tieħu minuti minflok wara nofsinhar.

Artikli relatati