LINUX.ORG.RU
ФорумAdmin

ISP подменяет порты?


0

0

Ставим ftp-сервер за NAT-ом (ICS увы и ах) и Касперским. Аппаратных роутеров нет. Пробрасываем и открываем все как положено.

На сервере для поддержки пассивного режима указываем диапазон портов 20333-20334 (знаю, маловато) к которым будет подрубаться клиент.

Команды проходят, а листинг — нет. Ошибка 425 Can't open data connection.

Самое подозрительное что в логах клиента есть странный порт (19×256+137=5001)

Command:	PASV
Response:	227 Entering Passive Mode (80,123,123,12,19,137)

Хотя в логах на сервере упомянут заданный мной адрес (79×256+109=20333)

Command:	PASV
Response:	227 Entering Passive Mode (80,123,123,12,79,109)

Выходит, что пока ответ сервера шел ко мне у него изменился адрес.

Значит ли это что тот самый неприятный случай, когда провайдер на стороне клиента самовольно изменяет порты в таких пакетах?

Кто-нибудь сталкивался с подобным? Можно ли потребовать изменить это поведение?


1) разрешить не только 21 порт, но и 20-ый, его тоже в нате указать
2) добавить nf_conntrack_ftp

Jaizer
()

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

mclaudt
() автор топика

Итак, подытожим.

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

Но после этого до NAT пакеты от клиента не доходили так как резались фаерволом. (я открыл в нем 20333 а не 5001)

Поэтому выход: либо открывать в фаерволе с запасом пачку портов, куда, как ожидается, NAT будет перенаправлять данные с клиента согласно своим правкам (с запасом потому что закономерности в исправлении не наблюдал), причем эти же порты пробросить ручками на ftp сервер внутри сети, либо же ставить ftp на другие порты, чтоб NAT не лез править пакеты (но тогда нужно в настройках ftp-сервера указать адрес который он отдаст клиенту в качестве внешнего — внешний адрес машины с NAT-ом).

ps на винфаке был. Слегка быдло. Линукс тут при своих.

mclaudt
() автор топика

Короче ISP не виноват — все дело в умном ICS.

ps гы я теперь знаю как бампать тему без флуда ;)

mclaudt
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.