Mein MacBook im Büro hat keinen Internetzugang. Also habe ich einen sofortigen SOCKS-Proxy über SSH eingerichtet, um im Internet zu surfen.
Wenn ich jedoch versuche, einen Eintrag zu hinzuzufügen /etc/hosts
, geht der Browser nicht auf die erwartete Seite ...
Das WLAN meines MacBook ist ausgeschaltet und mit dem Firmen-LAN verbunden:
IP address: 192.168.8.250
Subnet mask: 255.255.255.0
Router: 192.168.8.1
DNS server: 8.8.8.8
Standardmäßig gibt es keinen Internetzugang.
Es gibt eine Linux-Entwicklungsbox (192.168.12.128), die Zugriff auf das Internet hat, also richte ich einen sofortigen SOCKS-Proxy ein, um Internetzugang für mein MacBook zu erhalten:
ssh -fND localhost:30000 ohho@192.168.12.128
Dann in den Systemeinstellungen meines MacBook > Netzwerk > Proxys
(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
Jetzt kann ich im Internet surfen, soweit so gut.
Für die Entwicklung habe ich einige Einträge /etc/hosts
für virtuelle Hosts eingerichtet:
127.0.0.1 air.company.com
Im 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>
Es sieht gut aus und curl
gibt den Inhalt index.html
gut wieder.
Wenn ich jedoch versuche, die Site zu öffnen: http://air.company.com
In den Browsern (Safari/Chrome/Firefox) gibt keiner von ihnen das Ergebnis wie zuvor zurück curl
. Chrome gibt einen Fehler aus:
Diese Webseite ist nicht verfügbar Die Webseite unter http://air.company.com/ ist möglicherweise vorübergehend nicht verfügbar oder wurde dauerhaft an eine neue Webadresse verschoben. Fehler 120 (net::ERR_SOCKS_CONNECTION_FAILED): Unbekannter Fehler.
Wenn ich einen weiteren Eintrag hinzufüge in /etc/hosts
:
127.0.0.1 www.microsoft.com
Im 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>
Die Browser geben jedoch den Inhalt vom Webserver der echten Microsoft-Site zurück, anstatt den Inhalt von meinem MacBook (127.0.01). Warum?
p.s
Wenn ich den SOCKS-Proxy deaktiviere, gibt der Browser den Inhalt von 127.0.0.1 korrekt zurück.
Wenn ich das LAN-Kabel trenne, gibt der Browser den Inhalt von 127.0.0.1 korrekt zurück.
Ihr Browser fragt den SOCKS-Proxy nach den Sites, er stellt keine direkte Verbindung her. Daher funktioniert das Einfügen der IP-Adresse in die Ausnahmeliste nicht, da Ihr Computer die Suche von air.company.com nach 127.0.0.1 nicht durchführt. Der SOCKS-Proxy ist.
Um dies zu vermeiden, platzieren Sie den vollständigen Domänennamen dessen, auf das Sie lokal zugreifen, in der Ausnahmeliste unter Systemeinstellungen > Netzwerk > Proxys.
Für air.company.com würden Sie also eine Ausnahmeliste (aus Ihrem obigen Beispiel) sehen von:
*.local, 169.254/16, 127.0.0.1, air.company.com
Ihr Computer verbindet sich nun direkt mit air.company.com und verwendet daher /etc/hosts.
8Keine1
8Keine1
Tigerware