少し調べてみた。
WSL2 が NAT(仮想スイッチ)経由の簡易仮想環境なのに localhost で仮想マシンにアクセス可能なのは、wslhost.exe が仮想マシンの Listen Port を localhost として待ち受けているおかげらしい。
ということは、通常の仮想マシンでは何ら問題なく FTP サーバーが動いていることから想像するに、ひょっとしてパッシブモードの場合クライアントからのデータコネクションが多すぎるからかも・・・と考えてみた。
そもそも NAT 越しだからアクティブモードはダメなので、ProFTPD の設定ファイル /etc/proftpd/proftpd.conf の PassivePort を書き換えて試してみた。
# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts 49152 65534
PassivePorts 49152 49157
WSL2 の再起動後、FTP サービスを起動してから再び 2,000 弱の大量ファイル( 展開したあとの WordPress ファイル)をアップロードしたところ、何の問題もなくサクサク完了。
これならテスト環境としては何も問題ないということで、WSL2 で暫く運用してみよう。
※ノートPCの話。自鯖は仮想マシンで継続運用中。
コメント