EdgeRouterのStatic host namesにIPv4ではなく、IPv6の登録ができるかどうか?

投稿者: | 12月 4, 2024

IPv6に移行して、良かったことがいくつかある。

  • プライベートIPアドレスとパブリックIPアドレスの関係はなく、パブリックIPアドレスだけの運用が可能になった。
    • 完全に移行すれば、よくあるIPアドレス管理台帳エクセルみたいのは不要になるのでは。
  • パブリックIPアドレスが、IPv4だとNAT経由で1つしかもらえないが、IPv6だと個人で利用する限り無限に近くもらえる。
  • パブリックIPアドレスが必ずつくので、Let’s Encryptの証明書がホスト名でもらえて自動化ができる。ドメインのものを作っていたが、完全自動化は面倒(できなくもないが流用がしにくい)
  • WindowsのクライアントもADには、IPv6も登録をしてくれている。

外からアクセスするのに、EdgeRouterだとファイヤウォールの設定をしないと繋がらないが、NATのようにどこのポートを開けるとか気にしなくてもいいし、IPv4でもファイヤウォールの設定は必要と言えば、必要。

もしIPv6がプロバイダーから降ってきているのであれば、使った方が絶対いいと思う。ただ、アクセス元がIPv4もまだ多いので併用する必要がある。(特にVPNのエンドポイントなど。)

 

閑話休題

 

EdgeRouterには、Static Host Nameという簡易DNS、FQDNとエイリアス、IPアドレスを登録すると、名前解決してくれる機能がある。中身はなんてことはない、dnsmasqで/etc/hostsに追記しているだけだが。

ここにホスト名を登録をしておけば、名前解決をしてくれる。

たとえば、

  • NASのホスト名:nas.example.com
  • エイリアス:nas
  • プライベートIPアドレス :192.168.10.100
  • パブリックIPアドレス(NAT): 203.0.113.100

の場合、

パブリックDNSには、nas.example.com / 203.0.113.100

と登録しておけば、外からアクセスができる。EdgeRouterもNATでヘアピンNATを設定しておけば、LAN側からも名前解決してアクセスできるはず。(なんか上手くいかない時もある。)

ここで、

Static Host Nameに、nas.example.com / 192.168.10.100

と登録をしておくと、LAN側からは、192.168.10.100でアクセスしてくれる。

 

ちょっと考えた。この登録だと、IPv4しか返してくれない。IPv6でも返して欲しい。どうする?

つまり、

Static Host Nameに、nas.example.com / 2001:db8:aaaa:bbbb:cccc:dddd:eeee:fffff

としたい。

 

しかし、EdgeRouterのStatic Host NameのGUIは、IPv4アドレスしか受け付けてくれない。コマンドラインで以下をやってみた。

set system static-host-mapping host-name nas.example.com alias nas
set system static-host-mapping host-name nas.example.com inet 2001:db8:aaaa:bbbb:cccc:dddd:eeee:fffff
set system static-host-mapping host-name nas.example.com inet 192.168.10.100

 

こうすると、/etc/hostsにもちゃんと2つ書かれ、GUIでもちゃんと表示される。それに、Dual Stackで名前解決ができた。SSHでログインしてみたが、IPv6でログインできていた。

これは使える!!!

ただ、もうStatic Hosts NameのGUIは使えなくなる。以後、必ずコマンドラインでやる必要がある。

 

それにしても、IPv6にすると。。。キャプチャーをとると全部ガチなパブリックアドレスになってしまうので、キャプチャを取るのが大変。もはや文章で記載するしかなくなってしまう。

 

こうやって、昨今のよくある、基本をあまり語られずに、いきなり応用からになってしまう。初心者にはかなり辛い。

コメントを残す