
Я использую Ubuntu 22.04 (компьютер A) в качестве хоста и Ubuntu 20.04 внутри virtualbox (компьютер B). Я хочу иметь возможность ftp с хоста на VB, но я получаю отказ в подключении всякий раз, когда я пытаюсь использовать ftp или ssh.
Я настроил ftp-сервер с помощью vsftpd, следуя инструкциям в интернете. Я могу зайти на ftp-сервер компьютера B с него самого, используя ftp localhost, так что я думаю, что сервер настроен правильно.
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)
ipconfig на компьютере B показал, что IP-адрес — 10.0.2.15, поэтому я настроил переадресацию портов в сетевых настройках в VB.
Но когда я пытаюсь зайти на B по ftp из AI, соединение отклоняется по 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 для себя каким-то образом, но это решение сработало для меня