Шлюз прикладного уровня alg для ftp

Application-level gateway, или ALG (с англ. — «шлюз прикладного уровня») — компонент NAT-маршрутизатора, который понимает какой-либо прикладной протокол, и при прохождении через него пакетов этого протокола модифицирует их таким образом, что находящиеся за NAT пользователи могут пользоваться протоколом.

Содержание

Описание [ править | править код ]

NAT-маршрутизатор ретранслирует пакеты, поступающие изнутри локальной сети и отправляет их во внешнюю сеть, используя свой внешний IP-адрес как адрес отправителя. Также может подменяться порт. Но некоторые сетевые протоколы в содержании своих пакетов передают и пытаются использовать локальный IP-адрес или порт отправителя. Конечно же, после прохождения NAT и подмены локального IP на внешний эти параметры становятся неверными — а значит, удалённая сторона не может наладить соединение.

ALG, идентифицировав пакет как относящийся к данному протоколу, подставляет в качестве IP-адреса и порта свои адрес и порт. Если, по протоколу, соединение по этому порту налаживает удалённый компьютер, автоматически включается ретрансляция.

ALG похож на прокси-сервер; обычно понятием «прокси-сервер» называют сервер, который выполняет дополнительные операции наподобие кэширования, в то время как задача ALG — обеспечить, чтобы клиенты могли пользоваться протоколом.

Протоколы, требующие ALG [ править | править код ]

  • FTP без пассивного режима ( PASV ). Передает IP-адрес и номер порта на клиенте в команде PORT.
  • PPTP. Протокол основан на GRE (по сути PPTP есть PPP поверх GRE с дополнительным управляющим TCP-соединением, которое не используется для данных), а значит, на «сыром» IP. Так как «сырой» IP не имеет понятия «номер порта», возникают проблемы с NAT-отображением этого протокола во внешний мир. Без наличия PPTP ALG в NAT (например, natd в старых версиях FreeBSD) из всей внутренней сети возможно только одно PPTP-подключение к внешнему миру, попытка кого угодно во внутренней сети создать еще одно исходящее PPTP-подключение приводит к ошибке (ошибка 619 в Windows).
  • H.323
  • Протоколы передачи файлов в некоторых мессенджерах (например, MSN Messenger)
  • Создание сервера в некоторых играх
  • Некоторые файлообменные сети

Реализации в ОС [ править | править код ]

Реализация в маршрутизаторах [ править | править код ]

Практически все маршрутизаторы, имеющие NAT, умеют работать с PPTP, IPsec, RTSP, SIP, H.323, SMTP, DNS, TFTP.

з.ч. лМАЮОЙЛПЧ

бООПФБГЙС

дБООБС УФБФШС ПРЙУЩЧБЕФ РТЙОГЙРЩ ТБВПФЩ РТПФПЛПМБ FTP Й ЫМАЪБ РТЙЛМБДОПЗП ХТПЧОС FTP-ALG (Application Level Gateway) Ч ЛПОФЕЛУФЕ ЙУРПМШЪПЧБОЙС NAT-PT (Network Address Translation and Protocol Translation [RFC 2766]).

FTP-ALG

дМС ПВЕУРЕЮЕОЙС РТПЪТБЮОПУФЙ ОБ РТЙЛМБДОПН ХТПЧОЕ РП РТПФПЛПМХ FTP ФТЕВХЕФУС FTP-ALG.

лПНБОДЩ РТПФПЛПМБ FTP УПДЕТЦБФ ЙОЖПТНБГЙА ПВ IP БДТЕУЕ Й ОПНЕТЕ РПТФБ Ч ЛПНБОДБИ ОБ ХУФБОПЧМЕОЙЕ УПЕДЙОЕОЙС ДБООЩИ. [RFC 959] «File Transfer Protocol» ПРТЕДЕМСФ ДЧЕ ФБЛЙЕ ЛПНБОДЩ: PORT Й PASV. [RFC 2428] «FTP Extensions for IPv6 and NATs» ЖБЛФЙЮЕУЛЙ ЪБНЕОСЕФ ЙИ ОБ ЛПНБОДЩ EPRT Й EPSV. рТПФПЛПМ FTP ЙУРПМШЪХЕФ ДЧБ TCP УПЕДЙОЕОЙС: 1) ЛПНБОДОПЕ УПЕДЙОЕОЙЕ (control connection) ДМС РЕТЕДБЮЙ FTP ЛПНБОД, 2) УПЕДЙОЕОЙЕ ДМС РЕТЕДБЮЙ ДБООЩИ (data connection). лПНБОДОПЕ УПЕДЙОЕОЙЕ ЧУЕЗДБ ЙОЙГЙЙТХЕФУС ЛМЙЕОФПН ОБ TCP РПТФ 21 УЕТЧЕТБ. уПЕДЙОЕОЙЕ ДБООЩИ ХУФБОБЧМЙЧБЕФУС ЧУСЛЙК ТБЪ, ЛПЗДБ ОЕПВИПДЙНП РЕТЕДБФШ ДБООЩЕ Й ЪБЛТЩЧБЕФУС РП ПЛПОЮБОЙА РЕТЕДБЮЙ ДБООЩИ.

дМС ХУФБОПЧМЕОЙС УПЕДЙОЕОЙС ДБООЩИ ПРТЕДЕМЕОЩ ФТЙ ТБЪМЙЮОЩИ УРПУПВБ:

1) пВЩЮОЩК ТЕЦЙН

лМЙЕОФ РЕТЕДБЕФ УЕТЧЕТХ БДТЕУ Й РПТФ (Ч ЛПНБОДЕ PORT ЙМЙ EPRT), ЛПФПТЩЕ ВХДХФ ЙУРПМШЪПЧБФШУС УЕТЧЕТПН ДМС ХУФБОПЧМЕОЙС УПЕДЙОЕОЙС У ЛМЙЕОФПН ДМС РЕТЕДБЮЙ/РТЙЕНБ ДБООЩИ. уПЕДЙОЕОЙЕ ЙОЙГЙБМЙЪЙТХЕФУС УЕТЧЕТПН. еУМЙ ДБООЩЕ РЕТЕДБЕФ УЕТЧЕТ (get), ФП УПЕДЙОЕОЙЕ ЪБЛТЩЧБЕФ УЕТЧЕТ, ЕУМЙ ДБООЩЕ РЕТЕДБЕФ ЛМЙЕОФ (put), ФП ЬФП УПЕДЙОЕОЙЕ ЪБЛТЩЧБЕФ ЛМЙЕОФ РП ЛПОГХ ЖБКМБ. рПТФ ЛМЙЕОФБ ЧЩВЙТБЕФУС РТПЙЪЧПМШОЩК (>1024), Б Х УЕТЧЕТБ — ЧУЕЗДБ РПТФ 20.

жПТНБФ ЛПНБОДЩ PORT [RFC 959, section 3.3, 4.1.2], [RFC 1123, section 4.1.2.5]:
оБРТЙНЕТ:
жПТНБФ ЛПНБОДЩ EPRT [RFC 2428, section 2] оБРТЙНЕТ: рТЙ РПМХЮЕОЙЙ РТБЧЙМШОПК (valid) PORT/EPRT ЛПНБОДЩ УЕТЧЕТ ДПМЦЕО ЧПЪЧТБФЙФШ ПФЧЕФ У ЛПДПН 200 (Command OK). уФБОДБТФОЩЕ ЛПДЩ ПЫЙВЛЙ 500 Й 501 ХЛБЪЩЧБАФ ОБ УЙОФБЛУЙЮЕУЛЙЕ ПЫЙВЛЙ. лПДЩ ПФЧЕФБ ПРТЕДЕМСЕФ [RFC 959, section 4.2].лТПНЕ ФПЗП, ЧЧПДЙФУС ОПЧЩК ЛПД ПЫЙВЛЙ 522 [RFC 2428, section 2] ДМС ЛПНБОД EPRT Й EPSV, ЛПФПТЩК ХЛБЪЩЧБЕФ, ЮФП ЪБРТПЫЕООЩК РТПФПЛПМ ОЕ РПДДЕТЦЙЧБЕФУС УЕТЧЕТПН.

2) рБУУЙЧОЩК ТЕЦЙН

лМЙЕОФ РПУЩМБЕФ ЛПНБОДХ PASV ЙМЙ EPSV, ОБ ЛПФПТХА УЕТЧЕТ ЧПЪЧТБЭБЕФ БДТЕУ Й ОПНЕТ РПТФБ. лМЙЕОФ ЙОЙГЙЙТХЕФ УПЕДЙОЕОЙЕ ОБ ХЛБЪБООЩК БДТЕУ Й РПТФ ДМС РЕТЕДБЮЙ/РТЙЕНБ ДБООЩИ. уПЕДЙОЕОЙЕ ЪБЛТЩЧБЕФУС ФБЛ ЦЕ, ЛБЛ Й Ч ОПТНБМШОПН ТЕЦЙНЕ РП ПЛПОЮБОЙА РЕТЕДБЮЙ ДБООЩИ.

жПТНБФ ЛПНБОДЩ PASV [RFC 959, section 3.3, 4.1.2], [RFC 1123, section 4.1.2.6]: жПТНБФ ЛПНБОДЩ EPSV [RFC 2428, section 3]:

рП ЛПНБОДЕ EPSV ПФ ЛМЙЕОФБ УЕТЧЕТ ПФЧЕЮБЕФ ФПМШЛП ОПНЕТПН РПТФБ. лПД ПФЧЕФБ ОБ РТБЧЙМШОЩК ЪБРТПУ ДПМЦЕО ВЩФШ 229. уФБОДБТФОЩЕ ЛПДЩ ПФЧЕФБ 500 Й 501 ЙУРПМШЪХАФУС ДМС ЙОДЙЛБГЙЙ УЙОФБЛУЙЮЕУЛПК ПЫЙВЛЙ. лПЗДБ ЛПНБОДБ EPSV ЙУРПМШЪХЕФУС ВЕЪ БТЗХНЕОФПЧ, УЕТЧЕТ ВХДЕФ ЧЩВЙТБФШ РТПФПЛПМ ДМС УПЕДЙОЕОЙС ДБООЩИ, ПУОПЧЩЧБСУШ ОБ РТПФПЛПМЕ, ЛПФПТЩК ЙУРПМШЪХЕФ ХРТБЧМСАЭЕЕ УПЕДЙОЕОЙЕ. еУМЙ УЕТЧЕТ ЧПЪЧТБЭБЕФ РТПФПЛПМ, ЛПФПТЩК ОЕ РПДДЕТЦЙЧБЕФУС ЛМЙЕОФПН, ЛМЙЕОФ ДПМЦЕО РПУМБФШ ABOR ЛПНБОДХ ДМС ЪБЛТЩФЙС УМХЫБАЭЕЗП УПЛЕФБ ОБ УЕТЧЕТЕ.

Читайте также:  Е48 32 нет сигнала

лМЙЕОФ НПЦЕФ РПУМБФШ EPSV ЛПНБОДХ, Ч ЛПФПТПК СЧОП ХЛБЪЩЧБЕФУС ФЙР РТПФПЛПМБ, УМЕДХАЭЕЗП ЖПТНБФБ: еУМЙ ХЛБЪБООЩК РТПФПЛПМ РПДДЕТЦЙЧБЕФУС УЕТЧЕТПН, ФП ПО ДПМЦЕО ЙУРПМШЪПЧБФШ ЬФПФ РТПФПЛПМ. еУМЙ ОЕФ, УЕТЧЕТ ДПМЦЕО ЧЕТОХФШ УППВЭЕОЙЕ ПВ ПЫЙВЛЕ У ЛПДПН 522.

лПНБОДБ EPSV НПЦЕФ ЙУРПМШЪПЧБФШУС У БТЗХНЕОФПН «ALL» ДМС ЙОЖПТНЙТПЧБОЙС NATs (Network Address Translators), ЮФП EPRT ЛПНБОДБ (ЛБЛ Й ЧУЕ ПУФБМШОЩЕ ЛПНБОДЩ ДБООЩИ, Ф.Е. PORT Й PASV) ВПМШЫЕ ЙУРПМШЪПЧБФШУС ОЕ ВХДХФ. рТЙНЕТ ЬФПК ЛПНБОДЩ: рПУМЕ РТЙЕНБ ЛПНБОДЩ EPSV ALL, УЕТЧЕТ ДПМЦЕО ПФВТБУЩЧБФШ ЧУЕ ЛПНБОДЩ ОБ ХУФБОПЧМЕОЙЕ УПЕДЙОЕОЙС ДБООЩИ ЛТПНЕ EPSV (Ф.Е. EPRT, PORT, PASV Й Ф.Д.).

[RFC 2428, section 4] ПРЙУЩЧБЕФ ЙУРПМШЪПЧБОЙЕ ЛПНБОДЩ EPSV. ч ЮБУФОПУФЙ ПРТЕДЕМСЕФ, ЮФП ЕУМЙ ХРТБЧМСАЭЕЕ УПЕДЙОЕОЙЕ Й ЧУЕ УПЕДЙОЕОЙС ДБООЩИ, ХУФБОБЧМЙЧБАФУС НЕЦДХ ФЕНЙ ЦЕ ДЧХНС НБЫЙОБНЙ, ФП Ч ЬФПН УМХЮБЕ дпмцоб ЙУРПМШЪПЧБФШУС ЛПНБОДБ EPSV. й РП РПЧПДХ EPSV ALL: «When a client only expects to do two-way FTP transfers, it SHOULD issue this command (EPSV ALL) as soon as possible».

3) йУРПМШЪПЧБОЙЕ РПТФБ ЛМЙЕОФБ РП ХНПМЮБОЙА

лМЙЕОФ НПЦЕФ ОЕ РПУЩМБФШ ЛПНБОДХ PORT (ЙМЙ EPRT) ДМС ХЛБЪБОЙС РБТБНЕФТПЧ УПЕДЙОЕОЙС ДБООЩИ. ч ЬФПН УМХЮБЕ УЕТЧЕТ ЙУРПМШЪХЕФ ДМС УПЕДЙОЕОЙС ДБООЩИ ФПФ ЦЕ РПТФ ЛМЙЕОФБ, ЮФП ХЦЕ ЙУРПМШЪХЕФУС ДМС ХРТБЧМСАЭЕЗП УПЕДЙОЕОЙС. еДЙОУФЧЕООБС ОЕРТЙСФОПУФШ ЪДЕУШ Ч ФПН, ЮФП РПУМЕ ЪБЛТЩФЙС ЛБЦДПЗП УПЕДЙОЕОЙС УПЛЕФ ОБ УЕТЧЕТЕ ВХДЕФ ОБИПДЙФШУС Ч УПУФПСОЙЙ TIME_WAIT Ч ФЕЮЕОЙЙ 2MSL, Й TCP ОЕ УНПЦЕФ ТБЪТЕЫЙФШ УМЕДХАЭЕЕ УПЕДЙОЕОЙЕ Ч ФЕЮЕОЙЙ ЬФПЗП ЧТЕНЕОЙ, ФБЛ ЛБЛ Ч ЬФПН УМХЮБЕ ЧУЕ РБТБНЕФТЩ УПЛЕФБ ЙДЕОФЙЮОЩ ДМС УМЕДХАЭЕЗП УПЕДЙОЕОЙС ДБООЩИ, ЛПФПТПЕ ЪБФТЕВХЕФ ЛМЙЕОФ, Й РПЬФПНХ ПРГЙС УПЛЕФБ SO_REUSEADDR ОЕ ТБВПФБЕФ. еУМЙ ЛМЙЕОФ РПЧФПТСЕФ ЪБРТПУ ОБ ДБООЩЕ, УЕТЧЕТ УНПЦЕФ ПФЧЕФЙФШ ФПМШЛП РП ЙУФЕЮЕОЙА ФБКНБХФБ Ч 2MSL.

2. тБВПФБ FTP-ALG

чУЕ ЛПНБОДЩ FTP РЕТЕДБАФУС РП ХРТБЧМСАЭЕНХ УПЕДЙОЕОЙА. фБЛ ЛБЛ ДМС ЛПТТЕЛФОПК ТБВПФЩ FTP РТПФПЛПМБ ОЕПВИПДЙНП ФТБОУМЙТПЧБФШ ФПМШЛП ХРТБЧМСАЭЙЕ ЛПНБОДЩ PORT, PASV, EPRT, EPSV, FTP-ALG ДПМЦЕО ПВТБВБФЩЧБФШ ФПМШЛП ХРТБЧМСАЭЕЕ УПЕДЙОЕОЙЕ FTP. уПЕДЙОЕОЙС ДБООЩИ ПУФБАФУС ВЕЪ ЙЪНЕОЕОЙС (Ф.Е. FTP-ALG ЙИ ОЕ ЪБФТБЗЙЧБЕФ). хРТБЧМСАЭЕЕ УПЕДЙОЕОЙЕ ЙОЙГЙЙТХЕФУС ЛМЙЕОФПН ОБ TCP РПТФ 21 УЕТЧЕТБ. рПЬФПНХ ЧУЕ РТЙИПДСЭЙЕ TCP РБЛЕФЩ, Х ЛПФПТЩИ РПТФ ПФРТБЧЙФЕМС ЙМЙ РПМХЮБФЕМС ТБЧЕО 21, ОБРТБЧМСАФУС Ч НПДХМШ FTP-ALG. нПДХМШ FTP-ALG ТБВПФБЕФ У УПВУФЧЕООЩН УРЙУЛПН ЪБРЙУЕК ФЙРБ FTP (УФТХЛФХТБ ЪБРЙУЙ ПРЙУБОБ Ч ТБЪДЕМЕ 4).

тБЪМЙЮБАФУС ДЧБ ФЙРБ УЕБОУПЧ FTP: 1) РПТПЦДБЕНЩИ IPv4 УФПТПОПК, 2) РПТПЦДБЕНЩИ IPv6 УФПТПОПК.

2.1. уПЕДЙОЕОЙС, РПТПЦДБЕНЩЕ IPv4 ЛМЙЕОФПН

лМЙЕОФ IPv4 НПЦЕФ РПТПЦДБФШ ЛПНБОДЩ PORT Й PASV, Й, ЕУМЙ ПО ТЕБМЙЪХЕФ [RFC 2428], ЛПНБОДЩ EPRT Й EPSV. лПНБОДЩ PORT, PASV ФТБОУМЙТХАФУС Ч ЛПНБОДЩ EPRT Й EPSV УППФЧЕФУФЧЕООП, Б ФБЛ ЦЕ ПФЧЕФ EPSV ФТБОУМЙТХЕФУС Ч ПФЧЕФ PASV РЕТЕД ПФРТБЧЛПК IPv4 ЛМЙЕОФХ.

фТБОУМСГЙС ЛПНБОДЩ PORT рПМЕ &ltnet-prt&gt ХУФБОБЧМЙЧБЕФУС ТБЧОЩН 2 (AF_INET6), IPv4 БДТЕУ h1,h2,h3,h4 ФТБОУМЙТХЕФУС Ч IPv6 &ltnet-addr&gt Ч ASCII РТЕДУФБЧМЕОЙЙ, IPv4 TCP РПТФ p1,p2 Ч ДЕУСФЙЮОПЕ ЪОБЮЕОЙЕ IPv6 РПТФБ &lttcp-port&gt Ч ASCII РТЕДУФБЧМЕОЙЙ.

рТЙНЕЮБОЙЕ. лТПНЕ ФПЗП, ЧПЪНПЦОП, ВХДЕФ ОЕПВИПДЙНП ФТБОУМЙТПЧБФШ Й ПФЧЕФ EPRT Ч ПФЧЕФ PORT, ФБЛ УЙНЧПМШОБС УФПЛБ ПФЧЕФБ НПЦЕФ ЧЛМАЮБФШ ПРЙУБОЙЕ ЛПНБОДЩ ЛПФПТБС ЧЩРПМОЙМБУШ ЙМЙ ОЕ ЧЩРПМОЙМБУШ ХУРЕЫОП.

оБРТЙНЕТ, фТБОУМСГЙС ЛПНБОДЩ PASV фБЛ ЛБЛ Ч ПФЧЕФЕ EPSV ОЕ РТЙУХФУФЧХЕФ IPv6 БДТЕУ, ФП ПО РПМХЮБЕФУС ЙЪ РПМС БДТЕУБ ПФРТБЧЙФЕМС IPv6 РБЛЕФБ Й ФТБОУМЙТХЕФУС Ч БДТЕУ IPv4 БДТЕУ h1,h2,h3,h4. ьФПФ БДТЕУ НПЦЕФ ВЩФШ РПМХЮЕО ЙЪ УППФЧЕФУФЧХАЭЕЗП РПМС ЪБРЙУЙ FTP. рПМЕ IPv6 РПТФБ &lttcp-port&gt ЙЪ ПФЧЕФБ EPSV ФТБОУМЙТХЕФУС Ч IPv4 РПТФ p1,p2. еУМЙ ЙУРПМШЪХЕФУС NAPT, ОЕПВИПДЙНБ РТЕДЧБТЙФЕМШОБС ФТБОУМСГЙС РПТФБ Ч УППФЧЕФУФЧХАЭЕЕ ЕНХ IPv4 ЪОБЮЕОЙЕ РЕТЕД РЕТЕЧПДПН Ч p1,p2.

еУМЙ ЛМЙЕОФ ЙУРПМШЪХЕФ ЛПНБОДЩ EPRT Й EPSV, ФП FTP-ALG ВХДЕФ ФТБОУМЙТПЧБФШ ФПМШЛП РБТБНЕФТЩ ЬФЙИ ЛПНБОД.

фТБОУМСГЙС ЛПНБОДЩ EPRT

рПМЕ &ltnet-prt&gt ФТБОУМЙТХЕФУС ЙЪ 1 (AF_INET) Ч 2 (AF_INET6), РПМЕ IPv4 БДТЕУБ &ltnet-addr&gt — Ч УППФЧЕФУФЧХАЭЙК ЕНХ IPv6 БДТЕУ &ltnet-addr&gt Ч ASCII РТЕДУФБЧМЕОЙЙ, РПМЕ РПТФБ &lttcp-port&gt ОЕ ФТБОУМЙТХЕФУС.

фТБОУМСГЙС ЛПНБОДЩ EPSV

ЛУЧШИЙ ХОСТИНГ 2023

14 лет дарим людям удовольствие от работы с хостингом

⭐ Есть бесплатный тариф
⭐ Бесплатный SSL сертификат
⭐ Автоматическое резервное копирование
⭐ Быстрая техническая поддержка.

ч ЛПНБОДЕ EPSV ФТБОУМЙТХЕФУС РПМЕ &ltnet-prt&gt ЙЪ 1 (AF_INET) Ч 2 (AF_INET6) ч ПФЧЕФЕ EPSV РПМЕ &lttcp-port&gt ФТБОУМЙТХЕФУС ФПМШЛП, ЕУМЙ ЙУРПМШЪХЕФУС РПТФ ФТБОУМСГЙС NAPT. рТЙНЕЮБОЙЕ. рТЙ ФТБОУМСГЙЙ ЛПНБОД PASV Й EPSV УП УФПТПОЩ IPv4 ЛМЙЕОФПЧ ОЕПВИПДЙНП ЪБРПНОЙФШ, ЛБЛБС ЙНЕООП ЛПНБОДБ ВЩМБ ФТБОУМЙТПЧБОБ, ЮФПВЩ ЛПТТЕЛФОП РТПЙЪЧЕУФЙ ФТБОУМСГЙА ПФЧЕФБ. еУМЙ РТПЙЪЧПДЙФШУС ФТБОУМСГЙС ПФЧЕФБ ПФ ЛПНБОД PORT Й EPRT, ФП ДМС ОЙИ ФБЛЦЕ ОЕПВИПДЙНП ЪОБФШ ЛБЛБС ВЩМБ ЛПНБОДБ ЪБРТПУБ. 2.2. уПЕДЙОЕОЙС, РПТПЦДБЕНЩЕ IPv6 ЛМЙЕОФПН

чПЪНПЦОЩ ДЧБ РПДИПДБ:

1) ФТБОУМЙТПЧБФШ v6 ЛПНБОДЩ EPRT, EPSV Ч v4 ЛПНБОДЩ EPRT, EPSV, Й v4 ПФЧЕФЩ EPSV Ч v6 ПФЧЕФЩ EPSV;
2) ФТБОУМЙТПЧБФШ v6 ЛПНБОДЩ EPRT Й EPSV Ч ЛПНБОДЩ PORT Й PASV, Й ПФЧЕФЩ PASV Ч ПФЧЕФЩ EPSV.

ч РЕТЧПН УМХЮБЕ ФТБОУМЙТХАФУС РБТБНЕФТЩ ЛПНБОД &ltnet-prt&gt, &ltnet-addr&gt, &lttcp-port&gt ЙЪ v6 ЪОБЮЕОЙК Ч УППФЧЕФУФЧХАЭЙЕ ЙН v4 ЪОБЮЕОЙС. рТЙ ЬФПН v4 УЕТЧЕТ ДПМЦЕО РПДДЕТЦЙЧБФШ ЛПНБОДЩ EPRT Й EPSV [RFC 2428], ЙОБЮЕ v4 FTP УЕТЧЕТ ВХДЕФ ЧПЪЧТБЭБФШ ПЫЙВЛХ ФЙРБ: «500 ‘EPSV’: command not understood» Й v6 FTP ЛМЙЕОФ ОЕ УНПЦЕФ ТБВПФБФШ.

Читайте также:  Карандаш поставленный вертикально падает на стол

чП ЧФПТПН УМХЮБЕ ВХДЕФ ОЕЧПЪНПЦОП ФТБОУМЙТПЧБФШ ЛПНБОДХ «EPSV&ltspace&gtALL», РП ЛПФПТПК ЛМЙЕОФ ЙЪЧЕЭБЕФ УЕТЧЕТ, ЮФП Ч ДБМШОЕКЫЕК ТБВПФЕ ПО ВХДЕФ ЙУРПМШЪПЧБФШ ФПМШЛП ЛПНБОДХ EPSV, РТЙ ЬФПН УЕТЧЕТ ДПМЦЕО ПФВТБУЩЧБФШ ЧУЕ ДТХЗЙЕ ЛПНБОДЩ ДБООЩИ PORT, PASV Й EPRT. ьФХ УЙФХБГЙА НПЦОП ПВПКФЙ, РТПУФП ПФЧЕЮБС v6 ЛМЙЕОФХ ОБ ЛПНБОДХ «EPSV&ltspace&gtALL» УППВЭЕОЙЕН ПВ ХУРЕЫОПН ЧЩРПМОЕОЙЙ ЛПНБОДЩ ПФ ЙНЕОЙ УЕТЧЕТБ, ОП РТЙ ЬФПН ТЕБМШОП ОЙЛБЛПК ЛПНБОДЩ УЕТЧЕТХ ОЕ РПУЩМБФШ. рПУМЕ ЬФПЗП ЛМЙЕОФ ОЕ ДПМЦЕО РПУЩМБФШ ДТХЗЙЕ ЛПНБОДЩ ЛТПНЕ EPSV, ЛПФПТЩЕ НЩ ХЦЕ НПЦЕН ФТБОУМЙТПЧБФШ. лТПНЕ ФПЗП, НПЦОП ЪБЖЙЛУЙТПЧБФШ ФБЛПЕ УПУФПСОЙЕ Й ПФ ЙНЕОЙ УЕТЧЕТБ ПФВТБУЩЧБФШ ЧУЕ ДТХЗЙЕ ЛПНБОДЩ.

ч РТЙОГЙРЕ НПЦОП ТЕБМЙЪПЧБФШ ПВБ УРПУПВБ Й ТЕЗХМЙТПЧБФШ ЧЛМАЮЕОЙЕ ФПЗП ЙМЙ ДТХЗПЗП Ч РБТБНЕФТБИ ЛПОЖЙЗХТБГЙЙ NAT-PT

фТБОУМСГЙС ЛПНБОДЩ EPRT

рПМЕ &ltnet-prt&gt ФТБОУМЙТХЕФУС ЙЪ 2 (AF_INET6) Ч 1 (AF_INET), РПМЕ IPv6 БДТЕУБ &ltnet-addr&gt — Ч УППФЧЕФУФЧХАЭЙК ЕНХ IPv4 БДТЕУ &ltnet-addr&gt Ч ASCII РТЕДУФБЧМЕОЙЙ, РПМЕ v6 РПТФБ &lttcp-port&gt — Ч УППФЧЕФУФЧХАЭЕЕ ЕНХ РПМЕ v4 РПТФБ. пФЧЕФ ОЕ ФТБОУМЙТХЕФУС.

фТБОУМСГЙС ЛПНБОДЩ EPSV

ч ЛПНБОДЕ EPSV ФТБОУМЙТХЕФУС РПМЕ &ltnet-prt&gt ЙЪ 2 (AF_INET6) Ч 1 (AF_INET), ЕУМЙ ПОП РТЙУХФУФЧХЕФ. ч ПФЧЕФЕ EPSV РПМЕ &lttcp-port&gt ФТБОУМЙТХЕФУС ФПМШЛП, ЕУМЙ ЙУРПМШЪХЕФУС РПТФ ФТБОУМСГЙС NAPT.

фТБОУМСГЙС ЛПНБОДЩ EPRT

лПНБОДБ EPRT&ltspace&gt&ltd&gt&ltnet-prt&gt&ltd&gt&ltnet-addr&gt&ltd&gt&lttcp-port&gt&ltd&gt ФТБОУМЙТХЕФУС Ч
PORT h1,h2,h3,h4,p1,p2
IPv6 &ltnet-addr&gt Ч ASCII РТЕДУФБЧМЕОЙЙ ФТБОУМЙТХЕФУС Ч IPv4 БДТЕУ h1,h2,h3,h4, ДЕУСФЙЮОПЕ ЪОБЮЕОЙЕ IPv6 РПТФБ &lttcp-port&gt Ч ASCII РТЕДУФБЧМЕОЙЙ ФТБОУМЙТХЕФУС Ч IPv4 ЪОБЮЕОЙЕ РПТФБ p1,p2.

рТЙНЕЮБОЙЕ. лТПНЕ ФПЗП, ОЕПВИПДЙНП ФТБОУМЙТПЧБФШ Й ПФЧЕФ PORT Ч ПФЧЕФ EPRT, ФБЛ УЙНЧПМШОБС УФПЛБ ПФЧЕФБ НПЦЕФ ЧЛМАЮБФШ ОБЪЧБОЙЕ ЛПНБОДЩ ЛПФПТБС ЧЩРПМОЙМБУШ ЙМЙ ОЕ ЧЩРПМОЙМБУШ ХУРЕЫОП.

фТБОУМСГЙС ЛПНБОДЩ EPSV

лПНБОДБ EPSV&ltspace&gt&ltnet-prt&gt ФТБОУМЙТХЕФУС Ч PASV.
пФЧЕФ PASV: 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2)
ФТБОУМЙТХЕФУС Ч ПФЧЕФ EPSV:
229 &lttext indicating server is entering extended passive mode&gt
(&ltd&gt&ltd&gt&ltd&gt&lttcp-port&gt&ltd&gt)

рПМЕ IPv4 РПТФБ p1,p2 ЙЪ ПФЧЕФБ PASV ФТБОУМЙТХЕФУС Ч РПМЕ IPv6 РПТФБ &lttcp-port&gt. йЪНЕОЕОЙС ЪОБЮЕОЙС РПТФБ ОЕ РТПЙЪЧПДЙФУС (ОЕФ NAPT).

рТЙНЕЮБОЙЕ. чП ЧУЕИ УМХЮБСИ ОЕФ ОЕПВИПДЙНПУФЙ ЪОБФШ, ЛБЛБС ВЩМБ РТЕДЩДХЭБС ЛПНБОДБ.

2.3. лПТТЕЛГЙС ЪБЗПМПЧЛПЧ РБЛЕФПЧ ХРТБЧМСАЭЙИ УПЕДЙОЕОЙК

фТБОУМСГЙС ДБООЩИ ХРТБЧМСАЭЙИ ЛПНБОД НПЦЕФ РТЙЧЕУФЙ Л ЙЪНЕОЕОЙА ТБЪНЕТБ РБЛЕФБ. ьФП РТЙЧПДЙФ Л ЙЪНЕОЕОЙА РПТСДЛПЧЩИ ОПНЕТПЧ TCP (sequence and acknowledgment numbers Ч ПВПЙИ ОБРТБЧМЕОЙСИ) Ч ХРТБЧМСАЭЕН УПЕДЙОЕОЙЙ Й Л ЙЪНЕОЕОЙА РПМЕК ТБЪНЕТПЧ РБЛЕФБ Ч ЪБЗПМПЧЛБИ IP (IPv4 Total Length Й IPv6 Payload Length). рПФПНХ FTP-ALG ДПМЦЕО ИТБОЙФШ ДЕМШФЩ РПТСДЛПЧЩИ ОПНЕТПЧ ДМС ПВПЙИ ОБРТБЧМЕОЙК ХРТБЧМСАЭЕЗП УПЕДЙОЕОЙС, ЮФПВЩ ЛПТТЕЛФЙТПЧБФШ РПТСДЛПЧЩЕ ОПНЕТБ. чЕМЙЮЙОБ ДЕМШФЩ РПМХЮБЕФУС РХФЕН ЧЩЮЙФБОЙС ДМЙОЩ ЛПНБОДЩ РПУМЕ ФТБОУМСГЙЙ ПФ ДМЙОЩ ЛПНБОДЩ ДП ФТБОУМСГЙЙ Й РТЙВБЧМСЕФУС Л РТЕДЩДХЭЕНХ УПИТБОЕООПНХ ЪОБЮЕОЙА ЬФПК ДЕМШФЩ. ъБНЕФЙН, ЮФП ТБЪОЙГБ НПЦЕФ ВЩФШ ПФТЙГБФЕМШОПК.

пВПЪОБЮЙН ДЕМШФХ ДМС ЙУИПДСЭЙИ УПЕДЙОЕОЙК (ЙЪ v6 Ч v4) ЛБЛ Dout, Б ДМС ЧИПДСЭЙИ (ЙЪ v4 Ч v6) ЛБЛ Din. еУМЙ РТЙЫЕДЫЙК РБЛЕФ СЧМСЕФУС РБЛЕФПН ЙЪ v6 Ч v4 ПВМБУФШ (ЙУИПДСЭЙК) Й Ч ОЕН ЙЪНЕОСЕФУС ДМЙОБ ЛПНБОДЩ FTP, ФП ТБЪОЙГБ НЕЦДХ ДМЙОПК v4 ТЕЪХМШФЙТХАЭЕК ЛПНБОДЩ (РПУМЕ ФТБОУМСГЙЙ) Й ПТЙЗЙОБМШОПК v6 ЛПНБОДПК (ДП ФТБОУМСГЙЙ) РТЙВБЧМСЕФУС Л Dout. рТЙ ЬФПН ЕУМЙ ДМЙОБ v4 ВХДЕФ НЕОШЫЕ ДМЙОЩ v6 ЛПНБОДЩ, ФП ТБЪОЙГБ ВХДЕФ ПФТЙГБФЕМШОБС.

еУМЙ РТЙЫЕДЫЙК РБЛЕФ СЧМСЕФУС РБЛЕФПН ЙЪ v4 Ч v6 ПВМБУФШ (ЧИПДСЭЙК) Й Ч ОЕН ЙЪНЕОСЕФУС ДМЙОБ ЛПНБОДЩ FTP, ФП ТБЪОЙГБ НЕЦДХ ДМЙОПК ТЕЪХМШФЙТХАЭЕК v6 ЛПНБОДЩ Й ДМЙОПК v4 ЛПНБОДЩ РТЙВБЧМСЕФУС Л Din. рТЙ ЬФПН ЕУМЙ ДМЙОБ v6 ЛПНБОДЩ ВХДЕФ НЕОШЫЕ ДМЙОЩ v4 ЛПНБОДЩ, ФП ТБЪОЙГБ ВХДЕФ ПФТЙГБФЕМШОБС. лПТТЕЛГЙС ДЕМШФЩ РТПЙЪЧПДЙФШУС РПУМЕ ФТБОУМСГЙЙ РБЛЕФБ, ФБЛ РПТСДЛПЧЩК ОПНЕТ РБЛЕФБ ХЛБЪЩЧБЕФ ОБ РЕТЧЩК ВБКФ ДБООЩИ, Б ОПНЕТ РПДФЧЕТЦДЕОЙС — ОБ УМЕДХАЭЙК ВБКФ, ЛПФПТЩК РТПФЙЧПРПМПЦОБС УФПТПОБ ПЦЙДБЕФ РТЙОСФШ.

фПЗДБ РТЙ РТЙИПДЕ РБЛЕФБ ПФ v6 ИПУФБ (Й ЬФП ЙУИПДСЭЙК РБЛЕФ ХРТБЧМСАЭЕЗП УПЕДЙОЕОЙС) РПТСДЛПЧЩК ОПНЕТ (sequence number) ЬФПЗП РБЛЕФБ ХЧЕМЙЮЙЧБЕФУС ОБ Dout, Б РПТСДЛПЧЩК ОПНЕТ РПДФЧЕТЦДЕОЙС (acknowledgment number) ЬФПЗП ЦЕ РБЛЕФБ ХНЕОШЫБЕФУС ОБ Din. рТЙ РТЙИПДЕ РБЛЕФБ ПФ v4 ИПУФБ (Й ЬФП ЧИПДСЭЙК РБЛЕФ ХРТБЧМСАЭЕЗП УПЕДЙОЕОЙС) РПТСДЛПЧЩК ОПНЕТ (sequence number) ЬФПЗП РБЛЕФБ ХЧЕМЙЮЙЧБЕФУС ОБ Din, Б РПТСДЛПЧЩК ОПНЕТ РПДФЧЕТЦДЕОЙС (acknowledgment number) ЬФПЗП ЦЕ РБЛЕФБ ХНЕОШЫБЕФУС ОБ Dout.

рПСУОЙН ЧЩЫЕ УЛБЪБООПЕ РТЙНЕТПН: 3. пУПВЕООПУФЙ ТЕБМЙЪБГЙЙ

дМС ПВТБВПФЛЙ FTP УПЕДЙОЕОЙК ЙУРПМШЪХЕФУС УРЕГЙБМШОБС ФБВМЙГБ, ЪБРЙУЙ ЛПФПТПК ИТБОСФ ЙОЖПТНБГЙА П ЛПНБОДОПН УПЕДЙОЕОЙЙ FTP. ъБНЕФЙН, ЮФП УПЕДЙОЕОЙЕ ДБООЩИ РТПФПЛПМБ FTP ОЕ РПДЧЕТЗБЕФУС ЧПЪДЕКУФЧЙА FTP-ALG. рТЙИПДСЭЙЕ TCP РБЛЕФЩ РТЕДЧБТЙФЕМШОП ПВТБВБФЩЧБАФУС НПДХМЕН ПВТБВПФЛЙ TPC УПЕДЙОЕОЙК Й РБЛЕФЩ, ПФОПУСЭЙЕУС Л ЛПНБОДОЩН УПЕДЙОЕОЙСН FTP (ЬФЙ РБЛЕФЩ ЙНЕАФ РПТФ ЙУФПЮОЙЛБ ЙМЙ РПТФ ОБЪОБЮЕОЙС 21), ОБРТБЧМСАФУС Ч НПДХМШ FTP-ALG.

еУМЙ УПЕДЙОЕОЙЕ ОПЧПЕ, ЪБЧПДЙФУС ОПЧБС ЪБРЙУШ Ч ФБВМЙГХ, ЕУМЙ ОЕФ, РТПЙЪЧПДЙФУС ОЕПВИПДЙНБС ЛПТТЕЛФЙТПЧЛБ УХЭЕУФЧХАЭЕК ЪБРЙУЙ Й ФТБОУМСГЙС ЛПНБОДЩ FTP, ЕУМЙ ОЕПВИПДЙНП. дБМЕЕ ФТБОУМЙТПЧБООЩЕ ДБООЩЕ ЧПЪЧТБЭБАФУС Ч НПДХМШ ПВТБВПФЛЙ TCP, ЛПФПТЩК ЧЩРПМОСЕФ ПЛПОЮБФЕМШОПЕ ЖПТНЙТПЧБОЙЕ ЧЩИПДОПЗП РБЛЕФБ TCP. дМС УПЕДЙОЕОЙК, РПТПЦДБЕНЩЕ IPv4 ЛМЙЕОФПН, ТЕБМЙЪБГЙС ЧЕДЕФ УЕВС, ЛБЛ ПРЙУБОП Ч Р.2.1. уПЕДЙОЕОЙС, РПТПЦДБЕНЩЕ IPv6 ЛМЙЕОФПН, ПВТБВБФЩЧБАФУС УРПУПВПН, ЛПФПТЩК СЧМСЕФУС ЗЙВТЙДПН ДЧХИ РПДИПДПЧ, ПРЙУБООЩИ Ч Р.2.2. уОБЮБМБ ТЕБМЙЪБГЙС ДЕКУФЧХЕФ ЛБЛ Ч РЕТЧПН РПДИПДЕ, Й ПЦЙДБЕФ ПФЧЕФБ ПФ УЕТЧЕТБ. еУМЙ УЕТЧЕТ ЧПЪЧТБЭБЕФ УППВЭЕОЙЕ ПВ ПЫЙВЛЕ, ЮФП ЛПНБОДЩ EPRT Й EPSV ОЕ РПДДЕТЦЙЧБАФУС, ЧЩРПМОСАФУС ДЕКУФЧЙС, ПРЙУБООЩЕ ЧП ЧФПТПН РПДИПДЕ.

Читайте также:  Не запускается sticky notes windows 10

В контексте компьютерных сетей , на шлюз прикладного уровня (также известный как ALG , шлюз прикладного уровня , шлюз прикладного уровня , прокси — сервер приложения , или прокси на уровне приложений ) состоит из компонента безопасности, дополняющая собой брандмауэр или NAT , используемый в компьютерной сети , Это позволяет подгонять обход NAT — фильтры , чтобы быть подключены к шлюзу для поддержки адреса и перевода порта для определенного прикладного уровня «управление / данные» протоколы , таких как FTP , BitTorrent , SIP , RTSP , передача файлов в IM — приложениях и т.д. Для того , чтобы они протоколы работать через NAT или брандмауэром, либо приложение должно знать о комбинации чисел адрес / порт , который позволяет входящие пакеты, или NAT , должен отслеживать трафик управления и открыть порт отображения ( крошечное отверстие брандмауэра ) динамически по мере необходимости. Законные данные приложения таким образом , может быть пропущен через проверку безопасности брандмауэра или NAT , что бы в противном случае ограниченного трафика для не выполняет свои ограниченные критерии фильтрации.

содержание

функции

ALG может предложить следующие функции:

  • что позволяет клиентским приложениям использовать динамические эфемерное TCP / UDP порты для связи с известными портов , используемых серверных приложений, даже если конфигурация брандмауэра может позволить лишь ограниченное число известных портов. В отсутствие ALG, либо порты будут заблокированы или администратор сети должен был бы явно открыть большое количество портов в брандмауэре — отрисовка сеть уязвимой для атак на эти порты.
  • преобразование сетевого уровня информацию об адресе находится внутри полезной нагрузки приложения между адресами приемлемыми хозяевами по обе стороны брандмауэра / NAT. Этот аспект вводит термин «шлюз» для ALG.
  • распознавания команд конкретного приложения и предлагает контроль безопасности зернистой над ними
  • синхронизации между несколькими потоками / сессий данных между двумя узлами обмена данными. Например, FTP — приложение может использовать отдельные соединения для передачи команд управления и для обмена данных между клиентом и удаленным сервером. Во время передачи больших файлов, управляющее соединение может бездействовать. ALG может предотвратить соединение управления получать таймаут сетевых устройств перед длительным переносом файлов.

Глубокий осмотр пакета из всех пакетов , обрабатываемых ALGS над данной сетью делает эту функциональность возможно. ALG понимает протокол , используемый в конкретных приложениях , которые он поддерживает.

Например, для Session Initiation Protocol (SIP) встречно -Назад агента пользователя ( B2BUA ), AN ALG может разрешить обход брандмауэра с SIP. Если брандмауэр имеет свой SIP — трафик прекращается на ALG , то ответственность за разрешение сеансов SIP переходит к ALG вместо брандмауэра. ALG может решить еще одну важную SIP головную боль: NAT Traversal . В основном NAT с встроенным ALG может переписать информацию в рамках SIP — сообщений и может содержать адрес привязки , пока сеанс не завершится. SIP — ALG будет также обрабатывать SDP в теле сообщения SIP (который используется в Повсеместно VoIP , чтобы настроить медиа конечные точки), поскольку СДП также содержит буквенный IP — адрес и порты , которые должны быть переведены.

ALG очень похож на прокси — сервер , как он сидит между клиентом и реальным сервером, облегчая обмен. Там , как представляется , промышленность конвенция , что ALG делает свою работу без приложения сконфигурирована , чтобы использовать его, перехватывая сообщения. Прокси, с другой стороны, как правило , должен быть сконфигурирован в клиентском приложении. Клиент затем явно знает о прокси — сервер и подключается к нему, а не реальный сервер.

служба ALG в Microsoft Windows

Шлюза уровня приложения службы в Microsoft Windows обеспечивает поддержку сторонних плагинов , которые позволяют сетевым протоколам проходить через брандмауэр Windows и работать за ним и общий доступ к подключению Интернета . ALG модули могут открывать порты и изменять данные, встроенные в пакетах, такие как порты и IP — адрес . Windows Server 2003 также включает в себя модуль ALG FTP. ALG FTP плагин предназначен для поддержки активных сеансов FTP через NAT двигатель в Windows. Чтобы сделать это, ALG FTP плагин перенаправляет весь трафик, проходящий через NAT и которая предназначена для порта 21 (порт управления FTP) в частном прослушивания порта в 3000-5000 диапазона на Microsoft адаптер замыкания на себя . ALG FTP — плагин затем отслеживает / обновление трафика по каналу управления FTP , так что FTP — модуль может отвес портов отображения через NAT для каналов данных FTP.

ALGs в Linux

Ядро Linux в Netfilter рамки, которая реализует NAT в Linux, имеет функции и модули для нескольких ALGS NAT:

9726552