Chromium이 / etc / hosts 및 dnsmasq를 무시하는 이유는 무엇입니까?


51

Arch Linux에서 hostsblockdnsmasq 와 함께 사용하여 일부 웹 사이트를 차단 하고 있습니다.facebook.comwww.facebook.com

간단한 핑 facebook.com(또는 www.facebook.com)이 127.0.0.1을 반환 하기 때문에 모든 것이 올바르게 작동한다는 것을 알고 있습니다. 또한 Midori에서 이러한 웹 사이트에 액세스하면 빈 페이지가 반환됩니다 ( localhost에서 빈 페이지를 반환하기 위해 kwakd 데몬을 사용하고 있기 때문에 이는 예상 된 동작입니다 ).

Chromium 만 내 차단 목록을 무시하는 것 같습니다. facebook.com에서 접속하면 페이스 북 홈페이지로 바로 이동합니다.

처음부터 모든 것을 정리하고 (Ctrl + Shift + Delete) Chromium을 다시 시작하면 원하는 동작이 나타납니다 (= Facebook에 액세스 할 수 없음).

잠시 후 (이 원인이 무엇인지 정확히 모르겠습니다) Chromium은 로컬 dnsmasq DNS를 다시 무시하고 페이스 북 홈페이지에 성공적으로 액세스합니다.

Chromium의 DNS 쿼리 캐싱 및 프리 페치에 대한 내용을 읽었지만이를 비활성화하는 방법을 잘 모르겠습니다.

질문 : Chromium이 로컬 DNS를 우회하는 이유는 무엇이며 중지하려면 어떻게해야합니까?


2
프록시를 쓰고 있나요? 프록시를 사용하면 DNS 요청이 프록시에서 수행됩니다.
Zoredache

아니요, 프록시를 사용하지 않고 hostsblock에는 프록시가 필요하지 않습니다.
thiagowfx

아래 답변의 방법을 시도했지만 어떻게 든 Chromium이 여전히 IP 주소를 얻습니다 ... Chromium에 유선 주소가 있습니까?
Geremia

답변:


41

이 주제에 대한 대부분의 언급은 오래되었습니다. 이전 버전의 Chromium이있는 경우 edvinas.me 답변을 따르십시오 .

Chromium의 현재 버전 (이 게시물이 작성된 시점 : 33 일)의 경우 다음과 같이해야합니다.

  1. 이동 chrome://settings
  2. "고급 설정 표시 ..."를 클릭하십시오.
  3. 페이지로드 성능을 향상시키기 위해 네트워크 조치 예측 상자 를 선택 취소하십시오 .
  4. 로 이동하여 DNS 프리 페칭이 실제로 비활성화되어 있는지 확인하십시오 chrome://dns. DNS 사전 확인 및 TCP 사전 연결과 같은 기능이 비활성화되어 있어야합니다 . 프리 페치를 사용하지 않으면 일부 테이블이 표시됩니다.

최신 정보

최신 버전의 Chrome (이 업데이트 시점 : 55 번째)의 경우 세 번째 항목은 다음과 같이 표시됩니다. 예측 서비스를 사용하여 페이지를 더 빨리로드하십시오 .

참고


27

업데이트 된 답변

Chrome 캐시를 정리해야합니다. 주소 표시 줄에 이것을 입력하십시오 :

chrome://net-internals/#dns

그런 다음 Clear host cache버튼을 클릭하십시오 .

기존 답변

Chromium은 기본적으로 Google의 내부 DNS를 사용합니다 (8.8.8.8 및 8.8.4.4)

비활성화하려면 :

  1. 도구 메뉴 (작은 렌치 아이콘)를 클릭 한 다음 옵션으로 이동하십시오.

  2. Hood 후드 아래 탭을 클릭하십시오.

    삼. ““개인 정보”섹션에서 DNS 프리 페칭 사용 확인란을 선택 해제하여 페이지로드 성능을 향상시킵니다.

    ‪4. Close 닫기 버튼을 클릭하십시오.

    ‪5. ‬ 새로 고침하여 웹 페이지를 다시로드하십시오.


1
말한 내용은 이전 버전의 Chromium / Chrome에만 적용됩니다. 최신 버전에는 더 이상이 설정이 없습니다 ( "후드 중"). 새 설정이 "페이지로드 성능을 향상시키기 위해 네트워크 작업을 예측"입니까? 안타깝게도 여기에는 DNS가 언급되어 있지 않으므로 확실하지 않습니다.
thiagowfx

Chromium의 DNS 캐시를 지우는 방법에 대한 답변을 업데이트했습니다. 좀 봐주세요, 도움이 되길 바랍니다.
phoops

감사! 새로운 답변은 Ctrl + Shift + Delete에서와 같이 모든 것을 정리하는 대신 기록 된 DNS를 지우는 가장 좋은 방법입니다. 그러나 문제를 영구적으로 제거하려면 내 대답이 더 적합하다고 생각합니다 (여전히 확실하게 테스트해야합니다).
thiagowfx

캐시를 지우지 않고 비활성화하면 캐시가 만료 될 때까지 작동하지 않습니다. 캐시가 지워지면 Chromium이 어떻게 든 실제 IP를 프리 페치 할 수 있다고 생각하지 않습니다. 프리 페치가 켜져 있어도 차단 된 값을 프리 페치합니다. 어쨌든, 적어도 당신이 그것을 분류 한 것 같습니다.
phoops

2
"chrome : // net-internals / # dns"-> 지우기, 작동하지 않습니다.
Totty.js

2

또 다른 모호한 가능성은 시스템이 자동 프록시 * .pac 파일을 사용하도록 설정되어 있다는 것입니다. 회사 환경에서 컴퓨터를 발급 받았으며 * .pac 파일이 브라우저에서 URL을 확인하기 위해 프록시를 통과하도록 지시하는 경우에 일반적으로 발생합니다. 이것은 / etc / hosts 파일보다 우선하며 * .pac 파일에 PROXY를 반환하는 규칙이 있으면 일치하지 않는 경우 Chrome이 / etc / hosts를 따르지 않는 것으로 나타납니다. 일반적으로 명령 줄이 예상대로 작동하는 경우입니다 (예 : dig, ping 등).

다른 솔루션을 사용해도 문제가 해결되지 않으면 Chrome에서 사용중인 자동 프록시 설정이 없는지 확인하십시오.


1
이것은 나를 위해 일했다!
MediumOne

-2

당신이 어떤 사용하는 경우 VPN 프록시 확장 (같은 구글 크롬에 대한 Betternet을 ), 당신은 가능성이 문제가 발생할 수 있습니다. 확장을 비활성화하면 문제가 해결됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.