NSXALBのライフサイクルは結構早く2024年4月30日時点の最新版は30.1.2 2p1となっています。いままで、21.x、22.xで検証していたので、今回最新版のNSXALBを導入してみました。
また、21.xでFTPのVSを作成するとDataScriptを設定し、Active/Passiveモードの設定が必要でしたが、22.xからNative FTP Profileが導入されているので、実際の動作確認をしてみたいと思います。
構成
ホームラボのネットワーク構成は、こちらです。
VS、Pool、VIPの接続イメージは以下のようになります。
30.1.2の構築
構築手順を紹介しようと思ったのですが、以前21.1.5 2p2を導入したときの手順と全く同じだったので、ここでは割愛します。
詳細は、以前の記事を参照ください。
hironw.hatenablog.com
Poolの作成
まずは、FTPサーバーのPoolを作成します。FTPサーバーはWindows Server 2022のIIS機能であらかじめ構築しています。
[Applications]-[Pools]から「CREATE POOL」を選択します。
Pool作成画面で以下の情報を入力します。
Name:Pool_winsrv35
Type:Generic Application
Default Server Port:21
Load Balance Algorithm:Consistent Hash(FTPはこのアルゴリズムのみサポート)
Type:Source IP Address
「Select Server By」で、FTPサーバーのIPアドレス(192.168.10.35)を入力し、「ADD」を選択します。
選択すると、「Servers」に設定が反映されるので、右端の編集ボタンを選択します。
ここの設定変更は必須ではありませんが、わかりやすいように変更し「SAVE」を選択します。
Hostname:winsrv35
Port:21
「Health Monitor」で「System-TCP」を選び「SAVE」を選択し設定を完了します。
VIPの作成
続いてVIPを作成します。[Applications]-[VS VIPs]から「CREATE」を選択します。
VIP作成画面で「Name」に「vip_192.168.10.202」を入力し、「VIPs」で「ADD」を選択します。
IPv4 Addressに「192.168.10.202」を入力し、Placement Networkの「ADD」を選択します。
Placement Network画面で以下の情報を入力し「SAVE」を選択します。
Placement Network:192.168.10.0/24 - 192.168.10.0/24
IPv4 Subnet:192.168.10.0/24
設定が反映されているのを確認して「SAVE」を選択します。
VSの作成
PoolとVIPを作成したので、最後にVirtual Serviceを作成します。
[Applications]-[Virtual Service]から「CREATE」の「Advanced Setup」を選択します。
VS作成画面で以下の情報を入力し「NEXT」を選択します。
Name:vs_winsrv35_FTP
VS VIP:vip_192.168.10.202
Service:21
Application Profile:System-FTP(デフォルトで用意されているProfileを選択)
TCP/UDP Profile:System-TCP-Proxy
Pool:Pool_winsrv35
SETP2、STEP3はなにも設定せず「NEXT」を選択し、STEP4で「Service Engine Group」で「Default-Group」を選んで「SAVE」を選択します。
動作確認
FTPのVS が作成されると、NSXALBはFTPアプリケーションプロファイルが適用されていることを検出し、必要に応じた追加の構成を自動的に作成します。
Service Portで「20」の追加と「System-TCP-Fast-Path-FTP」が追加されています。
DataScriptの設定は、Activeモード、Passiveモードのどちらにも対応可能な「DEFAULT-FULL-FTP」が自動的にセットされます。
Activeモードでの接続
FFFTPでActiveモードで接続後、圧縮ファイル「exp133.lzh」がアップロードできたことを確認できました。
以下は、FFFTP接続時のログです。
FTP over Explicit SSL/TLS (FTPES)を使用します. ホスト 192.168.10.202 (192.168.10.202:21) に接続しています. 接続しました. 220 Microsoft FTP Service >AUTH TLS 534 Local policy on server does not allow TLS secure connections. >AUTH SSL 534 Local policy on server does not allow TLS secure connections. ログインできません. 通信は暗号化されていません. 第三者にパスワードおよび内容を傍受される可能性があります. ホスト 192.168.10.202 (192.168.10.202:21) に接続しています. 接続しました. 220 Microsoft FTP Service >USER ftpuser 331 Password required >PASS [xxxxxx] 230 User logged in. >FEAT 211-Extended features supported: LANG EN* UTF8 AUTH TLS;TLS-C;SSL;TLS-P; PBSZ PROT C;P; CCC HOST SIZE MDTM REST STREAM 211 END >OPTS UTF8 ON 200 OPTS UTF8 command successful - UTF8 encoding now ON. >XPWD 257 "/" is current directory. >TYPE A 200 Type set to A. >PORT 192,168,100,16,249,128 200 PORT command successful. >LIST 125 Data connection already open; Transfer starting. 226 Transfer complete. ファイル一覧の取得は正常終了しました. (51 Bytes) >>CD .. >>CD .. >>CD Users >>CD hippi >>CD Downloads >TYPE I 200 Type set to I. >PORT 192,168,100,16,249,181 200 PORT command successful. >STOR /exp133.lzh 125 Data connection already open; Transfer starting. 226 Transfer complete. アップロードは正常終了しました. (1 Sec. 336051 B/S). >TYPE A 200 Type set to A. >PORT 192,168,100,16,249,182 200 PORT command successful. >LIST 125 Data connection already open; Transfer starting. 226 Transfer complete. ファイル一覧の取得は正常終了しました. (51 Bytes) 切断しました
NSXALBのログでも、FTP(20,21)で通信できていることが確認できました。
Passiveモードでの確認
FFFTPでPassiveモードで接続後、圧縮ファイル「exp133.lzh」がアップロードできたことを確認できました。
以下は、FFFTP接続時のログです。
FTP over Explicit SSL/TLS (FTPES)を使用します. ホスト 192.168.10.202 (192.168.10.202:21) に接続しています. 接続しました. 220 Microsoft FTP Service >AUTH TLS 534 Local policy on server does not allow TLS secure connections. >AUTH SSL 534 Local policy on server does not allow TLS secure connections. ログインできません. 通信は暗号化されていません. 第三者にパスワードおよび内容を傍受される可能性があります. ホスト 192.168.10.202 (192.168.10.202:21) に接続しています. 接続しました. 220 Microsoft FTP Service >USER ftpuser 331 Password required >PASS [xxxxxx] 230 User logged in. >FEAT 211-Extended features supported: LANG EN* UTF8 AUTH TLS;TLS-C;SSL;TLS-P; PBSZ PROT C;P; CCC HOST SIZE MDTM REST STREAM 211 END >OPTS UTF8 ON 200 OPTS UTF8 command successful - UTF8 encoding now ON. >XPWD 257 "/" is current directory. >TYPE A 200 Type set to A. >PASV 227 Entering Passive Mode (192,168,10,202,254,92). ホスト 192.168.10.202 (192.168.10.202:65116) に接続しています. 接続しました. >LIST 125 Data connection already open; Transfer starting. 226 Transfer complete. ファイル一覧の取得は正常終了しました. (51 Bytes) >TYPE I 200 Type set to I. >PASV 227 Entering Passive Mode (192,168,10,202,254,92). ホスト 192.168.10.202 (192.168.10.202:65116) に接続しています. 接続しました. >STOR /exp133.lzh 125 Data connection already open; Transfer starting. 226 Transfer complete. アップロードは正常終了しました. (1 Sec. 336051 B/S). >TYPE A 200 Type set to A. >PASV ★★★Passiveモードでの接続に切り替えている 227 Entering Passive Mode (192,168,10,202,254,92). ホスト 192.168.10.202 (192.168.10.202:65116) に接続しています. 接続しました. >LIST 125 Data connection already open; Transfer starting. 226 Transfer complete. ファイル一覧の取得は正常終了しました. (51 Bytes) 切断しました
NSXALBのログでも、FTP(21,62955)で通信できていることが確認できました。