dnsmasq は常に REFUSED を返します。

dnsmasq は常に REFUSED を返します。

Ubuntuサーバー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:スレッド内の2人のメンバーが「問題をどのように解決しましたか?」という質問を無視し、問題を解決したと言及したという事実について昨日コメントしました(しかし評判が十分ではないので投稿のようです)。要求。 'は他のユーザーが削除しましたが、管理者が削除したので繰り返しません。

答え4

ここでも同じ問題が発生します。 ipv6を無効にすると解決されます。

関連情報