仮想ボックス経由でFTP接続が拒否されました

仮想ボックス経由でFTP接続が拒否されました

私は、Ubuntu 22.04 (コンピュータ A) をホストとして実行しており、Ubuntu 20.04 を仮想ボックス (コンピュータ B) 内で実行しています。ホストから VB に FTP できるようにしたいのですが、FTP または SSH を試みると、必ず接続が拒否されます。

オンラインの指示に従って、vsftpd を使用して FTP サーバーをセットアップしました。ftp localhost を使用してコンピューター B 自体に FTP 接続できるので、サーバーは適切にセットアップされていると思います。

run@write:/etc$ ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:run): run
331 Please specify the password.
Password:
230 Login successful.

関連するポートをリッスンするようにファイアウォールを設定しました

run@write:/etc$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
21/tcp                     ALLOW       Anywhere                  
20/tcp                     ALLOW       Anywhere                  
990/tcp                    ALLOW       Anywhere                  
40000:50000/tcp            ALLOW       Anywhere                  
OpenSSH                    ALLOW       Anywhere                                 
21/tcp (v6)                ALLOW       Anywhere (v6)             
20/tcp (v6)                ALLOW       Anywhere (v6)             
990/tcp (v6)               ALLOW       Anywhere (v6)             
40000:50000/tcp (v6)       ALLOW       Anywhere (v6)             
OpenSSH (v6)               ALLOW       Anywhere (v6)                 

コンピュータ B の ipconfig で IP アドレスが 10.0.2.15 であることが示されたので、VB のネットワーク設定でポート転送を設定しました。

ポート転送リスト

しかし、AI から B に FTP しようとすると、FTP を使用して接続が拒否されます。ユーザー名とパスワードの入力を求めることすらできません。

ローカルホストとポート番号に telnet しようとしましたが、接続が拒否されました。開いているポートを確認するために nmap を使用しましたが、ufw で指定されたポートはどれも開いておらず、他の 2 つは開いているため、どこで障害が発生しているのか疑問に思っています。

nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2022-11-21 23:04 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
631/tcp  open  ipp
5500/tcp open  hotline

問題は、仮想ボックスの設定方法、または仮想ボックスへの FTP 接続方法にあるのでしょうか?

答え1

何が起こっているのか、なんとか理解できました。

まずファイアウォールをオフにしました

sudo ufw disable

次に、FTP に使用していたポートを 2121 に変更し、仮想ボックス内で 2121 を 21 に送信するようにポート転送を設定しました。

その後、すべてが期待通りに機能しました。コンピューターAが何らかの方法で21を予約したかどうかはわかりませんが、この解決策は私にとってはうまくいきました。

関連情報