OS X 10.10.1 / etc / hosts 및 / private / etc / hosts 파일이 무시되고 해결되지 않습니다.


40

제목과 같이 os x 10.10.1을 실행하십시오. 호스트 파일에 항목이 있고 수행 dig하거나 nslookup여러 캐시를 플러시하려고 시도한 후에도 여전히 호스트 파일의 IP와 다른 IP를 표시합니다.

나는 다음을 시도했다 ..

  1. 다음을 실행하여 mdns 및 udns 캐시를 플러시하십시오.
    1. sudo discoveryutil mdnsflushcache;
    2. sudo discoveryutil udnsflushcaches;
  2. 캐시 플러시 dscacheutil -flushcache
  3. discoveryd.plist파일을 다시로드
    1. sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    2. sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist

내 호스트 파일은 다음과 같습니다 ..

% cat /private/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0 localhost
166.78.60.102   admin.devsite1.com

3
Yosemite는 이전과 같은 방식으로 호스트를 사용하지 않는 것 같습니다. 이 중 하나를하지 플러시 캐시 같은 방법으로 수행, mDNS를가 다시 자리를 얻었습니다 - -이 주제에 대한 잡담의 전체 무리가 forums.macrumors.com/showthread.php?t=1741422 편집 아 ... 내 생각을 당신은 이미 azchipka.thechipkahouse.com/…
Tetsujin

감사합니다, 그래 난 이미 그 .. 읽기이 OS X이 .. 자사 싸구려가는 방법 인 경우 : \
gorelative

1
Mac의 호스트에 의존 할 필요가 없기 때문에 기쁘다. tbh; 내가 필요할 때 항상 Win에서 플레이하는 경향이 있습니다.-요세미티에서 멀어지게하는 것은 아닙니다 :(
Tetsujin

예, 내 rmbp는 불행히도 웹 개발 / sysadmin에 사용하는 기본 개발 시스템이며, 그렇지 않으면 매버릭으로 롤백 할 것입니다.
09 초

기타 워크 스테이션에 바로 IPv6을 비활성화 할 수 있습니다, 내가 키에 대해 설명하는이 발견 technipages.com/how-to-disable-ipv6-in-macos-sierra - 심지어 내 NIC에서 IPv6을 사용하지 않도록 설정 한 후, 그러나이 문제가 지속 .
제임스 T 스넬

답변:


61

/ private / etc / hosts는 Yosemite (버전 10.10.1)에서 정상적으로 작동하는 것 같습니다. 캐시를 플러시하거나 재설정 할 필요는 없습니다 discoveryd(요세미티의 DNS 확인자). 변경 사항을 저장 한 직후 파일을 읽는 것을 sudo fs_usage | grep private/etc/hosts보여줍니다 discoveryd.

[업데이트 : discoverydOS X 버전 10.10.0-10.10.3에서만 사용되었습니다. 이전 버전과 이후 버전 모두 mDNSResponder에서 동일한 기능을 제공하고 / etc / hosts의 변경 사항을 즉시 확인합니다.]

그러나 dig, nslookuphost시스템의 해결 우회 그들과 원시 DNS 조회를 수행하기 때문에의 항목을 볼 수 없습니다. 그들은 항상 이것을 했으므로 요세미티에서는 새로운 것이 아닙니다. OS X에서 시스템 리졸버를 통해 조회하는 "공식적인"방법은 다음을 사용하는 것입니다 dscacheutil.

dscacheutil -q host -a name www.example.com

...하지만 고통스럽게 장황하기 때문에 ping대신 사용하는 경향이 있습니다 (그리고 핑하는 IP가 나열된 첫 번째 줄을보십시오). 10.9부터 네트워크 유틸리티의 조회 탭을 사용할 수도 있습니다 (이전에 사용 dig했기 때문에 시스템 조회 정책을 무시 함).

BTW, Tetsujin이 연결 한 macrumors 스레드에주의하지 마십시오. 자신이하는 일을 잘 모르고 자신의 실수로 인한 결과를 오해하는 사람들로 가득합니다.


1
내가 그이 게시 된 후 감사 고든, 그래 내가 실현 dig, nslookup그리고 host로컬 DNS 해상도를 사용하지 않는합니다. 그것은 /etc/hosts예상대로 작동합니다 ..
gorelative

/etc/hosts파일이나 파일을 업데이트 해도 다른 명령이나 명령 /private/etc/hosts으로 전혀 반영되지 않습니다 dscacheutil -q host -a name www.example.com.
Trip

3
@Trip 추가 한 항목의 형식이 올바른지 확인하십시오 (IP 주소, 공백 또는 탭, 이름, 줄 끝의 줄 바꿈). cat -vet /etc/hosts일반적으로 보이지 않는 문자를 표시 하려면 hosts 파일을 인쇄 해보십시오 . 각 줄은 "127.0.0.1 ^ Inetsecuritybureau.com $"( "^ I"는 탭이고 "$"는 줄 바꿈) 또는 "127.0.0.1 netsecuritybureau.com $"과 같아야합니다. "$"바로 앞에 "^ M"(캐리지 리턴)이 표시되면 DOS / Windows 형식의 텍스트가 있고 캐리지 리턴을 제거해야합니다.
Gordon Davisson

아 도와 줘서 고마워. 탭 또는 공간임을 확인하기 위해 귀하의 리드를 따랐습니다. 내 줄은 정확하게 읽습니다. M127.0.0.1^Iyoutube.com^M^M, 나는 공연을 dscacheutil -flushcache; sudo killall -HUP mDNSResponder했고 youtube.com으로 이동하면 여전히 로컬 호스트가 아닌 youtube를 불러옵니다.
Trip

@Trip 커맨드 라인에서 보이지 않는 문자를 정리하는 방법에는 여러 가지가 있지만 GUI 편집기 인 TextWrangler를 추천합니다. 보기 메뉴> 텍스트 표시> 보이지 않는 항목 표시를 사용하여 이러한 문자를보고 편집 할 수 있습니다. 캐리지 리턴. 또한 무료이며 보이지 않는 파일 및 폴더 (예 : / etc)를 표시 / 열고 관리자 권한을 사용하여 시스템 파일을 편집하는 옵션이 있습니다.
Gordon Davisson

17

이 문제로 또 다른 주름이 발견되었습니다.

내가 겪고있는 문제를 해결하기 위해 IPv6 스타일 호스트 파일 항목을 추가해야했습니다.

IPv6 네트워크 구성 설정이있는 경우 Safari에서 IPv4 항목을 간과하는 것 같습니다.

/ etc / hosts의 IPv6 로컬 호스트 주소로 확인되는 중복 항목을 추가해야합니다.

IPv4 항목 127.68.56.101 facebook.com

예 : IPv6 항목 fe80::1%lo0 facebook.com

기타


1
0.0.0.0과 :: 1 : 나는 성공적으로 짧은 IP 주소를 사용하여 작업을 하나 가지고 있습니다
벤 모로

고마워, 나도 일 했어. 업그레이드 후 내 vhosts / apache 구성을 복원 한 후 머리를 긁적이었습니다. 감사합니다.
Gavin

그러나 이것은 나를 위해 그것을 고쳤다.
advert2013

1

텍스트 편집에서 편집 한 후 호스트 파일이 계속 무시됩니다. 나는 JB Smiths가 위의 답변에 따라 성공하지 않고 줄 끝을 수정하고 IPv6 항목을 기존 IPv4 항목에 추가하는 여러 가지 방법을 시도했습니다 . 회사에서 시도한 후에 발견 한 IPv6를 지원하면 그의 답변이 효과가있을 것으로 생각됩니다.

나를 위해 일한 유일한 해결책은이 무료 GUI 플러그인을 사용하여 호스트 파일을 편집하는 것입니다.

https://github.com/specialunderwear/Hosts.prefpane/blob/master/README.mdown


1

Yosemite 10.10.5가 호스트 파일 변경 사항을 선택하지 않았기 때문에이 기사를 찾았으며 수정할 수 없었습니다. (재부팅하고 캐시 플러시를 시도했으며 인터넷 등에서 찾을 수있는 모든 조언을 따랐습니다).

대답은 너무나 단순해서 실제로 당황 스럽지만 공유 할 것이라고 생각했습니다. 텍스트 편집을 사용하여 호스트 파일을 편집했으며 파일을 hosts.txt로 자유롭게 저장할 수있었습니다. 일반적으로 다음과 같은 것을 알 수 있지만 요세미티를 새로 설치하고 아직 "모든 파일 확장자 표시"를 설정하지 않았으므로 데스크탑에서 파일 이름을 볼 때 파일 이름이 변경된 것처럼 보이지 않았습니다.

따라서이 게시물을 읽는 대부분의 사람들은 이미이 작업을 수행했을 수도 있지만 호스트 파일이 실제로 있고 hosts.txt로 대체되지 않았 는지 확인하십시오 .

파일 이름 확장자 표시를 켜려면 Finder> 환경 설정> 모든 파일 이름 확장자 표시 로 이동하십시오.

파일에 .txt 확장명을 추가하는 텍스트 편집기를 중지 텍스트 편집에서 파일을 열고 선택하려면 파일> 다른 이름으로 저장은 당신이 표시되지 않는 경우 ( 다른 이름으로 저장 을 클릭 한 후 옵션 키 다운 메뉴 항목, 보류를 파일저장 해야 메뉴에 나타납니다). 옵션을 찾아 더 확장 사용 "이 .txt"를 제공하지 않으면 이를 취소합니다.


0

나는 애플이 이것을 버그로 인식 할 것이라고 믿는다 (오늘 제출했다). 새 항목 /etc/hosts이 선택되었지만 기존 항목의 변경 사항은 무시됩니다. 따라서 .. 항목의 호스트 이름을 변경하면 (예 : web1에서 web1a로) 해결 방법이 제공됩니다.

이전 / etc / hosts 항목 : 54.173.164.18 web1

새로운 / etc / hosts 항목 : 54.174.161.12 web1a


sudo dscacheutil -flushcache-디렉토리 서비스 캐시를 플러시합니다.
Kevin Buchs

0

제 경우에는 .ssh / config를 설정했습니다.

#Host *.ourdemo.ca
  User jumpy
  ProxyCommand ssh ourjumpbox.ca -W %h:%p

구성 파일의 기능과 이것이 질문과 어떤 관련이 있는지 설명해 주시겠습니까?
klanomath

1
문제는 로컬 / etc / hosts 파일의 항목이 무시되는 이유였습니다. 필자의 경우 프록시 상자 (ourjumpbox.ca)를 통해 모든 트래픽을 일련의 시스템 (* .ourdemo.ca)으로 터널링하도록 지시했기 때문에 무시되었습니다. SSH는 확실하게 연결을 프록시하여 로컬 로컬 / etc / hosts 파일 대신 주소를 확인하는 데 사용되는 프록시의 / etc / hosts 파일이되었습니다.
Martin Cleaver

0

메일을 통해 두 행을 추가하여받은 비슷한 문제가 발생했습니다. /etc/hosts

도메인은 -같은my-domain.com

문제는 MS Outlook과 마찬가지로 발신자의 전자 메일 클라이언트로 밝혀졌습니다 .MS Outlook 은 Microsoft가 -긴 자동 -문자를 사용 하여 ASCII 를 포함하는 자동 수정 기능을 사용 하여 ascii 를 로 대체 -했습니다 -.

호스트 파일이 완벽 해 보였으므로이 문제를 찾기가 어려웠습니다. 행을 삭제하고 수동으로 다시 쓰면 작업을 시작했습니다.

MacOS 클라이언트가 hosts 파일을 무시하고 직접 이름 확인으로 건너 뛰어야하는 이유에 대해 깊이 이해하기가 어려웠습니다.


0

이 문제가 발생했습니다. 주소를 쓰지 않고 hipchat에서 복사 / 붙여 넣기로 인해 발생했습니다.

복사 프로세스에서 공백 대신 일부 잘못된 문자가 추가되어 문제가 발생했습니다.

행을 다시 쓰면 문제가 해결되었습니다.


0

나는 꽤 오랫동안 앱 SelfControl (실제로 macOS mojave 10.14.4에서)을 사용하고 있으며 SelfControl이 어떻게 항목을 수행하는지 확인하려고 생각했습니다 ...

0.0.0.0 xyz.com
:: xyz.com
0.0.0.0 www.xyz.com
:: www.xyz.com

이를 기반으로 모든 것을 로컬 호스트로 변경했습니다.

127.0.0.1
::1

공장.


이것이 어떻게 질문에 대답하는지 잘 모르겠습니다. 질문과 관련이없는 임의의 관찰 결과처럼 보입니다.
Tetsujin

1
정확히 무엇을 변경했는지, 그것이 질문과 어떻게 관련되는지에 대한 세부 정보를 추가 할 수 있습니까?
nohillside

문제는 10.10.1 이후 hosts 파일이 무시되는 이유입니다. 수동 입력은 무시되었지만 SelfControl 앱을 통해 작성된 항목은 의도 한대로 작동하는 것과 같은 상황이었습니다. 이전 항목에서 누락 된 것은 "www."가있는 두 번째 부분입니다. 10.10.1 이전에는 모든 것이 잘 작동했기 때문에 내 항목에 무엇이 잘못되었는지 알아낼 수 없었습니다.
needlol
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.