UnboundとDNSCryptを使用してRaspberryにDNSキャッシュサーバーを設定しようとしています。
Raspberryは最新のJessie Lite(ヘッドレスDebian 8)を実行します。
私は広く使用されている次のスクリプトを使用してDNSCryptを設定します。https://github.com/simonclausen/dnscrypt-autoinstall
UnboundとDNSCryptの両方がうまく動作します。私のプライマリコンピュータ(192.168.1.64)はRaspberry(192.168.1.65)のDNSサーバーを正常に使用し、ログファイルを介してDNSCryptを使用してUnboundを表示できます。
dig
私の問題は、ウェブサイトに行き、Wireshark
標準クエリを返してキャプチャするときに暗号化が表示されないことです。
私は何を見逃していますか?
dig
応答は次のとおりです。
$ dig debug.opendns.com txt
; <<>> DiG 9.9.5-9+deb8u8-Raspbian <<>> debug.opendns.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 17686
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; ENDS: version: 0, flags:; upd: 4096
;; QUESTION SECTION:
;debug.opendns.com. IN TXT
;; AUTHORITY SECTION:
opendns.com. 2560 IN SOA auth1.opendns.com. noc.opendns.com. 1483610050 16384 2048 1048576 2560
;; Query time: 143 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Jan 05 11:02:24 CET 2017
;; MSG SIZE rcvd: 92
キャプチャされたスクリーンショットは次のとおりですWireshark
。
これはUnboundのログです:
[1483616499] unbound[5098:0] debug: module config: "iterator"
[1483616499] unbound[5098:0] notice: init module 0: iterator
[1483616499] unbound[5098:0] debug: target fetch policy for level 0 is 3
[1483616499] unbound[5098:0] debug: target fetch policy for level 1 is 2
[1483616499] unbound[5098:0] debug: target fetch policy for level 2 is 1
[1483616499] unbound[5098:0] debug: target fetch policy for level 3 is 0
[1483616499] unbound[5098:0] debug: target fetch policy for level 4 is 0
[1483616499] unbound[5098:0] debug: Forward zone server list:
[1483616499] unbound[5098:0] info: DelegationPoint<.>: 0 names (0 missing), 1 addrs (0 result, 1 avail) parentNS
[1483616499] unbound[5098:0] debug: cache memory msg=33040 rrset=33040 infra=1304 val=0
[1483616499] unbound[5098:0] info: start of service (unbound 1.4.22).
[1483616505] unbound[5098:0] debug: iterator[module 0] operate: extstate:module_state_initial event:module_event_new
[1483616505] unbound[5098:0] info: resolving www.google.com. A IN
[1483616505] unbound[5098:0] info: processQueryTargets: www.google.com. A IN
[1483616505] unbound[5098:0] info: sending query: www.google.com. A IN
[1483616505] unbound[5098:0] debug: sending to target: <.> 127.0.0.1#40
[1483616505] unbound[5098:0] debug: cache memory msg=33040 rrset=33040 infra=1533 val=0
[1483616505] unbound[5098:0] debug: iterator[module 0] operate: extstate:module_wait_reply event:module_event_reply
[1483616505] unbound[5098:0] info: iterator operate: query www.google.com. A IN
[1483616505] unbound[5098:0] info: response for www.google.com. A IN
[1483616505] unbound[5098:0] info: reply from <.> 127.0.0.1#40
[1483616505] unbound[5098:0] info: query response was ANSWER
[1483616505] unbound[5098:0] info: finishing processing for www.google.com. A IN
これはUnboundの設定ファイルです。
server:
auto-trust-anchor-file: "/var/lib/unbound/root.key"
server:
username: unbound
port: 53
logfile: "/var/log/unbound/unbound.log"
log-time-ascii: no
use-syslog: no
verbosity: 3
module-config: "iterator"
do-not-query-localhost: no
interface: 0.0.0.0
access-control: 127.0.0.1 allow
access-control: 192.168.1.0/24 allow
access-control: 10.8.0.0/24 allow
forward-zone:
name: "."
forward-addr: 127.0.0.1@40
forward-first: no
remote-control:
control-enable: no
以下は、スクリプトによって生成されたDNSCrypt構成です。
DNSCRYPT_LOCALIP=127.0.0.1
DNSCRYPT_LOCALPORT=40
DNSCRYPT_USER=dnscrypt
DNSCRYPT_RESOLVER=ns0.dnscrypt.is
答え1
Wireshark キャプチャは、送信元と宛先の両方がローカル IP アドレスであることを示しています。
したがって、これはコンピュータとRaspberry Piの間のトラフィックを記録します。これは通常のDNSトラフィックです。暗号化されたトラフィックは、ns0.dnscrypt.is
Raspberry Piとパーサーの間にあり、インターネットに移動するトラフィックです。
ここでパケットキャプチャを実行する必要があります。
または、コンピュータとRaspberry Pi間のトラフィックを認証するには、クライアントエージェントがコンピュータで実行されている必要があり、Raspberry PiではDNSCryptサーバー(dnscrypt-wrapperまたはdnsdist)を実行する必要があります。