なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Web3 ドメインの名前解決を Tailscale でやりたい (NextDNS は使わないが共存したい)

トップレベルドメインと言えば基本は ICANN が割り当てたものが使えますが、 Web3 界隈では例えば .eth/ や .namebase/ といった、独自のトップレベルドメインを運用することができる仕組みがあります。今回はそんな Web3 ドメインを名前解決できるようにしたい!という記事です。

Web3 ドメインには以下のようなもの1があり:

ENS は .eth/ TLD を、 Unstoppable Domains は .polygon/.u/ TLD を、 Handshake は任意の文字列を TLD として扱うことができる仕組みです。 例えば、わたしは natsuneko.eth や natsuneko.polygon を所有しているので、 natsuneko.eth/ と対応した DNS サーバーへ接続した状態で繋ぐと、 ENS のプロフィールページが表示されます。 同様にして、 Handshake は任意の文字列 (予約済みやすでに取得されている TLD は除く) を TLD にできるので、例えば .natsuneko/ といったものを運用することも可能です。

Web3 ドメインを名前解決できるようにする最も簡単な方法は NextDNS の Web3 関連機能を有効にすることですが、これは長期間壊れていることで有名なので使うことが出来ず、結果的には他の手法を使う必要があります。 今回、普段繋いでいる Tailscale の設定項目を変更することで、 Web3 ドメインの名前解決を可能にしようと思います。

まず、 ENS / Handshake 両方の名前解決が可能な DNS サーバーとして、 HNSDNS が上げられます。

hnsdns.com

HNSDNS を DNS サーバーとして設定することで設定は出来ますが、 NextDNS の設定も使っておきたい、となった場合、 Tailscale の Split DNS 機能を使うことで解決が可能です。 まず、 Tailscale の DNS タブから、 Nameservers セクションへ移動し、 Custom... にて DNS サーバーを追加します。

Nameserver には 139.144.68.241 / 139.144.68.242 (IPv4) もしくは 2a01:7e01:e002:c300:: / 2a01:7e01:e002:c500:: (IPv6) のいずれかもしくはすべてを指定します。 Domain には解決したい TLD を設定します。例えば .eth/ を解決したい場合は eth を、 .natsuneko/ を解決したい場合は natsuneko を設定します。

設定後しばらくしたらブラウザに web.natsuneko/ などと入れると、名前解決がされるはずです。よくできました!

ちなみに NextDNS でフィルタリングしているものはフィルタリングされたままなので、 NextDNS の設定とも共存できています。やったね。 ということで、 Web3 ドメインの名前解決をしたい!という話でした。ではでは。