IPv6アクセス

WebサーバーをIPv6でも受けるようにしてみた

フレッツ光ネクストのギガタイプはIPv6が標準装備で、私の契約プロバイダも 標準でIPv6PPPoEに対応しています。
(しかも設定が自動で、それが原因で自宅内のクライアントの挙動がわけわからんちんになったのですが。。)

どうせなら、IPv6でもwebのアクセスを受け付けられるようにしておこうかと、やってみました。

macOS ServerのDNSのAAAAレコード追加方法
まず、自宅内で動くようにしないといけませんので、自宅サーバーのDNSにAAAAレコードを追加しようとしたのですが、macOS Server5.2のDNSでコンピュータ名の設定画面からだとIPv6アドレスが不正な文字列と言われて入れられません。
Serverの説明を読んでみると、どうやら別に用意したゾーンファイルを参照する機能を使うか、設定ファイルに直接書くかしかないようです。
試しに設定ファイルに直接書き込んでDNSを再起動。
ここでびっくり。
macOS ServerのDNS設定画面にwebのIPv6アドレスが表示されています。(ただし、編集はできないようです。)
あわせて、逆引きも勝手に作られています。
この状態でLAN内からのアクセスがIPv6になったのを確認できました。

続いてルーターのフィルター設定です。
IPv6の場合、プロバイダから払い出されるアドレスはIPv4のようなホストアドレスではなく、プレフィックスと呼ばれるネットワークアドレスで、ホストアドレスはこのプレフィックスをつけた形で自動で生成されますので、ルーターはNAT(IPマスカレード)ではなく普通にルーティングすれば良いことになります。
ただし、フレッツ光のルーターのIPv6インターフェースにはデフォルトでSPI(ステートフルパケットインスペクション)というファイヤーウォールがたっていますので、フィルター設定で穴を開ける必要があります。
ここは、Webサーバー(ポート80と443)宛のTCPを通すように設定します。

続いてうちのドメインのDNS設定です。
Webサーバー対して、DDNSなIPv4のAレコードと、ほぼ固定なIPv6アドレスを追加して、外部のDNS確認ツールからIPv6アドレスが引けることを確認。

これでサーバーのアクセスログの様子を見ていたのですが、一向にIPv6でのアクセスがありません。(汗
設定を見直したら、ルーターのフィルター設定が有効化していなかったので慌てて有効化したところ、早速IPv6でのアクセスが観測できました。

この状態でしばらく運用してみたいと思います。

なお、冒頭のスクリーンショットは、この時観測されたIPv6アクセスの一部ですが、アドレスからホストを辿って行ったら(雑なアクセスと悪名高き)トレンドマイクロのbotで残念でした。。の図です。(苦笑)