Il mio MacBook in ufficio non ha accesso a Internet. Così ho impostato un proxy SOCKS istantaneo su SSH per navigare sul Web.
Tuttavia, quando provo ad aggiungere una voce a /etc/hosts
, il browser non va al sito che mi aspettavo ...
Il Wi-Fi del mio MacBook è spento ed è connesso alla LAN aziendale:
IP address: 192.168.8.250
Subnet mask: 255.255.255.0
Router: 192.168.8.1
DNS server: 8.8.8.8
Sii predefinito, non c'è accesso a Internet.
C'è una scatola di sviluppo Linux (192.168.12.128) che ha accesso a Internet, quindi ho configurato un proxy SOCKS istantaneo per ottenere l'accesso a Internet per il mio MacBook:
ssh -fND localhost:30000 [email protected]
Quindi nelle Preferenze di sistema del mio MacBook > Rete > Proxy
(Enable) SOCKS Proxy
SOCKS Proxy sever: 127.0.0.1:30000
Bypass proxy settings for these Hosts & Domains:
*.local, 169.254/16, 127.0.0.1
Ora posso navigare sul Web, finora tutto bene.
Per lo sviluppo, ho impostato alcune voci in /etc/hosts
per lo scopo degli host virtuali:
127.0.0.1 air.company.com
In bash
:
$ ping air.company.com
PING air.ohho.es (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.046 ms
$ curl air.company.com
<html>OK</html>
Sembra buono e curl
restituisce il contenuto di index.html
bene.
Tuttavia, se provo ad aprire il sito: http://air.company.com
nei browser (Safari / Chrome / Firefox), nessuno di loro restituisce il risultato come curl
fatto. Chrome ha dato un errore:
This webpage is not available The webpage at http://air.company.com/ might be temporarily down or it may have moved permanently to a new web address. Error 120 (net::ERR_SOCKS_CONNECTION_FAILED): Unknown error.
Se aggiungo un'altra voce in /etc/hosts
:
127.0.0.1 www.microsoft.com
In bash
:
$ ping www.microsoft.com
PING www.microsoft.com (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.128 ms
^C
--- www.microsoft.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.047/0.087/0.128/0.041 ms
$ curl www.microsoft.com
<html>OK</html>
Tuttavia, i browser restituiscono il contenuto dal server Web del vero sito Microsoft, invece del contenuto dal mio MacBook (127.0.01). Perché?
P.S.
Se disattivo il proxy SOCKS, il browser restituisce correttamente il contenuto da 127.0.0.1.
Se disconnetto il cavo LAN, il browser restituisce correttamente il contenuto da 127.0.0.1.