Source-NAT設定¶
- 動作確認バージョン
vThunder Version 6.0.7-P2
ここでは、クライアントのIPアドレスをNAT機能でロードバランサー(vThunder ADC) のIPアドレスへ変換する場合の設定方法を紹介します。
なお、ロードバランサー(vThunder ADC) を経由した通信は、 NAT変換は行われず、クライアントのIPアドレスのまま負荷分散対象(リアルサーバー)へ転送されます。
よって、負荷分散対象(リアルサーバー)側にはクライアントのIPアドレスを送信元IPアドレスとして転送したい、かつX-Forwaded-Forが使用できないといった場合においてはデフォルトのままご利用ください。
注釈
当該手順では前提として、事前にサーバー名「server01」をロードバランサー(vThunder ADC)へ登録しています。(参考: リアルサーバーを登録・編集・削除する )
当該手順では前提として、事前にサービスグループ名「servicegroup01」を作成、メンバーにサーバー名「server01」を登録しています。(参考: サービスグループを登録・編集・削除する )
Contents
送信元IPアドレスのNAT機能を有効化¶
ここでは、ロードバランサーの送信元IPアドレスNAT機能を有効にする方法について紹介します。
なお、当該設定はVirtual Serverごとに有効化する必要があります。
サンプル設定のシナリオ
Virtual Server名「vserver01」で送信元NAT機能を有効にしたい。
構成図
シナリオにおける設定のながれ
以下のCLIコマンドで設定を行う。
CLIにて入力するコマンド
vThunder(config)#slb virtual-server vserver01 172.16.10.101
vThunder(config-slb vserver)#port 80 http
vThunder(config-slb vserver-vport)#source-nat auto precedence
vThunder(config-slb vserver-vport)#service-group servicegroup01
正しく設定が完了したときのコンフィグレーションは次のとおり。
vThunder#show run slb virtual-server vserver01
!Section configuration: 215 bytes
!
slb virtual-server vserver01 172.16.10.101
port 80 http
source-nat auto precedence
service-group servicegroup01
!
動作確認結果
1.リアルサーバー側でパケットキャプチャを取得する設定を実行する。
ubuntu@server01:~$ sudo tcpdump -i ens4 tcp port 80 -n -vvv
tcpdump: listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
2.クライアントのサーバーより、以下のコマンドを実行してVirtual Server IPアドレス「172.16.10.101」にアクセスする。
ubuntu@clientvm:~$ curl http://172.16.10.101
server01
3.リアルサーバーのログから送信元IPアドレスがロードバランサーのIPアドレス「192.168.2.101」であることから送信元IPアドレスのNAT機能を有効化されていることを確認する。
03:00:57.711534 IP (tos 0x0, ttl 64, id 45375, offset 0, flags [DF], proto TCP (6), length 304)
192.168.2.101.80 > 192.168.2.11.13880: Flags [P.], cksum 0x86e7 (incorrect -> 0x027e), seq 1:253, ack 75, win 227, options [nop,nop,TS val 183460998 ecr 3856857704], length 252: HTTP, length: 252
HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Date: Wed, 24 Dec 2025 03:00:57 GMT
Content-Type: text/html
Content-Length: 9
Last-Modified: Mon, 17 Nov 2025 05:44:11 GMT
Connection: keep-alive
ETag: "691ab62b-9"
Accept-Ranges: bytes
server01