dnsmasq는 항상 REFUSED를 반환합니다.

dnsmasq는 항상 REFUSED를 반환합니다.

우분투 서버 16.04.04

dnsmasq.conf:

listen-address = 192.168.5.5, 172.30.108.1, 127.0.0.1 
log-queries
resolv-file = /etc/resolv.dnsmasq

/etc/resolv.dnsmasq:

nameserver = 8.8.8.8

/etc/resolv.conf:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

보조 DNS 쿼리 |

dnsmasq  13099  0.0  0.0  52864   400 ?        S    17:16   0:00 /usr/sbin/dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=.,19036,8,2,49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5

로컬 방화벽이 꺼져 있습니다:

sudo ufw status
Status: inactive

digcisco.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> cisco.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 51709
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cisco.com.         IN  A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Apr 15 17:26:05 CEST 2018
;; MSG SIZE  rcvd: 27

시스템 로그에서 해당 항목을 찾으려면 여기로 이동하세요.

dnsmasq[13099]: query[A] cisco.com from 127.0.0.1

왜 자꾸 거절당하는지 이해가 안 가네요.

감사해요

답변1

이것은 나를 위해 해결되었습니다.

server=내 dnsmasq.conf 파일에는 파일에 지시문이 없습니다. 업스트림 ISP DNS 서버 IP에 추가하고 dnsmasq를 다시 시작해야 제대로 작동했습니다.

답변2

실패 이유는 항목이 /etc/resolv.dnsmasq유효하지 않기 때문입니다. 등호( =)를 포함할 수 없습니다.

1. 오류

echo 'nameserver = 8.8.8.8' >/etc/resolv.dnsmasq
systemctl restart dnsmasq
dig @localhost bbc.co.uk | grep -Ew 'status|A'
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 29172
;bbc.co.uk.                     IN      A

2. 맞다

echo 'nameserver 8.8.8.8' >/etc/resolv.dnsmasq
systemctl restart dnsmasq
dig @localhost bbc.co.uk | grep -Ew 'status|A'
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52524
;bbc.co.uk.                     IN      A
bbc.co.uk.              95      IN      A       151.101.192.81
bbc.co.uk.              95      IN      A       151.101.64.81
bbc.co.uk.              95      IN      A       151.101.0.81
bbc.co.uk.              95      IN      A       151.101.128.81

이전 버전의 Ubuntu 및 Debian(Stretch)에서는 작동하지만 Debian(Buster)과 같은 최신 버전에서는 작동하지 않는 이유는 무엇입니까? 잘 모르겠습니다. 구문이 엄격해져서 정확할 수도 있습니다.

답변3

나에게 맞는 이러한 질문에 대한 나의 대답은 다음과 같습니다.

chmod 755 /

이로써 제가 설명한 모든 문제와 삭제된 댓글이 해결되었습니다. 내 루트/디렉토리에 대한 권한은 0700입니다. 이로 인해 dnsmasq가 프로세스를 변경하는 사용자로 인해 dnsmasq가 올바르게 작동하지 못하는 것 같습니다.

또 다른 좋은 아이디어는 dnsmasq 사용자 홈 디렉터리의 권한이 올바른지 확인하는 것입니다. 내 시스템에서는 dnsmasq가 사용자이므로 다음 명령을 실행합니다.

cat /etc/passwd | grep dnsmasq
dnsmasq:x:110:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin

사용자의 홈 디렉터리(내 경우에는 /var/lib/misc)가 표시됩니다.


PS: 스레드에 있는 두 명의 회원이 "문제를 어떻게 해결하셨나요?"라는 질문을 무시하고 문제를 해결했다고 언급했다는 사실에 대해 어제 댓글을 달았습니다(그러나 평판이 충분하지 않기 때문에 게시물과 같습니다). 요구. '는 다른 사용자가 삭제했는데 관리자가 삭제했기 때문에 반복하지 않겠습니다.

답변4

여기서도 같은 문제가 발생합니다. ipv6을 비활성화하면 해결됩니다.

관련 정보