그래서 Dnsmasq를 작동시키려는 많은 시도에도 불구하고 커뮤니티에 도움을 요청하기 위해 여기에 글을 올렸습니다. 요약: 모든 .local
도메인이 자동으로 localhost
또는 으로 확인되도록 하려고 합니다 127.0.0.1
.
이것은 2014 MBP 15에 Sierra를 새로 설치한 것입니다. Homebrew, Composer, Node 등을 설치했습니다. 아래 가이드에 따라 지금까지 수행한 단계는 다음과 같습니다.여기그리고여기:
brew install dnsmasq
/usr/local/etc
Brew를 설치할 때 이미 존재했기 때문에 저는nano /usr/local/etc/dnsmasq.conf
내부에는 다음이 있습니다.
address=/local/127.0.0.1 no-resolv strict-order
sudo brew services start dnsmasq
sudo mkdir /etc/resolver
sudo nano /etc/resolver/local
-->nameserver 127.0.0.1
- 마침내 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
갑자기 로컬 도메인이 작동하기 시작했습니다. 이유는 모르겠습니다.