Mi MacBook en la oficina no tiene acceso a Internet. Así que configuré un proxy SOCKS instantáneo a través de SSH para navegar por la web.
Sin embargo, cuando intento añadir una entrada a /etc/hosts
El navegador no va al sitio que esperaba...
El WIFI de mi MacBook está apagado y está conectado a la LAN de la empresa:
IP address: 192.168.8.250
Subnet mask: 255.255.255.0
Router: 192.168.8.1
DNS server: 8.8.8.8
Por defecto, no hay acceso a Internet.
Hay una caja de desarrollo de Linux (192.168.12.128) que tiene acceso a Internet, así que configuré un proxy SOCKS instantáneo para obtener acceso a Internet para mi MacBook:
ssh -fND localhost:30000 ohho@192.168.12.128
Luego, en las Preferencias del Sistema de mi MacBook > Red > Proxies
(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
Ahora puedo navegar por la web, hasta ahora todo va bien.
Para el desarrollo, establecí algunas entradas en /etc/hosts
para el propósito de los hosts virtuales:
127.0.0.1 air.company.com
En 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>
Se ve bien y curl
devuelve el contenido del index.html
muy bien.
Sin embargo, si intento abrir el sitio: http://air.company.com
en los navegadores (Safari/Chrome/Firefox), ninguno de ellos devuelve el resultado como curl
lo hizo. Chrome da un error:
Esta página web no está disponible La página web en http://air.company.com/ puede estar temporalmente fuera de servicio o puede haberse trasladado permanentemente a una nueva dirección web. Error 120 (net::ERR_SOCKS_CONNECTION_FAILED): Desconocido error.
Si añado otra entrada en /etc/hosts
:
127.0.0.1 www.microsoft.com
En 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>
Sin embargo, los navegadores devuelven el contenido del servidor web del sitio real de Microsoft, en lugar del contenido de mi MacBook (127.0.01). ¿Por qué?
p.d.
Si desactivo el proxy SOCKS, el navegador devuelve el contenido de 127.0.0.1 correctamente.
Si desconecto el cable LAN, el navegador devuelve el contenido de 127.0.0.1 correctamente.