CEX.io

Dienstag, 13. März 2012

FTP-Server auf pfSense 2.0.1 installieren

Wenn ihr auf der Firewall Distribution pfSense einen FTP-Server betreiben wollt (z.B. um eine Art DropBox Service privat zu betreiben) dann ist die folgende Anleitung für euch :)

Vorbereitung:


- pfSense herunterladen und installieren (falls das noch nicht erledigt ist)

Durchführung:


- SSH in pfSense aktivieren

System -> Advanced -> Admin Access -> Enable Secure Shell

- einloggen per SSH

ssh root@192.168.1.1 (192.168.1.1 ist die pfSense default LAN Adresse)

dort dann die '8' drücken um auf die Shell zu kommen.

- nun wird das korrekte Paketverzeichnis angegeben. FreeBSD hat die 8.1 (auf welcher pfSense 2.0.1 basiert) schon auf die Archiv FTPs verschoben

setenv PACKAGESITE ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/8.1-RELEASE/packages/Latest/

oder für 64-Bit Versionen

setenv PACKAGESITE ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/8.1-RELEASE/packages/Latest/

- wenn das ganze auch einen reboot überleben soll, dann in die Datei /root/.cshrc oben stehende Zeile einbauen

- als nächstes wird pure-FTPd und pureDB installiert

pkg_add -vr pure-ftpd
pkg_add -vr puredb

- nun kopieren wir die Beispielkonfiguration an ihren Platz

mv /usr/local/etc/pure-ftpd.conf.sample /usr/local/etc/pure-ftpd.conf

- als nächster Schritt wird die Konfigurationsdatei editiert (Editor mit 'ESC' verlassen und Save auswählen)

ee /usr/local/etc/pure-ftpd.conf

- folgende Zeilen werden unkommentiert (das # entfernen) bzw. geändert

Authentifizierung über lokale Unix User

#UnixAuthentication   yes

automatisches erstellen der fehlenden Homedirs
#CreateHomeDir  yes


Pfad zur pureDB
#PureDB /usr/local/etc/pureftpd.pdb

an welcher IP-Adresse soll gelauscht werden? in unserem Fall nur auf der LAN-Adresse
#Bind 192.168.1.1


- pure-FTPd als Service einrichten


cd /usr/local/sbin/
chmod 755 pure-config.pl

- ausführbares Script zum Start erstellen

ee /usr/local/etc/rc.d/pure-ftpd.sh

- dort wird dann folgendes eingetippt und gespeichert


#!/bin/sh
/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf


- zuletzt werden der Datei noch die passenden Rechte gegeben und der Dienst gestartet

chmod +x /usr/local/etc/rc.d/pure-ftpd.sh
./pure-config.pl /usr/local/etc/pure-ftpd.conf

- es fehlen nur noch die User, in unserem Fall einer. User anlegen und Passwort ändern


pw groupadd ftpgroup

pw useradd ftpusers -c "FTP Users" -g ftpgroup -d /dev/null -s /sbin/nologin




mkdir /home/ftpusers



pure-pw useradd USER1 -u ftpusers -d /home/ftpusers/USER1 -m







Nun kann der Login mit einem FTP-Client wie z.B. FileZilla getestet werden.


Wenn ihr zusätzlich noch die Files per Browser erreichbar machen wollt (allerdings ohne Passwort), dann macht zusätzlich noch folgendes:

1. Schritt: (pfSense Shell)

ln -s /home/ftpuser /usr/local/www/getit


2. Schritt: (wahlweise pfSense Shell oder Lokaler Rechner)


- herunterladen von snif - Download
- entpacken des zip Files
- Upload der entpackten Dateien auf den FTP ins Home des User 'ftpuser'

hier ein Beispiel, wie das ganze dann aussieht: Klick

Viel Spass.

Keine Kommentare:

Kommentar veröffentlichen