사무실의 MacBook이 인터넷에 연결되어 있지 않습니다. 그래서 웹을 서핑하기 위해 SSH를 통해 인스턴트 SOCKS 프록시를 설정했습니다.
그러나에 항목을 추가하려고 /etc/hosts
하면 브라우저가 예상 한 사이트로 이동하지 않습니다 ...
MacBook의 WIFI가 꺼져 있고 회사 LAN에 연결되어 있습니다.
IP address: 192.168.8.250
Subnet mask: 255.255.255.0
Router: 192.168.8.1
DNS server: 8.8.8.8
기본적으로 인터넷에 연결되어 있지 않습니다.
인터넷에 액세스 할 수있는 Linux 개발 상자 (192.168.12.128)가 있으므로 MacBook에 인터넷에 액세스 할 수 있도록 인스턴트 SOCKS 프록시를 설정했습니다.
ssh -fND localhost:30000 ohho@192.168.12.128
그런 다음 MacBook의 시스템 환경 설정> 네트워크> 프록시에서
(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
지금까지 웹 서핑을 할 수있었습니다.
개발을 /etc/hosts
위해 가상 호스트 목적 으로 몇 가지 항목을 설정했습니다 .
127.0.0.1 air.company.com
에서 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>
보기 좋고 curl
내용을 index.html
멋지게 돌려줍니다 .
그러나 http://air.company.com
브라우저 (Safari / Chrome / Firefox)에서 사이트를 열려고하면 아무도 그 결과를 반환 curl
하지 않습니다. Chrome에서 오류가 발생했습니다.
이 웹 페이지를 사용할 수 없음 http://air.company.com/ 의 웹 페이지 가 일시적으로 다운되었거나 새 웹 주소로 영구적으로 이동했을 수 있습니다. 오류 120 (net :: ERR_SOCKS_CONNECTION_FAILED) : 알 수없는 오류입니다.
에 다른 항목을 추가하면 /etc/hosts
:
127.0.0.1 www.microsoft.com
에서 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>
그러나 브라우저는 내 MacBook (127.0.01)의 컨텐츠 대신 실제 Microsoft 사이트의 웹 서버에서 컨텐츠를 반환합니다. 왜?
추신
SOCKS 프록시를 비활성화하면 브라우저가 127.0.0.1의 내용을 올바르게 반환합니다.
LAN 케이블을 분리하면 브라우저가 127.0.0.1의 내용을 올바르게 반환합니다.