Установка Pure-FTPd на pfSense-1.2.3
-
Постановка задачи:
1.Предприятию понадобился FTP Server (passive mode) доступный из вне.
2.Пользователи для доступа из вне виртуальные.
3.Доступ к папкам задействованых для FTP внутри предприятия осуществляется по SFTP (Red Drive File Transfer Extension).Цель описания:
1.Попытка создания пошаговой краткой инструкции установки Pure-FTPd на pfSense-1.2.3
2.В надежде, что пост не забанять использовать её в будущем.Использовались следующие внешние посты:
http://www.pureftpd.org/project/pure-ftpd
http://www.blackonsole.org/2009/10/pureftp-on-freebsd-71.html
http://www.lissyara.su/archive/pureftpd/
http://machiel.generaal.net/index.php?subject=pureftpd&language=eng#subject_6
http://forum.pfsense.org/index.php/topic,14532.0.htmlОписание:
Работаем с WebМордой:
Interfaces: WAN->Disable the userland FTP-Proxy application->set check (для возможности достучаться из вне)
Firewall: Rules: WAN "TCP * * * 21 (FTP) * Pure-Ftpd" (разрешаем доступ из вне)Работаем с консолью:
.Выясняем версию FreeBSD
#uname -a
#FreeBSD pfsense-vm.local 7.2-RELEASE-p5 FreeBSD 7.2-RELEASE-p5 #0: Sun Dec 6 23:20:31 EST 2009 sullrich@FreeBSD_7.2_pfSense_1.2.3_snaps.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.7 i386.Устанавливаем нужный pkg
#pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.2-release/ftp/pure-ftpd-1.0.21_4.tbz.Создаём и редактируем pure-ftpd.conf
#cd /usr/local/etc/
#cp pure-ftpd.conf.sample pure-ftpd.conf
#ee pure-ftpd.confBrokenClientsCompatibility yes (для кривых клиентских приложений)
PureDB /usr/local/etc/pureftpd.pdb (база виртуальных пользователей, о ней ещё впереди)
CreateHomeDir yes (каталог пользователя будет создаваться автоматически)
IP4Only yes-Остальные параметры я не менял. Их описание на рус. см. "http://www.lissyara.su/archive/pureftpd/"
.Создаём папку для "файловой помойки" FTP сервера
#mkdir /usr/home
#mkdir /usr/home/virftp.Создаём пользователя в системе (один да нужен :))
#pw user add virftp -s /sbin/nologin -w no -d /usr/home/virftp -c "virtual pure virtual ftp users" -m
-Где "virftp" имя пользователя в системе..Меняем владельца каталога
#chown -R virftp /usr/home/virftp.Создаём виртуальных пользователей
#/usr/local/bin/pure-pw useradd uftp -u virftp -g virftp -d /usr/home/virftp/uftp
Password:[ uftp user pass ]
Enter it again: [ uftp user pass ]#/usr/local/bin/pure-pw useradd umove -u virftp -g virftp -d /usr/home/virftp/umove
Password:[ umove user pass ]
Enter it again: [ umove user pass ]-Где "uftp" и "umove" виртуальные пользователи
.Формируем "/usr/local/etc/pureftpd.pdb" база пользователей Pure-FTPd
#/usr/local/bin/pure-pw mkdb
-При создании следующих виртуальных пользователей, не забываем переформировать базу пользователей..Так можно посмотреть чего получилось
#/usr/local/bin/pure-pw show uftp.Стартуем FTP сервер
#/usr/local/etc/rc.d/pure-ftpd onestartStarting pureftpd.
Running:/usr/local/sbin/pure-ftpd -A c50 -B -C8 -D -fftp -H -I15 -L2000:8 -m -s -U133:022 -u100 -k99 -Z.Стучимся из консоли
#ftp localhost
Trying 127.0.0.1…
Connected to localhost.
220---------- Welcome to Pure-FTPd [privsep] –--------
220-You are user number 1 of 50 allowed.
220-Local time is now 07:23. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (localhost:free): uftp
331 User uftp OK. Password required
Password:[ uftp user pass ]
230-User uftp has group access to: 1002
230 OK. Current directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>quit-Во блин сходу работает(извините :)).
-Представленное выше "эхо" FTP сервера не моё. У меня сейчас на экране что-то подобное.Ну дальше стандартный рецепт:
#ee /cf/conf/config.xml<service><name>Pure-FTPd</name>
<rcfile>pure-ftpd</rcfile>
<executable>pure-ftpd</executable>
<description>Pure-FTPd server Service</description></service>#rm /tmp/config.cache
-На самом деле, не всё гладко в этом месте: "/usr/local/etc/rc.d/pure-ftpd onestart"Ну и на сладкое:
#mkdir /usr/local/www/pureftp
#chown www:www /usr/local/www/pureftp
#/usr/local/sbin/pure-ftpwho -H -w » /usr/local/www/pureftp/index.html -
Правил на wan для passive ftp маловато. Извне работать не будет.