【A10 Thunder】サーバ負荷分散(L4) 送信元NATと動作確認 5.2.0

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.1010.0.200.1110.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.1010.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.1310.0.200.1510.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 DestPoolグループ内のアドレス(今回は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

コメント