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 trato de agregar una entrada a /etc/hosts
, el navegador no va al sitio que esperaba...
El WIFI de mi MacBook está apagado y 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 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 bien.
Para el desarrollo, configuré algunas entradas /etc/hosts
para propósitos de 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 de la index.html
muy bien.
Sin embargo, si trato de 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 inactiva o puede haberse movido permanentemente a una nueva dirección web. Error 120 (net::ERR_SOCKS_CONNECTION_FAILED): Error desconocido.
Si agrego 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é?
PD
Si desactivo el proxy SOCKS, el navegador devuelve correctamente el contenido de 127.0.0.1.
Si desconecto el cable LAN, el navegador devuelve el contenido de 127.0.0.1 correctamente.
Su navegador está solicitando al proxy SOCKS los sitios, no se está conectando directamente. Por lo tanto, poner la dirección IP en la lista de excepciones no funciona, ya que su computadora no realiza la búsqueda de air.company.com a 127.0.0.1. El proxy SOCKS es.
Para evitar esto, coloque el nombre de dominio completo de lo que está accediendo localmente en la lista de excepciones en Preferencias del Sistema > Red > Proxies.
Entonces, para air.company.com, verá una lista de excepciones (de su ejemplo anterior) de:
*.local, 169.254/16, 127.0.0.1, air.company.com
Su computadora ahora se conectará a air.company.com directamente y, por lo tanto, utilizará /etc/hosts.
8Ninguno1
8Ninguno1
Tigerware