モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

(途中経過)rbldnsdを利用して公開DNSBLを立ち上げる

rbldnsdを利用して公開DNSBLを立ち上げる - モーグルとカバとパウダーの日記
の続きです。

MLに質問投げてみたり、はてなで質問してみたりしたんですが、ほぼ反応なし orz

で、その間もいろいろと調べてみていてわかったこと。


とりあえず外からport10053に問い合わせると失敗することがわかりました。これは、listenしてるのがlocalの10053だけだったためで、外向けのIPもlistenすることで解決しました。
でもやっぱりだめでした。


DNSの問い合わせが、UDPの場合とTCPの場合で違うのかとか思い、+notcpで試してみたところ、実はrbldnsdはUDPしか対応してないことがわかりました。
localからでも外からでも、TCPでつなげようとすると接続できません。


bindのforwardは、中継じゃなくて転送先のポインタを返して、そっちに再度問い合わせをさせてるのかな?と思い、パケットキャプチャして調べてみた。
が、@nameserver でNSを指定してやることで、問い合わせに成功する場合はlocalのbindからrbldnsdへの問い合わせが掛かっており、NS指定無しで失敗する場合は単にbindからの失敗が返っていただけでした。


なので、外から接続された場合にはbindがforwardをしてくれていないのか、その場合にはrbldnsdとの接続に失敗するのか、どちらかと考えられました。
そして、最初にやった外向けにもlistenするのは無意味な感じです。


rbldnsdがUDPしか反応しないのがちょっと怪しいので、forwardを必ずUDPでやるという指定がないか、またrbldnsdがTCPでも効くようにならないかを調べる予定。
簡単にいけると思ったのに、すごいはまりです。公開DNSBLの設定なんてやってるところ少ないから、情報がない…