
私は、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を予約したかどうかはわかりませんが、この解決策は私にとってはうまくいきました。