A10からリアルサーバへロードバランスする際に、そのレスポンスが必ずA10を経由するようにするため、送信元NATする場合があります。特にワンアーム接続の場合は、リアルサーバからのレスポンスがA10を経由しないため、送信元NATが必要です。
下記記事の構成を使用し、A10で設定できる送信元NATの設定と動作を確認しますので、先にお読みいただくことをお勧めします。
>> 参考記事 : サーバ負荷分散(レイヤ4)の基本設定と動作確認 5.2.0
送信元NATをしない場合、セッション(ADC >> SLB >> Session)を確認すると、Reverse DestがクライアントのIPアドレスとなります。

NAT設定は、仮想アドレスの仮想ポート単位で設定します。設定方法として下記3パターンを確認します。
- Source NAT Auto:A10のインタフェースアドレスを送信元としてNAT
- Poolアドレス:指定したアドレス範囲を送信元としてNAT
- Poolグループ:複数のPoolアドレスをグループ化したものを送信元としてNAT
Source NAT Auto
A10のインタフェースアドレスでNATする場合、Source NAT Auto を有効にします。
ADC >> SLB >> Virtual Servers より仮想アドレスを編集(edit)します。

仮想ポートを編集(edit)します。

下記の画面で、Source NAT Auto にチェックを入れます。

仮想ポート、仮想アドレスそれぞれで、Updateをクリックします。

セッション(ADC >> SLB >> Session)を確認すると、Reverse DestがA10のインタフェースアドレスである10.0.200.149であることが確認できます。

CLIで設定する場合は、仮想ポートの配下で、source-nat コマンドにて auto を設定します。
vThunder(config)#slb virtual-server vip-web 10.0.10.200
vThunder(config-slb vserver)#port 80 tcp
vThunder(config-slb vserver-vport)#source-nat auto
Poolアドレス
指定したアドレス範囲を送信元としてNATする場合にPoolアドレスを使用します。今回は、10.0.200.10、10.0.200.11、10.0.200.12の範囲を指定したPoolアドレスを設定し、仮想ポートに適用します。

ADC >> IP Source NAT へ移動し、IPv4 Pools >> Createをクリックします。

下記画面より、Poolアドレスを設定します。

- Name:任意の名前。今回は、snat_pool_1とします。
- Start Address : アドレス範囲の開始アドレスとして、10.0.200.10を設定
- End Address :アドレス範囲の終了アドレスとして、10.0.200.12を設定
- Netmask:ネットマスクとして、/24を設定
- IP-RR:アドレス範囲をラウンドロビンで割り当てるようEnableを選択
設定後、Createをクリックします。

上で設定したPoolアドレスを仮想ポートへ適用します。仮想ポートの設定で、Source NAT Poolから上で作成したsnat_pool_1を選択します。

仮想ポート、仮想アドレスそれぞれで、Updateをクリックします。

セッション(ADC >> SLB >> Session)を確認すると、Reverse DestがPoolアドレスである10.0.200.10〜10.0.200.12であることが確認できます。

CLIで設定する場合は、ip nat poolでPoolアドレス(snat_pool_1)を作成し、仮想ポートの配下で、source-nat コマンドによりPoolアドレスを指定します。
vThunder(config)#ip nat pool snat_pool_1 10.0.200.10 10.0.200.12 netmask /24 ip-rr
vThunder(config)#slb virtual-server vip-web 10.0.10.200
vThunder(config-slb vserver)#port 80 tcp
vThunder(config-slb vserver-vport)#source-nat pool snat_pool_1
Poolグループ
複数のPoolアドレスにまたがる範囲を指定したい場合は、poolグループを使用します。今回、10.0.200.13、10.0.200.15、10.0.200.17と不連続な範囲で、アドレス変換するものとします。

まず、上の手順と同様に、poolアドレスを3つ作成します。

その後、poolグループを作成し、これらプールアドレスをメンバーとして登録します。ADC >> IP Source NAT >> Groups へ移動し、Create をクリックします。

下記画面より、Poolグループとそのメンバーを設定します。

- Pool Group Name:任意の名前。snat_pool_group1とします。
- Group Type:IPv4を選択
- IPv4 Member:上で登録したプールアドレスを選択
設定後、Createをクリックします。

下記のとおり登録されます。

このグループを仮想ポートへ適用します。

仮想ポート、仮想アドレスそれぞれで、Updateをクリックします。

セッション(ADC >> SLB >> Session)を確認すると、Reverse DestがPoolグループ内のアドレス(今回は10.0.200.13)であることが確認できます。

CLIで設定する場合は、ip nat pool-groupによりPoolグループを作成し、Poolアドレスをメンバとして登録します。その後、仮想ポートの配下で、source-nat コマンドによりPoolグループを指定します。
vThunder(config)#ip nat pool snat_pool_group_member1 10.0.200.13 10.0.200.13 netmask /24
vThunder(config)#ip nat pool snat_pool_group_member2 10.0.200.15 10.0.200.15 netmask /24
vThunder(config)#ip nat pool snat_pool_group_member3 10.0.200.17 10.0.200.17 netmask /24
vThunder(config)#ip nat pool-group snat_pool_group1
vThunder(config-pool-group:snat_pool_group1)#member snat_pool_group_member1
vThunder(config-pool-group:snat_pool_group1)#member snat_pool_group_member2
vThunder(config-pool-group:snat_pool_group1)#member snat_pool_group_member3
vThunder(config)#slb virtual-server vip-web 10.0.10.200
vThunder(config-slb vserver)#port 80 tcp
vThunder(config-slb vserver-vport)#source-nat pool snat_pool_group1
コメント