Страница 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

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}
Все
reLax спс. хотел спросить а открытые порты с 49152 до 65535 как будет влиять на безопасность.