2

Я столкнулся с непонятной проблемой. В течение последнего месяца я использовал FTP-сервер, работающий на Ubuntu Server 14.04, и он работал безупречно. В то время я использовал старый маршрутизатор Apple с начала 2000-х годов, поэтому потребовалось обновление. Я обновил до нового быстрого Linksys WRT1900ac. У него есть скорость, которую я желаю, но я столкнулся с ошибкой. Я больше не могу получить доступ к FTP-серверу. Когда мой компьютер подключен к сети и я использую локальный IP-адрес сервера, он работает безупречно. К сожалению, когда я пытаюсь подключиться к серверу удаленно с WAN IP маршрутизатора, я получаю ошибки тайм-аута соединения.

Сервер имеет статический IP-адрес и не может подключаться к Интернету. Все IP-адреса маршрутизатора и шлюза установлены правильно, и компьютер все еще не может подключиться. Это может быть проблемой. Другой вопрос, может ли быть причиной проблемы маршрутизатор? Я могу получить доступ к маршрутизатору удаленно, используя ping и Smart WIFI от Linksys, но telnet не работает. Может ли маршрутизатор быть не в состоянии переадресовать порты? Я открыл порт 21 для FTP и попытался открыть порт 20 также.

Любая помощь будет оценена. Заранее спасибо.

1 ответ1

2

Большинству людей нужны свои домашние шлюзы для NAT (в частности, NAPT), а NAT нарушает работу FTP.

FTP в "пассивном режиме", который в настоящее время используется по умолчанию на большинстве FTP-клиентов, - это обходной путь, предотвращающий перехват FTP на стороне клиента. Однако, если FTP-сервер находится за NAT, NAT на стороне сервера нарушает пассивный режим FTP, тогда как традиционный FTP (теперь называемый "активным режимом" FTP) будет работать нормально.

Шлюзы NAT могут содержать специальный код, известный как шлюз прикладного уровня (ALG) для FTP, который в основном представляет собой код, который знает, как работает FTP, и гарантирует, что NAT не сломает его. Действительно хороший ALG для FTP может решить проблемы как «клиент за NAT, устанавливающий соединение в активном режиме», так и «сервер за NAT, получающий соединение с пассивным режимом», но, к сожалению, многие просто решают проблему "клиент за NAT".

Apple всегда умело вкладывала достойный FTP ALG в семейство своих базовых станций AirPort (включая Extremes, Expression и Time Capsules). Их ALG охватывает как клиент, так и сервер. Вам все еще нужно настроить сопоставление портов для сопоставления порта 21 с определенным частным IP-адресом и портом, потому что в противном случае базовая станция не будет знать, какая машина является вашим FTP-сервером.

Если не считать обновления домашнего шлюза до приличного FTP ALG, вы можете установить соединение с вашим сервером, если вы заставите свой FTP-клиент использовать традиционный "активный" режим FTP, но если ваш клиент также находится за NAT, этот NAT на стороне клиента может сломать его, если NAT на стороне клиента не имеет достойного FTP ALG.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .