[DNS][自分用メモ] Knot resolverでstub forwardを設定する方法。

AIX、UNIX、Linux
9350f5cc-8904-406f-b483-6637d8f84cd3.png

以前に以下のようなknot resolverの記事を書きましたが、その後使用していてスタブフォワードが正しく機能していなかったことに気が付きました。
MLに確認したところ以下のようにするのが良いようです。

正引きは以下のように設定します。これは以前と同じです。

policy.add(policy.suffix(policy.FORWARD('192.168.1.2@10053'), {'7example3com'}))

このままだと、逆引きの問い合わせを行ったときは以下のような結果になります。

kometch@dns02:~$ drill 192.168.1.1 -x
;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 43732
;; flags: qr aa rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;; 1.1.168.192.in-addr.arpa.  IN      PTR
;; ANSWER SECTION:
;; AUTHORITY SECTION:
blocked.        900     IN      SOA     blocked. . 0 3600 900 604800 900
;; ADDITIONAL SECTION:
;; Query time: 1 msec
;; SERVER: 192.168.1.2
;; WHEN: Fri Apr 14 22:13:57 2017
;; MSG SIZE  rcvd: 86

そう、blockと出力され、問い合わせがブロックされてしまうのです。これについてはMLで以下のような回答がありました。

The problem there is that the policy module contains an implicit rule
that blocks reverse queries to private zones (e.g. 192.168.*.*). You
can remove that rule by adding a line `policy.del(0)` to your config.

policyの0行目に暗黙のルールが存在しているので、それを明示的に削除してやる必要があるそうです。

で、このあと問い合わせると以下のように結果が変わります。

kometch@dns02:/etc/knot-resolver$ drill -x 192.168.1.2
;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 9431
;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;; 2.1.168.192.in-addr.arpa.        IN      PTR
;; ANSWER SECTION:
;; AUTHORITY SECTION:
168.192.in-addr.arpa.   604566  IN      SOA     prisoner.iana.org. hostmaster.root-servers.org. 1 604800 60 604800 604800
;; ADDITIONAL SECTION:

authorityがなんかおかしいです。
というのも、knot resolver側に逆引きを転送するpolicyを書く必要があります。(あとから考えたらそのとおりですね)

policy.add(policy.suffix(policy.FORWARD('192.168.1.2@10053'), { todname('168.192.in-addr.arpa') }))

詳細は以下にあります。

Knot Resolver modules — Knot Resolver 3.2.1 documentation

どうやらtodname関数を使用することで、192.168..をよしなに解釈してくれるらしいです。で、それを任意のサーバに転送してやれば良いということです。

とりあえずこれでstub forwardingができるようになると思います。
Vladimirさんには感謝です。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました