Я использую ftpd на только что установленной машине FreeBSD. (Малиновый пи, но я не думаю, что имеет значение для этого вопроса). К сожалению, этот сервер находится за маршрутизатором, поэтому мне нужно выставить порт вперед, что хорошо, я знаю, как это сделать. Проблема в том, что у меня нет возможности узнать, какой порт сервер выберет для своих пассивных соединений. Кроме того, страница руководства для ftpd не дает мне представления о том, как ограничить диапазон для пассивных портов.

Как ограничить диапазон портов, используемых ftpd качестве пассивных портов? Например, установите его на 50100 - 50200.

1 ответ1

1

Если посмотреть на исходный код FreeBSD ftpd, есть опция «-U» (заглавная U), которая косвенно позволяет вам контролировать диапазон портов данных. Это задокументировано на странице справки FreeBSD по ftpd. После того, как вы определили это в командной строке ftpd, вы можете контролировать диапазон портов, регулируя системные настройки, как описано на странице справки FreeBSD ip man (прокрутите вниз до "IP_PORTRANGE" в документ, чтобы увидеть подробную информацию о настройках net.inet.ip.portrange.first и net.inet.ip.portrange.last).

Это общесистемный параметр, поэтому он влияет на любые другие программы на сервере, которые также проверяют настройки IP_PORTRANGE перед открытием сокета. Это означает, что другие службы могут быть случайно разрешены через ваш маршрутизатор, поскольку они используют тот же диапазон портов, который разрешен для ftpd. Если ftpd является единственной службой на Pi, то это, вероятно, не имеет значения.

Другой вариант - установить vsfptd, который в соответствии с этим ответом позволяет вам указать диапазон пассивных портов в vsfptd.conf. Эти настройки влияют только на демон vsftpd и не изменяют поведение чего-либо еще в системе.

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