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

     
    • 最終更新日時:2017/04/20 19:43:01

    9350f5cc-8904-406f-b483-6637d8f84cd3.png

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

    いつか、そのとき、あの場所で。 | [DNS] Knot DNS resolverを導入してみた。 /
    http://kometchtech.blog.fc2.com/blog-entry-1978.html

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

    policy.add(policy.suffix(policy.FORWARD('192.168.1.2@10053'), {'\7example\3com'}))

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

    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') }))

    詳細は以下にあります。
    todnam /
    http://knot-resolver.readthedocs.io/en/stable/modules.html?highlight=todname

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

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


    関連記事


    Pagination

    Trackback

    Trackback URL

    https://kometchtech.blog.fc2.com/tb.php/2035-6e132629

    Comment

    Post Your Comment

    コメント登録フォーム
    公開設定

    Utility

    Profile

    kometch

    Author:kometch
    なんちゃってエンジニアです。
    2009年10月から業務都合により大阪勤務になりました。
    2010年1月、HYBRID W-ZERO3を購入しました。
    2010年11月、HTC Desire HDを購入しました。
    2012年2月、都内の会社に転職しました。
    2012年5月、HTC One Xを購入しました。
    2012年8月、事情により休職しました。
    2012年8月、SONY Xperia SXを購入しました。
    2013年1月、一身上の都合により退職しました。
    2014年3月、都内の会社に就職しました。
    2016年8月、HPC系の会社に転職しました。

    Amazonほしい物リスト
    何か問題などありましたら、こちらまで。 Twitter:@kometchtech follow us in feedly

    カレンダー

    09 | 2017/10 | 11
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31 - - - -

    全記事(数)表示

    全タイトルを表示

    バロメーター

    カテゴリー

    カテゴリークラウド

    アーカイブ

    検索フォーム

    FC2カウンター

    現在の閲覧者数

    現在の閲覧者数:

    Amazonアソシエイト

    スポンサードリンク

    月間ページランキング

    ブログパーツ

    サイトランキング

    スポンサードリンク

    スポンサードリンク