브라우저가 SOCKS 프록시 뒤의 / etc / hosts를 무시하는 이유는 무엇입니까?


8

사무실의 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의 내용을 올바르게 반환합니다.


정보 보안 담당자가 질문해야합니다. 사무실에서 공용 인터넷 액세스를 제공하지 않는 이유가 있습니까? ;)
8None1

바이 패스에 127.0.0.1을 넣지 않으면 어떻게됩니까? 은 여전히 ​​로컬 호스트이므로 프록시를 사용해서는 안됩니다. 브라우저를 우회하는 우회 기능 일 수 있습니다.
8None1

파일이 프록시없이 만 사용된다는 것은 Microsoft의 멍청한 일입니다.
BluE

답변:


7

브라우저가 사이트에 대한 SOCKS 프록시를 요청하고 있으며 직접 연결되어 있지 않습니다. 따라서 컴퓨터가 air.company.com을 127.0.0.1로 조회하지 않기 때문에 예외 목록에 IP 주소를 입력해도 작동하지 않습니다. SOCKS 프록시는

이를 방지하려면 시스템 환경 설정> 네트워크> 프록시의 예외 목록에 로컬로 액세스중인 전체 도메인 이름을 배치하십시오.

air.company.com의 경우 위의 예에서 다음과 같은 예외 목록이 표시됩니다.

  *.local, 169.254/16, 127.0.0.1, air.company.com

컴퓨터는 이제 air.company.com에 직접 연결되므로 / etc / hosts를 사용합니다.


파일이 프록시없이 만 사용된다는 것은 Microsoft의 멍청한 일입니다.
BluE
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.