Temat: Instalacja serwera ftp dla TL-MR3420/TL-MR3220 z GargoylePL
Jeżeli używamy modemu 3G to zwykle jest w nim miejsce na kartę pamięci uSD. Nic nie stoi na przeszkodzie, aby zawartość tej karty udostępnić w sieci lokalnej. Można to zrobić na wiele różnych sposobów; tutaj pokażę jeden z najprostszych - przez ftp, na dodatek zainstalowany w pamięci ram żeby nie marnować i tak małej ilości flash routera. Jeżeli mamy extroota to poniższy poradnik jest nieprzydatny - należy po porostu zainstalować serwer ftp, skonfigurować go i uruchomić (odpowiednie poradniki są na http://eko.one.pl). Jeżeli nie mamy to ten poradnik może być pomocny.
Poniższe instrukcje dotyczą instalacji i uruchomienia serwera ftp dostępnego tylko w sieci lokalnej dla routerów TL-MR3420/TL-MR3220 z zainstalowanym moim Gargoyle PL. Z powodu ograniczeń w ilości flash w tych routerach obsługiwane są tylko niektóre systemy plików. Do wersji 1.5.6 były to FAT16/32 oraz ext2, od wersji 1.5.7 tylko ext2/ext3/ext4 (brak jest w tych obrazach obsługi fat!).
1. Karta pamięci powinna zostać automatycznie wykrywa i zamontowana w systemie. Można się przekonać o tym logując się do routera przez ssh do i wydając polecenie "mount"
root@Gargoyle:~$ mount
...
/dev/sda1 on /mnt/sda1 type ext2 (rw,relatime,user_xattr,barrier=1)
Powinna się wyświetlić linia podobna do pokazanej powyżej - w katalogu /mnt/sda1 mamy zamontowaną partycję sda1, a w tym przypadku jest to akurat karta pamięci z modemu.
2. Tworzymy plik konfiguracyjny dla serwera ftp. Będzie on udostępniał zawartość katalogu /mnt dla każdego użytkownika (anonymous) w sieci lokalnej. Plik powinien być położony w katalogu /etc pod nazwą ftp.conf (dla odróżnienia od ew oryginalnego pliku konfiguracyjnego). Opis tworzenia konfiguracji dla serwera zawarty jest tym dokumencie: http://eko.one.pl/?p=openwrt-ftp. Należy pamiętać o udostępnieniu odpowiedniego katalogu, np. /mnt.
3. Instalujemy serwer ftp do pamięci ram routera. Będzie to wykonywanie po starcie; kiedy router będzie miał połączenie z internetem sam ściągnie plik i zainstaluje odpowiedni pakiet:
root@Gargoyle:~$ echo "(while true; do nslookup ecco.selfip.net > /dev/null; if [ \$? = 0 ]; then break; fi; sleep 1; done; opkg update; opkg install -d ram vsftpd;mkdir -p /var/run/vsftpd;/tmp/usr/sbin/vsftpd /etc/ftp.conf) &" > /tmp/rc.local
root@Gargoyle:~$ cat /etc/rc.local >> /tmp/rc.local
root@Gargoyle:~$ rm /etc/rc.local
root@Gargoyle:~$ mv /tmp/rc.local /etc
4. Wykonujemy restart routera
Jeżeli router połączy się z internetem to ściągnie automatycznie program vsftpd, zainstaluje go i uruchomi z wykorzystaniem utworzonego wcześniej pliku konfiguracyjnego.
Do serwera ftp dostajemy się dowolnym klientem ftp (np. przeglądarką www) wpisując ftp://192.168.1.1 (o ile taki mamy ip routera), użytkownik anonimowy (anonymous, hasło brak lub dowolne). Tak skonfigurowany serwer udostępnia katalog /mnt, w nim są katalogi o nazwach odpowiadających partycji.