Страница 1 из 1

pf ftpd

Добавлено: 2009-10-21 16:54:18
legioner
есть pf,ftpd.
конфиг pf

Код: Выделить всё

ext_if = "rl0"

block in all
block out all

pass in on $ext_if proto udp from any to $ext_if port 21 keep state
pass in on $ext_if proto tcp from any to $ext_if port 21 keep state
pass in on $ext_if proto tcp from any to $ext_if port 80
хочу чтобы люди могли заходить на ftp. причем на веб сервер можно заходить даже без keep state (знаю что она по умолчанию)
если убрать block in all и block out all то все норм. не знаю как решить проблему. между сервером и клиентом есть хаб но он по моему не должен ни на что влиять.
набираю pfctl -ss
видно что с комп обращаеться к серверу. пишет

Код: Выделить всё

all tcp 192.168.0.11:21 <- 192.168.0.10:1091 TIME_WAIT:TIME_WAIT
all tcp 192.168.0.11:21 <- 192.168.0.10:1092 ESTABLISHED:FIN_WAIT_2

Re: pf ftpd

Добавлено: 2009-10-21 17:09:23
Yukh
Для активного FTP соединения нужен еще порт 20 (ftp-data).
Для пассивного - диапазон портов. У меня указан 49152:65534 и он же в настройках proftpd прописан.

Правила с работающего сервера:

Код: Выделить всё

# Блокируем все на вход
block in log all

# Разрешаем http, ftp, ftp-data, пассивные порты, прописанные в конфиге proftpd
pass in on $ext_if proto { tcp, udp } from any to $ext_if port { http, ftp, ftp-data, 25, 49152:65534 }

# Разрешаем DNS рекурсию и zone transfer (без этого руцентр не может проверить правильность зоны).
pass in on $ext_if proto { tcp, udp } from any to $ext_if port 53 keep state

# Разрешаем все на выход
pass out on $ext_if all keep state

# Ну и чтоб пингалось снаружи =)
pass in on $ext_if proto icmp keep state

Re: pf ftpd

Добавлено: 2009-10-21 17:19:28
legioner
у меня вопрос а как узнать в каком режиме запущени ftpd. если в пассивном где мне указать какие порты слушать.

Re: pf ftpd

Добавлено: 2009-10-21 17:21:33
Yukh
Неправильный вопрос. ftpd запущен и точка. А как ты к нему подключаешься - указываешь в настройках клиента. Я люблю пользоваться пассивным FTP.

Re: pf ftpd

Добавлено: 2009-10-21 17:36:01
legioner
прописал в конфиге

Код: Выделить всё

pass in on $ext_if proto { tcp, udp} from any to $ext_if port { 21, 20}
в тотал командер убрал галочку пассивынй режим. зависает . пишет

Код: Выделить всё

227 Entering Passive Mode 192,168,0,11,209,126
Чтение каталога
получаеться о коннектиться пассивном режиме и порты ftp-data = 209,126.
прописал в pf.conf

Код: Выделить всё

pass in on $ext_if proto { tcp, udp} from any to $ext_if port { 21, 20, 209, 126}
то же самое. заметил что тотал перебирает порты. как мне узнать ftpd демон какие порты выставил для ftp-data. и являються ли они стандартом или он выставляет их произвольно.

Re: pf ftpd

Добавлено: 2009-10-21 17:41:55
Yukh
ftp-data - это 20 порт и он предназначен строго для активного соединения.

Мой совет - поставь proftpd и не заморачивайся, он намного более конфигурабельный, нежели штатный proftpd.
Если нужна помощь в его настройке - пиши в аську или почту (контакты в профиле есть).

Re: pf ftpd

Добавлено: 2009-10-21 17:48:48
legioner
насчет другого Ftp. я пытался поставить proftpd он не ставиться вываливаеться с ошибкой.

Код: Выделить всё

mod_ban.c:46:3: error: #error "Control support required (use --enable-ctrls)"
далее еще много ошибок в mod_ban.c
gmake[1]: *** [mod_ban.o] ошибка 1
пойду читать man к ftpd :smile:

Re: pf ftpd

Добавлено: 2009-10-21 18:42:38
reLax
Ерундой не занимайтесь, человек спросил про ftpd.
sysctl

Код: Выделить всё

net.inet.ip.portrange.first
net.inet.ip.portrange.last
Те же порты, которые будут указаны в sysctl указать и в pf, как просто разрешенные входящие, ибо порты протокол FTP назначает на совсем другом уровне модели OSI, нежели на котором работает pf :)

Re: pf ftpd

Добавлено: 2009-10-22 10:15:45
legioner
sysctl -a | grep net.inet.ip выдал

Код: Выделить всё

net.inet.ip.portrange.last      65535
net.inet.ip.portrange.first     49152
указал в pf.conf

Код: Выделить всё

pass in on $ext_if proto {tcp, udp} from any to $ext_if port {21,20,49152:65535}
Все :good: reLax спс. хотел спросить а открытые порты с 49152 до 65535 как будет влиять на безопасность.