BIG-IPで設定するアドレス変換について記事にします。
BIG-IPからノード(実サーバ)へロードバランスする際に、そのレスポンスが必ずBIG-IPを経由するようにするため、送信元NATする場合があります。特にワンアーム接続の場合は、ノードからのレスポンスがBIG-IPを経由しないため、送信元NATが必要です。
下記記事の構成を使用し、アドレス変換の設定と動作を確認しますので、先にお読みいただくことをお勧めします。
>> 参考記事 : 負荷分散の基本設定と動作確認(Node、Pool、VirtualServer)NAT設定(筐体全体)
Virtual Serverへのアクセスではなく、ルータのように、筐体全体で、NATを設定したい場合に、NAT ListやSNATを使用します。
NAT List (1対1NAT)
端末からNAT Addressを宛先として接続すると、BIG-IPが宛先アドレスをOrigin Addressに変換し、転送されます。
NAT Listとして、10.0.1.101と10.0.2.24を1対1NATする設定をします。

Local Traffic >> Address Translation >> NAT List へ移動します。

右上のCreateをクリックします。

下記の画面でNAT Listを設定します。

- Name:任意の名前。今回は、NATLIST-1とします。
- NAT Address:NAT変換アドレスとして10.0.1.101を設定
- Origin Address:NAT AddressにマップされるIPアドレス(10.0.2.24)を設定
Finished をクリックすると、下記のとおり登録されます。

SNAT(Secure Network Address Translation)
BIG-IPで受信したパケットの送信元アドレスを指定のIPアドレスに変換します。
SNATとして、60.0.0.0/8からの通信の送信元IPアドレスを10.0.1.102に変換します。

Local Traffic >> Address Translation >> SNAT List へ移動します。

右上のCreateをクリックします。

下記の画面でSNATを設定します。

- Name:任意の名前。今回はSNAT-1とします。
- Translation:IP Addressを選択し、NAT変換後のIPアドレス(10.0.1.102)を設定します。
- Address List :NAT対象のIPアドレス(プレフィックス)を設定します。OriginをAddress Listにし、Address/Prefix Lengthで60.0.0.0/8と入力し、Addをクリックすることで、リストへ登録されます。
設定後、Finishedをクリックすると、下記のとおり登録されます。

動作確認
上記のNAT ListとSNATを組み合わせ、BIG-IP外部の端末から、内部のWeb-1へNAT変換によりアクセスできるか確認します。

端末のブラウザからhttp:// 10.0.1.101宛にアクセスすると、Web-01のページが表示されます。

BIG-IPを通過するパケットをキャプチャすると、下記のとおり、アドレス変換されていることが確認できます。

統計の確認
Statistics >> Module Statistics >> Local Traffic へ移動します。

Statistics TypeをNATsにすると、 NATListの通信量カウンタやコネクション数が確認できます。

NAT設定(Virtual Serverへ適用)
VirtualServerへのアクセス時の送信元アドレス変換として、SNATPoolやAutoMapを使用します。宛先アドレスは、自動的に、Virtual Server→ノード へ変換されます。
SNAT Pool
設定
送信元アドレスをPoolアドレスとして登録し、Virtual Serverに適用します。今回は、10.0.1.103 をPoolアドレスとして登録し、VirtualServer(Web-VS : 10.0.1.100)に適用します。

Local Traffic >> Address Translation >> SNAT Pool List へ移動します。

右上のCreateをクリックします。

下記の画面でSNAT Poolを設定します。

- Name:任意の名前。今回は、SNAT-Pool-1とします。
- Member List:変換後の送信元IPアドレスを設定します。今回は、10.0.1.103を登録します。
設定後、Finishedをクリックすると、下記のとおり登録されます。

上の設定したSNAT PoolをVirtual Serverに適用します。
Local Traffic >> Virtual Servers >> Virtual Server List へ移動し、名前(Web-VS)をクリックします。

Source Address Translationで、SNAT に変更することで、SNAT Poolのリストが選択できるようになります。SNAT Poolで、SNAT-Pool-1を選択します。

Update をクリックします。

動作確認
端末のブラウザからhttp:// 10.0.1.100宛にアクセスすると、Web-01のページが表示されます。

tmsh から show sys connection コマンドにより、BIG-IPが保持しているコネクション情報が表示され、アドレス変換の様子も確認できます。
BIG-IP →Web-01へ転送する際に、SNAT Poolで設定した10.0.1.103で送信元アドレス変換されていることが確認できます。
admin@(BIG-IP-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show sys connection
Really display 1000 connections? (y/n) y
Sys::Connections
60.72.149.127:57958 10.0.1.100:80 10.0.1.103:57958 10.0.2.24:80 tcp 3 (tmm: 1) none none

AutoMap
AutoMapを適用することで、BIG-IP自身のインタフェースに付与されているIPアドレス(シングル構成の場合はSelfIP、 冗長構成の場合はFloating SelfIP)を使用して送信元NATされます。
今回は、シングル構成で、Network >> Self IPs により、SelfIP(10.0.1.201)が確認できます。

設定
Virtual ServerにAutoMapを適用します。
Local Traffic >> Virtual Servers >> Virtual Server List へ移動し、名前(Web-VS)をクリックします。

Source Address Translationで、Auto Mapを選択します。

Update をクリックします。

動作確認
端末のブラウザからhttp:// 10.0.1.100宛にアクセスすると、Web-02のページが表示されます。

BIG-IP →Web-02へ転送する際に、AutoMapが適用され、SelfIPである10.0.1.201で送信元アドレス変換されていることが確認できます。
admin@(BIG-IP-1)(cfg-sync Standalone)(Active)(/Common)(tmos)# show sys connection
Really display 1000 connections? (y/n) y
Sys::Connections
60.72.149.127:61015 10.0.1.100:80 10.0.1.201:61015 10.0.2.71:80 tcp 0 (tmm:0) none none

コメント