Scenario:
immaginate di essere in una rete LAN con diverse subnet, alcune escono su Internet altre no, ma tutte sono raggiungibili dalla LAN via ssh.
La subnet dove il vostro pc/laptop e’ connesso esce su internet mentre il server in cui state lavorando via ssh non ha la possibilita’ di uscire su Internet, magari perche’ deve fare solo servizi “interni” (intranet).
Mettete ora che dobbiate installare diversi pacchetti/software nel server che non ha internet e vi siete stancati di dover scaricare tutto prima sul vostro pc/laptop e poi copiarlo via scp sul server e volete che il server riesca a prendere direttamente i vari pacchetti da internet.
Howto:
Installate nel vostro pc/laptop (quello insomma che ha la connessione internet) tinyproxy
sudo aptitude install tinyproxy
Configurate tinyproxy in modo che alla vostra LAN sia permesso di usare il vostro proxy
sudo vi /etc/tinyproxy/tinyproxy.conf
Aggiungete una riga simile a questa, cambiando la subnet con la vostra:
Allow 10.0.0.0/8
Riavviate tinyproxy:
sudo /etc/init.d/tinyproxy restart
Ora la parte client, ovvero come dire al vostro pc che non esce su internet di utilizzare il proxy del vostro laptop:
collegatevi al server ed eseguite i seguenti comandi:
http_proxy=http://<IP>:<PORT>/
HTTP_PROXY=$http_proxy
export http_proxy HTTP_PROXY
dove <IP> sta per l’ip del pc/laptop che ha il tinyproxy e <PORT> e’ la porta che avete configurato (di default e’ 8888)
ora provate a fare un wget o un lynx e vedrete che il vostro server riuscira’ a raggiungere gli host esterni passando per il vostro laptop 🙂
PS
Se volete che la connessione via proxy funzioni al prossimo riavvio del server senza dover ridare i comandi sopra, basta aggiungerli al file /etc/bashrc