Network

ロードバランサー配下にあるサーバー間のデータ通信とソースNAT

投稿日:2012年12月26日 更新日:

今回紹介するのはロードバランサーがぶら下がっているグループ間の話しです。

サーバーAから、サーバーB,Cにある仮想IPへアクセスする場合に必要となります。
もちろん実IPを使用する場合には必用ありません :x001:
loadbalacne

なぜソースNATをしていないければ通信できないか

サーバーAから、サーバーC,Dに設定してある仮想IPへアクセスする場合の流れ
①サーバーAから仮想IP:20.10へ
 パケットの送信元IP:10.1 送信先IP:20.10
②仮想IP:20.10からサーバーCへ振り分けられたとする
 パケットの送信元IP:10.1 送信先IP:20.1
③サーバーCからサーバーAへ
 パケットの送信元IP:20.1 送信先IP:10.1 ←直接サーバーAへ戻っている!

サーバーCからサーバーAへの戻りで、直接サーバー間へのルートになってしまい、仮想IP(ロードバランサー)がスキップされています。
このためデータ通信ができなくなるのです。
これは、同じネットワーク(セグメント)にサーバーがあるワンアームと呼ばれる構成の場合に、同じセグメントに属するサーバーのバーチャルホストに向けて通信をしようとした場合に発生します。
本当はロードバランスのために仮想IPを経由しているのですが、同じネットワークに属するために、送信元IPが変更されないのです。
そのためパケットの戻りが直接送信元サーバーへ帰ってしまうのです。

ソースNATを使うと

サーバーAから、サーバーC,Dに設定してある仮想IPへアクセスする場合の流れ
①サーバーAから仮想IP:20.10へ
 パケットの送信元IP:10.1 送信先IP:20.10
②仮想IP:20.10からサーバーCへ振り分けられたとする
 パケットの送信元IP:20.10 送信先IP:20.1
③サーバーCから仮想IP:20.10へ
 パケットの送信元IP:20.1 送信先IP:20.10
④仮想IP:20.10からサーバーAへ
 パケットの送信元IP:20.10 送信先IP:10.1

行きと帰りのルートが同じになり、無事通信できるはずです。

Gooleアドセンス用336

Gooleアドセンス用336

-Network
-, ,

執筆者:

関連記事

opensslによるワイルドカード証明書と有効期限の延長

ワイルドカード証明書 認証局への署名要求書(server.csr)の作成 の際のCommon Nameで指定します。 Common Nameに指定して正しく動作するパターン test.jp ホスト名が …

route deleteで削除できないルート

route deleteで削除できないルートがあります。 それは、 ネットワーク接続 > プロパティ > インターネット プロトコル XXX   > プロパティ > 詳細設定 によって設定されているI …

routeの*(アスタリスク)

Linuxの場合 [root@centos ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref …

windows

Windows8.1の無線LANアダプター(WN-G300UA)でwifiのアクセスポイント(MZK-SA300D)が見えなくなった時の対応

手軽なwifiのアクセスポイント(MZK-SA300D)を使用していました。 しかし突然、頻繁に通信ができなくなりました。 繋がっては切れるの繰り返しです。 それがかなり続き、PC側の問題かもしれない …

ルートの追加と削除(Windows Linux)

windowsのルートの追加・削除 route add [オプション] [宛先IP] mask [mask] [gateway] metric [metric値] if [if値] オプションの-pを …