![Настройка удаленного доступа к FTP-серверу через коммутатор, маршрутизатор и модем](https://rvso.com/image/1438674/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0%20%D0%BA%20FTP-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%2C%20%D0%BC%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%20%D0%B8%20%D0%BC%D0%BE%D0%B4%D0%B5%D0%BC.png)
Я пытаюсь получить доступ к своему удаленному FTP-серверу с ПК, подключенного к нашему (Virgin) DSL-модему через коммутатор (Netgear GS108PE). Коммутатор подключен к маршрутизатору (Asus RT-AC68U), который подключен к модему. Все подключены по кабелю Cat5/6 ethernet.
Я использую FileZilla для доступа к FTP-серверу, который подключается, чтобы разрешить рукопожатие, и принимает логин и пароль, но дает сбой при выводе списка каталогов (MLSD).
Вот в чем дело: я могу получить доступ к списку каталогов без проблем с другого ПК, подключенного к маршрутизатору напрямую, но не с ПК, подключенного через коммутатор Netgear. Все находятся в одной сети и все используют DHCP с маршрутизатора. Я отключил все брандмауэры и попробовал перенаправить весь FTP-трафик как на ПК, так и на коммутатор (действительно пробуя все, что только мог придумать, правда).
Я пробовал активный и пассивный режимы, переадресацию портов, отключение брандмауэров и все остальное, что смог найти, но у меня такое чувство, что я, возможно, упускаю что-то в сути настройки коммутатора/маршрутизатора.
Есть идеи, что я могу попробовать? Я потратил на это весь день и, очевидно, гуглил проблему большую часть этого времени. Я работаю с домашними сетями более 20 лет, но эта меня сбила с толку.
Вот какое сообщение я получаю:
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Status: Server does not support non-ASCII characters.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is your current location
Command: TYPE I
Response: 200 TYPE is now 8-bit binary
Command: PASV
Response: 227 Entering Passive Mode (xxx,xxx,xxx,xxx,xxx,xxx)
Command: MLSD
Error: Connection timed out
Error: Failed to retrieve directory listing
*Я изменил IP-адреса (которые являются правильным внешним IP-адресом рассматриваемого FTP-сервера) на XXX в приведенном выше примере.
Буду признателен за любые соображения, если они у вас есть.
Ваше здоровье!
решение1
Так что, полагаю, отключение TLS решило проблему.
Теперь о причинах влияния TLS: на современных межсетевых экранах, отслеживающих соединения (необходимых, например, для преобразования адресов портов), существуют так называемые помощники отслеживания, которые анализируют протоколы с помощью глубокой проверки пакетов.
FTP с его отдельными контрольными и информационными соединениями проблематичен для брандмауэров: просто разрешить исходящие соединения на порту 21 недостаточно. Вот тут-то и вступает в дело помощник: он анализирует контрольное соединение и разрешает соединения в соответствии с PASV
(или EPSV
) ответом. При зашифрованном контрольном соединении анализ невозможен, и соединения не будут проходить.
Все эти вещи обычно актуальны только для «корпоративных» межсетевых экранов, поскольку маршрутизаторы SOHO по умолчанию разрешают все исходящие соединения.