Bulegoko zerbitzariko aplikazioa localhost helbidean MySQLrekin konektatzen da, ostalari-izen hori mahaigaineko bezero batean kopiatzen duzu, eta konexioak huts egiten du edo beste datu-base bat irekitzen du. VPNak ez zuen hitzaren esanahia aldatu: localhost oraindik bezeroa exekutatzen duen makinari egiten dio erreferentzia. VPNak paketeak mugitu zituen, ez interfazeak. Erabaki eramangarriak zein muturretara iritsi behar duen ibilbideren bat ukitu aurretik.

1. urratsa: erabaki eramangarriak zein muturretara iritsi behar duen

Bi diseinuak zilegiak dira eta galdera desberdinei erantzuten diete. Sarbide zuzenak esan nahi du datu-basea tunelean iristen den helbide pribatu batean entzuten ari dela, eta eramangarria helbide horretara konektatzen dela. Birbidalitako sarbideak esan nahi du datu-basea loopbackean geratzen dela eta SSH saio batek ataka zure makinara eramaten duela. Aukeratu bat nahita, biak nahasteak arrazoi okerrengatik funtzionatzen duen konexioa sortzen baitu.

Sarbide zuzenerako, eskatu datu-basearen ostalariaren beraren izen edo helbide pribatua eta bere ataka kudeatzen duenari. VPN atearen helbidea ez da datu-basearen helbidea, makina bera ez bada. Ondoren egiaztatu entzulea benetan interfaze horretara lotuta dagoela, interfaze baterako ibilbideak ez baitu entzulerik sortzen haren gainean.

2. urratsa: birbidali ataka entzulea lokala denean soilik

Datu-baseak loopbackean soilik egon behar badu, birbidali SSH bidez eta lotu mutur lokala ere loopbackera. Ezkerreko lotura-helbidea zure eramangarriarena da; eskuineko helburua SSH zerbitzariaren aldetik interpretatzen da, OpenSSH erreferentziak deskribatzen duen bezala. Bi rol horiek alderantziz jartzea da birbidalketa funtzionatzen duela dirudien baina ezeri konektatzen ez zaion arrazoi ohikoa.

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

SSH datu-basearen ostalariaren ordez jauzi-ostalari batera iristen bada, eskuineko loopbackak jauzi-ostalariari egiten dio erreferentzia, eta helburua ostalari horrek iristen duen helbide batera aldatu behar da. ExitOnForwardFailure-k birbidalketa ezartzean huts egitea harrapatzen du, baina ez du frogatzen helbururako geroko konexioek arrakasta dutenik. Mantendu ostalari-gakoaren egiaztapena piztuta, eta ez eskaini birbidalketa-ataka zure LAN osoari interfaze guztietara lotuz.

Gelditu datu-baseak loopbackean soilik egon behar badu eta SSH erabili ezin baduzu. Orduan sarbide zuzena diseinu okerra da, ez behartu beharreko konfigurazioa.

3. urratsa: behartu bezeroa TCPra

Unixen, localhost jasotzen duen MySQL bezero batek Unix socket bat aukeratzen du lehenespenez, beraz ataka soilik aldatzeak zure birbidalketarekin zerikusirik ez duen socket baten bila utz dezake. Erabili TCP protokolo esplizitua eta loopback helbidea bezeroak zure birbidalketa-atarako konexio bat ireki dezan.

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

Baliorik gabeko pasahitz aukerak galdetu egiten du sekretua komando-lerroan jarri beharrean, eta hori da mantentzea merezi duen ohitura. Beste tresnek beren etengailua dute bereizketa bererako, eta kontrolatzaile batzuek localhost bereziki tratatzen dute ere. Egiaztatu zure bezeroak zer egiten duen bandera pasatu dela suposatu beharrean. Datu-basearen kontuak zerbitzariak ikusten duen iturriarekin bat datorren baimena behar du, eta hori birbidalketa-ostalaria da, ez zure eramangarria.

Gelditu tresna TCPra behartu ezin bada. Orduan erabili beste bezero bat, edo entzule pribaturako sarbide zuzena.

4. urratsa: frogatu zein muturretara iritsi zinen benetan

Galdetu zerbitzariari zer uste duen konexioa dela. Ostalari-izenaren, atakaren eta socketaren aldagaiek esaten dute TCP bidez iritsi zinen eta zein entzukek erantzun zuen, eta konexio-zerrendak zerbitzariak erregistratu zuen iturburu-helbidea erakusten du. Froga hori beste ibilbide-aldaketa bat baino erabilgarriagoa da.

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

Idatzi zein muturretara saiatu zinen: Unix socket lokala, zure birbidalketa-ataka edo entzule pribatua. Hiru hutsegite horiek konponbide desberdinak dituzte, eta VPN ibilbidea aldatzea bezeroa oraindik localhost okerrarekin hitz egiten ari denean alferrikako ahalegina da. Eduki SSH autentifikazioa eta datu-basearen autentifikazioa bereizita oharretan ere, batetako hutsegitea bestearen hutsegitea bezala ikusten baita mahaigaineko bezero batetik. Gero kendu birbidalketa amaitu duzunean.

Zerrenda amaitzen da muturra, bezeroaren protokoloa, zerbitzariak ikusi zuen iturburu-helbidea eta hori ahalbidetu zuen baimena izenda ditzakezunean. Lau gertaera, eta hurrengo konexio-arazoak minutu batzuk hartzen ditu arratsalde bat beharrean.

Erlazionatutako artikuluak