World IPv6 Dayに参加してみよう
4ステップでWebサーバをIPv6に対応させる方法
株式会社ユビテック
カスタマーサービスタスク
サブチーフ
木村 保博
2011/5/19
サーバのIPv6対応
OS、httpサーバのIPv6に関する設定をします。
今回取り上げる「CentOS 5.5」や、Webサーバとして標準的に利用されることの多い「Apache 2.2」などはすでにIPv6に対応しており、yumなどのパッケージ管理コマンドを使って簡単にインストールできます。インストール後は、WebサーバごとにIPv6アドレスなどを設定するだけでIPv6対応が可能です。
今回は、サーバに割り当てるIPv6アドレスなどを以下のように想定し、設定例を示します。
サーバ |
■eth0にIPv6アドレスを設定する
IPv6を有効にするとともに、ネットワークインターフェイスにIPv6アドレスを設定します。
(1)/etc/sysconfig/networkを以下のように追加、変更する
NETWORKING_IPV6=yes IPV6_DEFAULTDEV=eth0 IPV6_DEFAULTGW= 2001:200:c10:82::94 |
(2)/etc/sysconfig/network-sccript/ifcfg-eth0に以下を追加する
IPV6INIT=yes IPV6ADDR=2001:200:c10:82::88/64 |
(3)ネットワークを再起動する
(1)、(2)の設定を有効にするため、ネットワークを再起動します。
# /sbin/service network restart インターフェース eth0 を終了中: [ OK ] ループバックインターフェースを終了中 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] インターフェース eth0 を活性化中: [ OK ] |
この再起動によりIPv6アドレスが設定、有効化されます。
(4)確認
IPv6での通信が可能か、ping6で確認します。
# ping6 www.kame.net PING www.kame.net(2001:200:dff:fff1:216:3eff:feb1:44d7) 56 data bytes 64 bytes from 2001:200:dff:fff1:216:3eff:feb1:44d7: icmp_seq=0 ttl=57 time=15.1 ms 64 bytes from 2001:200:dff:fff1:216:3eff:feb1:44d7: icmp_seq=1 ttl=57 time=14.8 ms 64 bytes from 2001:200:dff:fff1:216:3eff:feb1:44d7: icmp_seq=2 ttl=57 time=14.9 ms --- www.kame.net ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 14.815/15.001/15.194/0.209 ms, pipe 2 |
■ApacheにIPv6を設定する
(1)httpd.confの設定
Apacheのdefault設定に近い最も単純な設定の場合、Listenがdefault(*:80)の設定でよければ、そのままでIPv6に対応できます。
しかし、VirtualHostの設定でIPアドレスを特定した仮想ホストの設定を行う場合は、httpd.confのListenにサーバのIPv6アドレスを追加設定します。その際には、IPv6アドレスを以下のように角括弧[ ]でくくらなければならない点に注意してください。
Listen [2001:200:c10:82::88]:80 |
(2)httpdの再起動
Apacheの設定を修正した場合は、httpdを再起動します。
# /sbin/service httpd restart |
(3)確認
httpdがIPv6アドレスで立ち上がっていることを確認します。
# netstat -an|grep 80 tcp 0 0 211.14.19.88:80 0.0.0.0:* LISTEN tcp 0 0 2001:200:c10:82::88:::80 :::* LISTEN |
設定したIPv6アドレスでLISTENしていればOKです。
(4)Webサーバの応答確認
設定したIPv6アドレスでWebサーバの応答を確認しましょう。telnetコマンドでWebサーバに接続し、HTTPのHEADコマンドでトップページのヘッダ情報を確認します。コマンドとして打ち込む部分は太字の部分です。
# telnet 2001:200:c10:82::88 80 Trying 2001:200:c10:82::88 Connected to 2001:200:c10:82::88 Escape character is '^]'. HEAD / HTTP/1.0 Date: Thu, 14 Apr 2011 07:43:25 GMT Server: Apache Accept-Ranges: bytes Content-Length: 10329 Connection: close Content-Type: text/html Connection closed by foreign host. |
telnetコマンドだけでなく、wgetなどのテキスト型のhttpクライアントもIPv6に対応しています。
# wget --server-response -O /dev/null 'http://[::1]:80/' --2011-04-14 13:53:38-- http://[::1]/ ::1:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... HTTP/1.1 200 OK Date: Thu, 14 Apr 2011 04:53:38 GMT Server: Apache Accept-Ranges: bytes Content-Length: 10329 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html 長さ: 10329 (10K) [text/html] `/dev/null' に保存中 100%[======================================>] 10,329 --.-K/s 時間 0s 2011-04-14 13:53:38 (116 MB/s) - `/dev/null' へ保存完了 [10329/10329] |
(5)ip6tablesの設定
IPv4で使用するiptablesは、IPv4に対してのみ有効なホストファイアウォール機能です。IPv4でiptableを設定し使用している場合は、IPv6でも同じようにホストファイアウォールを設定するのが望ましいでしょう。
具体的には、IPv6用のアクセス制御設定を作成し、ip6tablesサービスを起動させます。以下のように、Webサーバへのアクセス許可、DNSサーバへのアクセス許可を設定しましょう。
# vi /etc/sysconfig/ip6tables (IPv6用アクセス制御設定) # service ip6tables start (ip6tablesサービスを起動) # chkconfig ip6tables on (システム起動時にip6tablesを自動起動させるよう設定) |
設定する際の構文は、IPアドレスの記述が128ビットのIPv6アドレスに変わるだけで、iptablesとすべて同じです。IPv4と同じ方針で設定するのがよいでしょう。
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疑似デバイスの作成も可能だ。
|
|