Inhaltsverzeichnis
HowTo: TP-Link MR3020 als FTP-Server
Durch den Artikel „Frickel-Router“ in der c't, Ausgabe 6/2012, Seite 74 bin ich auf den wirklich sehr kleien Embedded Rechner MR3020 der Firma TP-Link aufmerksam geworden.
Man nehme:
- TP-Link MR3020 - bei Reichelt für ca. 27 EUR (Stand: 04/2012)
- ein wenig Zeit
- Linux Grundkenntnisse
Die OpenWRT Projektseite zum Umbau des TP-Link MR3020 findet sich hier.
Alle hier dokumentierten Veränderugen und Anpassungen des MR3020 basieren auf der sehr guten OpenWRT Dokumentation und dem nicht minder guten OpenWRT Wiki.
Austausch der Firmware
Netzwerkkonfiguration
Installation weiterer Pakete
FTP-Speichermedium Einbinden und Auswerfen
FTP-Server Konfiguration
Benutzer anlegen
- add_ftp_user.sh
#!/bin/sh #set -e #set -x [ $# -ne 1 ] && { echo "$0 user"; exit 1; } P_FILE="/etc/passwd" G_FILE="/etc/group" USER="$1" #GROUP="$2" #GROUP="pureftp" echo "Add user \"$USER\"" echo -n "Check if user or usergroup already exsist ..." grep -q -e "^$USER:" $G_FILE && echo "UserGroup already exsists!" && exit 1 grep -q -e "^$USER:" $P_FILE && echo "User already exists!" && exit 1 echo "OK" # look for next free UID ... for UID in $(seq 500 1000) do grep -q -e "$UID" $P_FILE || break done [ $GID -eq 1000 ] && exit 1 echo "New GID for user \"$USER\" is: \"$GID\"" echo "$USER:x:$GID:xxxxxxxxx,xxxxxx" >> $G_FILE echo "$USER:!:$UID:$GID:$USER:/home/$USER:/bin/ash" >> $P_FILE echo -n "add new user \"$USER\" to pure-ftp user group ... " TMP=`grep -i "pureftp" $G_FILE` LINE="$TMP,$USER" echo "Line: $LINE" sed '/pureftp/d' $G_FILE > tmp.txt echo "$LINE" >> tmp.txt mv tmp.txt $G_FILE echo "done" echo -n "create \"$USER\" home directory ..." mkdir -p "/home/$USER" chown $USER:$USER "/home/$USER" chmod 755 "/home/$USER" echo "done" echo -n "create \"$USER\" ftp directory ..." mkdir -p /ftp/$USER chown $USER:$USER "/ftp/$USER" chmod 770 "/ftp/$USER" echo "done" #echo "Give system user password for user: \"$USER\"..." #passwd $USER echo "Give pure-ftp password for user \"$USER\" to pure-ftpd db" pure-pw useradd $USER -u $USER -D /ftp echo "make db..." pure-pw mkdb
Debug Konsole
Sollte einmal etwas bei der Konfiguration schief gegangen sein bietet der MR3020 noch die Möglichkeit über eine serielle Konsole direkten Kontakt zum System aufzunehmen. Da mein Notebook über keine klassische RS232 Schnittstelle mehr verfügt habe ich auf ein TTL-232R-3V3 USB-Serial Konverter Kabel mit FTDI FT232R Chip z.B. von Watterott für ca. 18 EUR zurückgegriffen. Mit diesem lässt sich sehr einfach eine Verbindung über die Debug-Schnittstelle zwischen PC und MR3020 herstellen. Die Pinbelegung findet man in der OpenWRT Dokumentation bzw. im OpenWRT Wiki. Bei dem o.a. Adapterkabel ist keine weitere Beschaltung durch Pull-up/down Widerstände o.ä. notwendig. Es funktionert „out of the box“
Die folgenden Bilder zeigen Besonderheiten die beim Öffnen des Gehäuses zu beachten sind
Die 4-polige Stiftleiste habe ich eingelöte - sie gehört nicht zum Lieferumfang.