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 ☆
() автор топика
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.