World IPv6 Dayに参加してみよう
4ステップでWebサーバをIPv6に対応させる方法
株式会社ユビテック
カスタマーサービスタスク
サブチーフ
木村 保博
2011/5/19
DNSへの登録
サーバにIPv6アドレスを設定しても、DNSに登録しなければ、このサーバはIPv6でアクセスされることはありません。それではIPv6で公開されていないのと同義ですので、適切にIPv6の設定を行う必要があります。
今回はDNSサーバとして一般的と思われるBIND9での設定を例示します。
■named.confの設定
IPv6アドレスからのDNSクエリに答えられるようにします。具体的には、/etc/named.confの中のoptionsに以下の行を追加します。
listen-on-v6 { any; }; |
なお、ACL(Access Control List)などで、特定の送信元IPアドレスからのみDNSクエリを許可している場合には、IPv6アドレスからのアクセスも許可する必要があります。Apacheと異なり、IPv6アドレスを角括弧[ ]などでくくる必要はありません。
acl SHANAI { 172.16.20.0/23; 172.16.30.0/24; 172.16.40.0/21; 127.0.0.1; 2001:200:c10:82::/64; ::1; }; |
念のため、named.rootは常に最新版であること(AAAAレコードのROOTサーバが設定されていること)を確認してください。named.rootの最新版は、以下より取得できます。
ftp://rs.internic.net/domain/named.root
■ゾーンファイルの設定
(1)正引き設定
localhostとURL用のドメイン(ubiteq.co.jp)のゾーンファイルに、AAAAレコードを追加します。
・localhostのゾーンファイルを以下のように修正
$TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhost. IN A 127.0.0.1 IN AAAA ::1 |
・ubiteq.co.jpのゾーンファイルを以下のように修正
$TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum (省略) www IN A 211.14.19.88 IN AAAA 2001:200:c10:82::88 |
(2)逆引き設定
loopbackアドレスとサーバに設定したIPv6アドレスが逆引きできるように、2つのゾーンファイルを追加します。正引きの場合とは異なり、単純に各ゾーンファイルへのレコード追加をするだけではなく、named.confファイルにそのゾーン用の設定を追加することが必要です。
特に、named.conf内での2001:200:c10:82::/64の逆引きゾーンの指定については、
- IPv6アドレスの省略されている0を補完する(2001:0200:0c10:0082)
- 1文字ずつ逆に並べ「.」(半角ドット)で区切る(2.8.0.0.0.1.c.0.0.0.2.0.1.0.0.2)
のように変更し、最後に.ip6.arpa.を補う形で指定します。
・named.confの修正
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN { type master; file "named.ip6.local"; }; zone "2.8.0.0.0.1.c.0.0.0.2.0.1.0.0.2.ip6.arpa" in { type master; file "zone.2001:200:c10:82::0"; } |
・named.ip6.localの作成
$TTL 86400 @ IN SOA localhost. root.localhost. ( 42 ; Serial 3H ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. |
・zone.2001:200:c10:82::0の作成
$TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum (省略) 8.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR www.ubiteq.co.jp. |
PTRレコードでは、named.conf内のゾーン指定と同じように、「省略されている0を補完し、逆に並べる」ところに注意が必要です。
(3)設定の反映と確認
変更したゾーンファイルのSerialを忘れずに更新し、namedを再起動します。
# /sbin/service named restart |
Apacheのときと同様に、netstatなどでIPv6アドレスでDNS QueryをLISTENしていることを確認します。
# netstat -an|grep 53 (省略) tcp 0 0 :::53 :::* LISTEN |
また、digなどで設定したaaaaレコードが引けることを確認します。
# dig www.ubiteq.co.jp aaaa ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3 <<>> www.ubiteq.co.jp aaaa ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15445 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.ubiteq.co.jp. IN AAAA ;; ANSWER SECTION: www.ubiteq.co.jp. 481 IN AAAA 2001:200:c10:82::88 (以下省略) |
DNSレコードの設定が完了した時点で、WebサーバはIPv6でも公開されていることになります。Apacheのアクセスログで、IPv6を送信元IPアドレスとするアクセスが発生していることを確認してください。
【関連記事】 IPv6対応DNSサーバの実現 http://www.atmarkit.co.jp/flinux/rensai/bind912/bind912a.html |
最後に
今回はIPv4アドレスで動いているWebサーバにIPv6アドレスを追加し、公開する例を解説しました。これを機にWebサイトオーナーとしてWorld IPv6 Dayへの参加を決めたなら、ISOCに連絡すると、参加サイト一覧に名前が掲載されます。
このような、いわゆるIPv4/IPv6デュアルスタックな環境の稼働監視は、IPv4、IPv6両方のIPに対し行う必要があります。例えば、DNSのquery/answerの監視においても、IPv4とIPv6両方のqueryに応答していることを確認する、などのオペレーションが必要です。
今回は、World IPv6 Dayの1日だけのIPv6運用だとしても、近い将来、IPv6が常態的に使われるようになる日が訪れます。そのことを鑑み、この期間は「IPv6環境の監視」にもチャレンジされることをお勧めします。
【関連記事】 「World IPv6 Day」に向けて準備すべきこととは http://www.atmarkit.co.jp/news/201104/28/w6d.html |
4ステップでWebサーバをIPv6に対応させる方法 | |
World IPv6 Dayがやってくる IPv6アドレスの入手 ネットワークのIPv6対応 |
|
サーバのIPv6対応 | |
DNSへの登録 最後に |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
|
|