第2回 SLB-PTでWebサーバをさくっとIPv6対応に
A10ネットワークス株式会社
山村剛久
2012/4/26
これまでのIPv4アドレス在庫で「枯渇の日」を乗り切ったとしても、もう新たな割り当てはありません。この連載では、徐々に顕在化してくると思われるIPv4アドレス枯渇問題を乗り切り、段階的にIPv6対応を進めていく手助けとなるIPv6移行ソリューションを紹介します。(編集部)
Webサーバに手を付けずIPv6対応
前回の記事では、さまざまなIPv4/IPv6移行ソリューションを紹介しました。今回は少し詳細に入って、既存のIPv4 Webサーバの前にSLB-PT対応(IPv6→IPv4変換)のロードバランサを配置して、IPv4 Webサーバを“さくっ”とIPv6対応にする方法を、ネットワーク構成やコマンドを交えて紹介したいと思います。
今回使用する機材はA10ネットワークスの「AXシリーズ」というADC(Application Delivery Controller)で、マーケットでも広く実績のある機器です。コマンドは業界標準ライクなものですので、ご覧になればどのような意味のコマンドであるか、想像できるかと思います。
AXシリーズではIPv6→IPv4のNAT-PTだけではなく、IPv4→IPv6やIPv4←→IPv4、IPv6←→IPv6のロードバランスも同時に提供可能ですが、ここではIPv6→IPv4のNAT-PTに焦点を絞ってお話をします。
図1 SLB-PTのロードバランサによるIPv6対応 |
実際に使用する際には、IPv4←→IPv6間のアドレス変換はもちろん、以下の点も考慮する必要があります。
検討事項1:MTU(Maximum Transfer Unit)に関連する考慮
検討事項2:L7ヘッダやそのペイロード(データ部分)のリライト(書き換え)
検討事項3:IPv4←→IPv6間の変換ログの保存
これらに関する対処方法に関しても、後半でお話したいと思います。では本題に入っていきましょう。
対象となるネットワーク
この記事の例では、2台のIPv4 Webサーバ(サーバ1とサーバ2)に対してロードバランスを行います。構成は図2のとおり、一般的なロードバランサと同じ配置です。
インターネット側のIPv6端末は、ロードバランサのVIPに対して割り当てられたIPv6アドレスに対してアクセスしてきます。インターネット側のIPv6端末にはAXシリーズのVIPが見えていて、AXシリーズはそのVIPに届いたIPv6でのWebアクセスを、2台のIPv4 Webサーバにロードバランスします。そのロードバランスを行う際に、IPアドレスをIPv6 からIPv4のアドレスに変換するという流れです。
図2 今回の例のネットワーク論理構成 |
次に、実際にパケットのIPアドレスが、それぞれのリンク(IPv6端末←→AXシリーズ、AXシリーズ←→IPv4 Webサーバの中でどのように変換されて通信するかを図3に示します。
図3 各リンクでのIPアドレス変換のイメージ |
IPv6からIPv4へアドレスが変換されるので、AXシリーズでは、ソースIP NATが必須となります(ソースのIPアドレスは、オリジナルそのままで使いません)。
【関連記事】 パケットフローから負荷分散の基本を理解する http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html |
では、実際の設定方法を紹介していきましょう。
NAT-PTの設定方法
■前準備
まず前準備として以下の作業が必要となります。
- グローバルIPv6アドレスを取得し、ドメイン名を登録する(もしもパブリックIPv6ネットワークに対してサーバを公開するのであれば必要な準備です。イントラネットの中であれば不要です)。
- DNSサーバで、AAAAレコードとPTRレコードを登録する(VIPに割り当てるIPv6アドレスに対して名前を付けます)。
■AXシリーズでの設定例
AXシリーズでは以下の順に設定を行います。
- IPv4 Source NAT Poolを作成する
- IPv4サーバを作成する
- IPv4サーバのService Groupを作成する
- IPv6 Virtual Serverを、Service Group+IPv4 Source NAT Poolで作成する(追加で他のオプション的な設定も可能です)。
実際のコマンドは、以下の通りになります。
!
ip nat pool1 192.168.0.254 192.168.0.254 netmask /24……(1)
!
slb server s1 192.168.0.1 ……(2)
port 80 tcp
!
slb server s2 192.168.0.2 ……(2)
port 80 tcp
!
slb service-group sg-80 tcp ……(3)
member s1:80
member s2:80
!
slb virtual-server vip1 2001:db8:1:1::1 ……(4)
port 80 http
source-nat pool pool1
service-group sg-80
IPv6→IPv4のNAT-PTの設定はこれだけです。おそらく「えっ、これだけ?」と思う方もいるのではないでしょうか。実際のところ、単なるアドレスの変換だけであれば、意外と簡単にできてしまいます。
が、実ネットワークで運用するには、前述の項目について検討していく必要があります。以下、詳細に見ていきましょう。
第2回 「SLB-PTでWebサーバをさくっとIPv6対応に」 | |
Webサーバに手を付けずIPv6対応 対象となるネットワーク NAT-PTの設定方法 |
|
検討事項1:MTUに関連する考慮 検討事項2:L7ヘッダやそのペイロードのリライト 検討事項3:IPv4←→IPv6間の変換ログの保存 端末に先を越される? サーバのIPv6対応 |
「Master of IP Network総合インデックス」 |
- 完全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疑似デバイスの作成も可能だ。
|
|