はじめに
まえまえから裏でちょこちょこっと計画していたことだけど、やっと実現できた。
そもそも IPv6 アドレスは固定契約ではないのでプレフィックスが変更されたら IPv6 アドレスも変わってしまう可能性がある。
しかし 7 年くらい契約していて一度たりともプレフィックが変わったなんてこともないので、大体固定みたいなもんかなーって楽観的な行動をしてみた感じ。
DNS 設定
このブログの名前解決するマスターは自前の DNS なんでちょろーっと RR を書いて上げる。
先日のサーバー移行により BIND のバージョンが上がって HTTPS RR
を書けるようになったからそれも合わせて追加した。
bucci IN A 118.243.114.173
IN AAAA 2405:6581:1a80::beef:cafe
IN HTTPS 1 . (alpn="h3,h2" ipv4hint="118.243.114.173" ipv6hint="2405:6581:1a80::beef:cafe")
設定して反映させたあと、外部 DNS サーバーにクエリー投げて正しく AAAA RR
を引けるか確認しておく。
IPv6 アドレスは EUI64 で自動的に設定された物なので様子を見てもっと短く表記出来るアドレスに変更予定。
ChatGPT に聞いて得た回答を元にインターフェース ID を設定したので適用済み。
IPv6 アドレスによるアクセスの障壁
筆者宅はホームゲートウェイ (以下 HGW) のしたにルーターが 2 つぶら下がっており、主に Aterm WG2600HP3 が IPv6 用として働いてくれている。もう一方の ASUS RT-AX3000 は IPv6 機能を無効化している。
つまり IPv6 アドレスによるアクセスをサーバーに通すには HGW と WG2600HP3 の 2 つを突破しなければならない。
色々と検証したところ、HGW の Firewall が問題で、パケットフィルタで筆者宅に割り当てられたプレフィックスに対して通信を許可してあげる設定をしても通信が出来ない。
セキュリティログを眺めるとサーバーの 443/TCP
向けのパケットが捕獲されていてダメ。
そんなもんで HGW の Firewall を OFF にし、WG2600HP3 のパケットフィルタでサーバーの IPv6 アドレスへの 80/TCP, 443/TCP, 443/UDP
を許可してやることで IPv6 アドレスによるアクセスが出来るようになった。
NGN 網の折り返し通信だなんだってのが HGW を素通りするようになるけど、IPv6 のパケットは必ず WG2600HP3 を通り、ND Proxy, SPI を通過できた物がクライアントに到達するからセキュリティ的にも問題は無いはず。
如何せん WG2600HP3 はログを見ることが出来ないのがなんかアレ。
お外から IPv6 アドレスでアクセス出来るか確認する方法
以下の 2 つのサービスを利用させて頂いた。
共に URL を入れてポチッとすればアクセス結果が表示される。
Wormly の HTTP Client は curl のログその物なんで事細かに確認が可能。
おわりに
IPv6 アドレスによるアクセスへ対応した事によるメリットやらは今のところこれと言ってない。
ただの自己満に過ぎない感じだけど楽しいからヨシ。
コメント