Web サーバーの IPv6 対応化

Linux
この記事は約3分で読めます。

はじめに

 まえまえから裏でちょこちょこっと計画していたことだけど、やっと実現できた。
 そもそも 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 つのサービスを利用させて頂いた。

Is your site IPv6 ready?
Test whether a web address, site, URL, or domain is IPv6 accessible.Tests for DNS AAAA records, IPv6...
HTTP Client (IPv6 & IPv4) • Wormly Monitoring
This free online tool allows you to remotely conduct an HTTP request on your web server or API / app...

 共に URL を入れてポチッとすればアクセス結果が表示される。
 Wormly の HTTP Client は curl のログその物なんで事細かに確認が可能。

おわりに

 IPv6 アドレスによるアクセスへ対応した事によるメリットやらは今のところこれと言ってない。
 ただの自己満に過ぎない感じだけど楽しいからヨシ。

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 40 代も後半に入ったおじさんです。

ぶっちをフォローする

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.