Dnsmasq가 Sierra에서 작동하도록 할 수 없습니다(로컬 개발용).

Dnsmasq가 Sierra에서 작동하도록 할 수 없습니다(로컬 개발용).

그래서 Dnsmasq를 작동시키려는 많은 시도에도 불구하고 커뮤니티에 도움을 요청하기 위해 여기에 글을 올렸습니다. 요약: 모든 .local도메인이 자동으로 localhost또는 으로 확인되도록 하려고 합니다 127.0.0.1.

이것은 2014 MBP 15에 Sierra를 새로 설치한 것입니다. Homebrew, Composer, Node 등을 설치했습니다. 아래 가이드에 따라 지금까지 수행한 단계는 다음과 같습니다.여기그리고여기:

  1. brew install dnsmasq
  2. /usr/local/etcBrew를 설치할 때 이미 존재했기 때문에 저는nano /usr/local/etc/dnsmasq.conf
  3. 내부에는 다음이 있습니다.

    address=/local/127.0.0.1 no-resolv strict-order

  4. sudo brew services start dnsmasq

  5. sudo mkdir /etc/resolver
  6. sudo nano /etc/resolver/local-->nameserver 127.0.0.1
  7. 마침내 Mac을 다시 시작했습니다.

재부팅 후 zsh 터미널을 열고 ping 및 dig를 시도했습니다 test.local.

ping -c 2 test.local-->ping: test.local을 확인할 수 없습니다: 알 수 없는 호스트

dig test.local @127.0.0.1-->연결 시간이 초과되었습니다. 서버에 연결할 수 없습니다.


127.0.0.1네트워크 기본 설정에서 DNS 서버 위에 수동으로 추가해 보았습니다 . dnsmasq.conf나는 또한 그것을 시도했다 ( address=/.local/127.0.0.1"local" 앞에 "."가 차이점이 있음을 주의하라). 마지막으로 dnsmasq를 다시 시작해 보았습니다. brew services restart dnsmasq...불행히도 이들 중 어느 것도 도움이 되지 않았습니다.

누락되었거나 잘못 구성한 단계가 있나요?

답변1

brew services restart dnsmasq

명령은 현재 사용자로 실행되므로 dnsmasq에는 포트에서 수신 대기할 권한이 없습니다.53

먼저 프로세스를 중지하는 것이 좋습니다

brew services stop dnsmasq

그런 다음 루트 사용자로 dnsmasq를 다시 시작하십시오.

sudo brew services restart dnsmasq

서비스 상태 확인

sudo 양조 서비스 목록

Name           Status  User Plist
dnsmasq        started root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

User그것이 맞는지 확인하십시오root

답변2

dnsmasq가 작동하지 않는 OSX High Sierra에서도 비슷한 문제가 있었습니다. 나는 또한 이것을 발견했습니다:

$ dnsmasq

dnsmasq: failed to create listening socket for 169.254.51.195: 
Permission denied

그래서 시도해 보았는데 sudo dnsmasq갑자기 로컬 도메인이 작동하기 시작했습니다. 이유는 모르겠습니다.

관련 정보