D’Applikatioun um Büroserver verbënnt sech mat MySQL op localhost, Dir kopéiert dësen Hostnumm an e Desktop-Client, an d’Verbindung schléit entweder fehl oder mécht eng aner Datebank op. D’VPN huet näischt un der Bedeitung vum Wuert geännert: localhost bezeechent nach ëmmer de Rechner, op deem de Client leeft. D’VPN huet Paketen geréckelt, net Interfacen. Entscheet, wéi en Endpunkt den Laptop soll erreechen, ier Dir eng Route beréiert.

Schrëtt 1: entscheet, wéi en Endpunkt den Laptop soll erreechen

Béid Entwërf si legitim a beäntweren ënnerschiddlech Froen. Direkten Accès heescht, datt d’Datebank op enger privater Adress lauschtert, déi den Tunnel erreecht, an de Laptop verbënnt sech mat där Adress. Weidergereeten Accès heescht, datt d’Datebank op loopback bleift an eng SSH-Sessioun de Port op Äre Rechner dréit. Wielt eng bewosst, well se ze mëschen eng Verbindung ergëtt, déi aus dem falsche Grond funktionnéiert.

Fir den direkten Accès hutt Dir den eegenen privaten Numm oder d’Adress vum Datebankhost an säi Port bei deem, deen en bedreift. D’Adress vum VPN-Gateway ass net d’Datebankadress, ausser et ass dee selwechte Rechner. Bestätegt duerno, datt de Lauschterer wierklech un déi Interface gebonnen ass, well eng Route zu enger Interface do keen Lauschterer erstellt.

Schrëtt 2: leet de Port nëmmen dann weider, wann de Lauschterer lokal bleift

Wann d’Datebank nëmmen op loopback soll bleiwen, leet se iwwer SSH weider a bind och dat lokal Enn un loopback. D’Bindadress lénks gehéiert zu Ärem Laptop; d’Zil riets gëtt vun der Säit vum SSH-Server interpretéiert, wéi d’OpenSSH-Referenz et beschreift. Dës zwou Rolle verdreien ass de gewéinleche Grond, firwat eng Weiderleitung schéngt ze funktionéieren awer mat näischt verbënnt.

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

Wann SSH op engem Spronghost landt an net um Datebankhost, bezitt sech de loopback riets op de Spronghost, an d’Zil muss op eng Adress changéieren, déi deen Host erreecht. ExitOnForwardFailure fänkt e Feeler beim Opbau vun der Weiderleitung, awer et beweist net, datt spéider Verbindungen zum Zil geléngen. Hält d’Hostschlësselprüfung un, a bitt de Weiderleitungsport net Ärem ganze LAN un, andeems Dir en un all Interface bindt.

Stoppt, wann d’Datebank nëmmen op loopback muss bleiwen an Dir kënnt SSH net benotzen. Dann ass den direkten Accès den falschen Entworf, net eng Konfiguratioun, déi een forcéiere soll.

Schrëtt 3: forcéiert de Client op TCP

Op Unix wielt e MySQL-Client, deem localhost gëtt, standardméisseg en Unix-Socket, also kann nëmmen de Port z’änneren hien no engem Socket sichen loossen, deen näischt mat Ärer Weiderleitung ze dinn huet. Benotzt de explizitten TCP-Protokoll an d’loopback-Adress, fir de Client eng Verbindung op Äre Weiderleitungsport opzemaachen.

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

D’Passwuertoptioun ouni Wäert freet, amplaz d’Geheimnis an d’Kommandozeil ze setzen, an dat ass d’Gewunnecht, déi et wäert ass ze behalen. Aner Tools hunn hire eegene Schalter fir déi selwecht Ënnerscheedung, an e puer Dreiferen behandelen localhost och speziell. Kuckt, wat Äre Client mécht, amplaz unzehuelen, datt de Fändel iwwerdroe gouf. Den Datebankkont brauch och eng Erlaabnis, déi zur Quell passt, déi de Server gesäit, an dat ass de Weiderleitungshost, net Äre Laptop.

Stoppt, wann dat Tool net op TCP ka forcéiert ginn. Dann benotzt en anere Client, oder den direkten Accès zum private Lauschterer.

Schrëtt 4: beweist, wéi en Endpunkt Dir tatsächlech erreecht hutt

Frot de Server, wat hie mengt, datt d’Verbindung ass. D’Variabelen fir Hostnumm, Port a Socket soen Iech, ob Dir iwwer TCP komm sidd a wéi ee Lauschterer geäntwert huet, an d’Verbindungslëscht weist d’Quelladress, déi de Server opgeholl huet. Dee Beweis ass nëtzlecher wéi nach eng Routenännerung.

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

Notéiert, wéi en Endpunkt Dir probéiert hutt: e lokalen Unix-Socket, Äre Weiderleitungsport oder de private Lauschterer. Dee Feeler dräi hu verschidde Korrekturen, an d’VPN-Route z’änneren, während de Client nach mam falsche localhost schwätzt, ass verschwend Aarbecht. Hält och d’SSH-Authentifizéierung an d’Datebank-Authentifizéierung getrennt an den Notizen, well e Feeler an der enger vun engem Desktop-Client wéi e Feeler an der anerer ausgesäit. Entfernt duerno d’Weiderleitung, wann Dir fäerdeg sidd.

D’Checklëscht endet, wann Dir den Endpunkt, de Clientprotokoll, d’Quelladress, déi de Server gesinn huet, an d’Erlaabnis, déi et erlaabt huet, nenne kënnt. Véier Fakten, an déi nächst Verbindungsproblem hëlt Minutten amplaz engem Nomëtteg.

Ähnlech Artikelen