Il metodo esposto è valido per gran parte dei servizi di rete, ma quì vedremo nello specifico come accedere ad un server Postgres o Mysqlposizionato dietro un firewall. Su sistemi *nix possiamo direttamente utilizzare ssh da riga di comando. Supponendo che l'indirizzo IP del firewall sia X.X.X.X, che abbiamo un'utenza valida su di esso (ad es. con utente=user), e che il database dietro abbia indirizzo IP interno Y.Y.Y.Y , per fare il tunneling di postgres, da riga di comando scriveremo: ssh
Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
-L 5432:Y.Y.Y.Y:5432
In pratica stiamo dicendo ad ssh di: 1) connettersi a X.X.X.X utilixzzando "user" come nome utente 2) Inoltrare le chiamate a localhost(127.0.0.1), porta 5432, verso la macchina con IP Y.Y.Y.Y (posta dietro il firewall), stessa porta. Per Mysql stessa cosa, ma la porta è la 3306. Notiamo che se sulla nostra macchina locale è già presente un postgres o un mysql, dovremo utilizzare una porta locale differente inutilizzata. Ad esempio, nel caso in cui preesista un mysql, se invece la porta 4306 è libera potremmo scrivere: ssh
Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
-L 4306:Y.Y.Y.Y:3306 Per essere chiaro, nell'argomento '-L' la prima porta è quella mappata in locale, la seconda è la remota. Bene, ora dobiamo tentare di connetterci al database remoto. Nella stringa di connessione al db utilizzeremo 127.0.0.1 come indirizzo IP del motore e come porta la porta locale indicata(4306 in questo caso). Un'altra possibilità , indipendente dalla piattaforma, è Tunnel4J, un piccolo applicativo grafico, gratuito, java che permette di creare connessioni su server remoti è fare redirezione di porte a scopo di 'tunneling.
|