ftp 连接被拒绝通过 virtualbox

ftp 连接被拒绝通过 virtualbox

我在主机上运行 Ubuntu 22.04(计算机 A),在虚拟机中运行 Ubuntu 20.04(计算机 B)。我希望能够从主机 ftp 到 VB,但每次尝试 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 通过 ftp 连接到 B 时,使用 ftp 连接被拒绝。我甚至没有要求输入用户名和密码。

我尝试 telnet 到 localhost 和端口号,但连接被拒绝。我使用 nmap 查看哪些端口是打开的,但 ufw 中指定的端口均未打开,而其他两个端口已打开,所以我想知道故障发生在哪里。

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,但这个解决方案对我来说有效

相关内容