Temat: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.
Spis treści
1. Wgranie firmware
2. Instalacja pakietów do obsługi USB i extroot
3. Partycjonowanie i formatowanie dysku USB
4. Konfiguracja fstab dla extroot
5. Pierwsze uruchomienie jako extroot
6. Swap
7. Podłączamy dysk na dane.
8. Usypianie dysku w trakcie bezczynności
9. Dostęp przez FTP do dysku
10. Udostępniamy zasoby SAMBA
11. Konfiguracja Xtreamera z udostępnionymi zasobami.
12. Torrent
13. Ustawienie firewalla dla Transmission
14. Inne przydatne informacje
UWAGA: Opis dotyczy wersji GargoylePL bazującej na stabilnym wydaniu OpenWRT Backfire 10.03.1 z grudnia 2011 roku.
Opis może nie być zgodny w pewnych miejscach z najnowsza wersją Attitude Adjustment. Zostanie on uzupełniony po wydaniu stabilnej wersji tego wydania.
Celem tego poradnika jest pokazanie krok po kroku jak zainstalować GargoylePL na routerze TP-Link 1043ND z systemem plików na zewnętrznej pamięci i dodatkowym dyskiem na przechowywanie danych, które zostaną udostępnione jako dysk sieciowy.
Sprzęt jaki wykorzystuje w tym poradniku:
- TP-Link 1043ND v1.6
- 4 portowy HUB USB
- Pendrive 1GB (karta SD w czytniku USB Sandisk) na extroot
- Dysk 2,5" 60GB w obudowie z dodatkowym zasilaczem 5V 1A, do przechowywania danych
1. Wgranie firmware
Źródła:
Strona GargoylePL Obsy - http://eko.one.pl/?p=openwrt-gargoylepl
Download softu - http://ecco.selfip.net/gargoyle-pl/ar71xx/ plik openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin jeżeli już mamy OpenWRT na routerze.
Jeżeli startujemy z oryginalnego firmware to openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin
Programy:
Putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/
WinSCP: http://winscp.net/
a) Oryginalne firmware TP-Linka
Logujemy się do routera wybieramy aktualizacje firmware i wskazujemy plik openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin
b) Aktualizacja z innego OpenWRT przez sysupgrade.
Uruchamiamy WinSCP i wybieramy [Nowy]
Nazwa hosta: 192.168.1.1
Numer portu: 22
Inne pola zostawiamy puste
Protokół: SCP
Klikamy [Zapisz...], nadajemy nazwę TP-Link 192.168.1.1
Z listy sesji wybieramy nowo dodaną sesje i klikamy [Logowanie].
Nazwa użytkownika: root
Hasło: nasze hasło do aktualnej instalacji OpenWRT
Jeżeli wyskoczą okienka z błędami klikamy [OK]
W prawej części okna widać system plików routera jesteśmy w katalogu /root wychodzimy poziom wyżej przez kliknięcie na .. (dwie kropki). Wchodzimy do katalogu /tmp.
Przeciągamy nasz plik z firmware openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin na prawą część okna WinSCP. Po chwili plik zostanie skopiowany i możemy zamknąć WinSCP.
Otwieramy Putty.
Host Name (or IP Address): 192.168.1.1
Wybieramy "Connection Type" jako SSH (ewentualnie Telnet jeżeli nie działa SSH)
W "Saved Session" wpisujemy TP-Link 192.168.1.1 i klikamy [Save] i [Open]
Otwiera się okno terminala z tekstem "login as" wpisujemy: root
pojawi się: root@192.168.1.1's password: wpisujemy hasło
Jesteśmy zalogowani, wchodzimy do katalogu tmp i wgrywamy soft:
cd /tmp
sysupgrade -n openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin
gdzie -n oznacza nie zapisuj ustawień, opcje tą można pominąć ale może to spowodować problemy z działaniem nowego softu. Lepiej wyczyścić konfiguracje.
Pojawi się:
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...
Writing from <stdin> to firmware ... [w]
Po czym nastąpi restart.
2. Instalacja pakietów do obsługi USB i extroot
Źródła:
Przywrócenie normalnego montowania zasobów USB http://eko.one.pl/?p=gargoyle-fstab
External Root w OpenWRT http://eko.one.pl/?p=openwrt-externalroot
Opis użycia fstab http://eko.one.pl/?p=openwrt-hdd
Logujemy się przez Putty podobnie jak przed aktualizacją oprogramowania.
Wpisujemy:
opkg update
opkg remove plugin-gargoyle-usb-storage
uci del gargoyle.display.system_usb_storage
uci del gargoyle.scripts.system_usb_storage
uci del gargoyle.system.usb_storage
uci commit gargoyle
opkg install block-mount block-hotplug block-extroot
/etc/init.d/fstab enable
reboot
Pakiety które zostały dołączone już w firmware:
Obsługa USB:
kmod-usb-core
kmod-usb-storage
kmod-usb-storage-extras
kmod-usb2
Systemy plików:
kmod-fs-autofs4
kmod-fs-exportfs
kmod-fs-ext2
kmod-fs-ext3
kmod-fs-ext4
kmod-fs-mbcache
kmod-fs-msdos
kmod-fs-nfs
kmod-fs-nfs-common
kmod-fs-nfsd
kmod-fs-vfat
I te doinstalowane przed chwilą
block-extroot
block-hotplug
block-mount
3. Partycjonowanie i formatowanie dysku USB
Założeniem moim jest przeniesienie systemu na pendrive o pojemności 1GB (983MB).
Zostaną utworzone na nim dwie partycje
/sda1 - 800MB Ext3 (system)
/sda2 - 183MB Linux Swap (jako swap)
Po restarcie logujemy się ponownie.
Wpisujemy w konsoli:
dmesg
który wyświetli nam informacje kernela.
Wkładamy pendrive do USB i ponownie wpisujemy dmesg.
W stosunku do poprzedniego logu powinno być kilka nowych wierszy:
usb 1-1: new high speed USB device using ar71xx-ehci and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
scsi 0:0:0:0: Direct-Access Generic STORAGE DEVICE 9407 PQ: 0 ANSI: 0
usb-storage: device scan complete
sd 0:0:0:0: [sda] 2012160 512-byte logical blocks: (1.03 GB/982 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
Udało się, nasz pendrive został poprawnie wykryty i został oznaczony jako urządzenie sda
Aby ustawić partycje skorzystamy z wbudowanego fdiska.
fdisk /dev/sda
m wyświetla dostępne polecenia
Kasujemy wszystkie partycje poleceniem "d - delete a partition" :
Command (m for help): d
Partition number (1-4): 1
Powtarzamy kasowanie aż wynik polecania "p print the partition table" będzie taki:
Command (m for help): p
Disk /dev/sda: 1030 MB, 1030225920 bytes
32 heads, 62 sectors/track, 1014 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes
Disk identifier: 0x000e6c88
Device Boot Start End Blocks Id System
Czyli nie mamy żadnych partycji teraz.
Ustawiamy pierwszą partycje na 800MB:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1014, default 1): tu wciśnij sam enter
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1014, default 1014): 800M
i drugą na resztę przestrzeni:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (801-1014, default 801): tu wciśnij sam enter
Using default value 801
Last cylinder or +size or +sizeM or +sizeK (801-1014, default 1014): tu wciśnij sam enter
Using default value 1014
Sprawdzamy układ partycji przez "p print the partition table":
Command (m for help): p
Disk /dev/sda: 1030 MB, 1030225920 bytes
32 heads, 62 sectors/track, 1014 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes
Disk identifier: 0x000e6c88
Device Boot Start End Blocks Id System
/dev/sda1 1 800 793569 83 Linux
/dev/sda2 801 1014 212288 83 Linux
Jeszcze tylko trzeba zmienić typ partycji /dev/sda2 na Swap:
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris)
Finalnie p pownno dac taki rezultat:
Command (m for help): p
Disk /dev/sda: 1030 MB, 1030225920 bytes
32 heads, 62 sectors/track, 1014 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes
Disk identifier: 0x000e6c88
Device Boot Start End Blocks Id System
/dev/sda1 1 800 793569 83 Linux
/dev/sda2 801 1014 212288 82 Linux swap
Na koniec użyjemy "w write table to disk and exit":
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Jesteśmy gotowi do formatowania pierwszej partycji jako ext3:
mkfs.ext3 /dev/sda1
i drugiej jako swap:
mkswap /dev/sda2
Setting up swapspace version 1, size = 217378816 bytes
UUID=b06b0156-0a66-4608-84a9-5009d08cd64e
4. Konfiguracja fstab dla extroot
Dodajemy znacznik pod banerem OpenWRT (to co się pokazuje po zalogowaniu do routera) który będzie nas informował o starcie z ROMu routera:
echo Booted from router filesystem >> /etc/banner
W tym przykładzie partycje będą montowane po znaczniku UUID ponieważ przy kilku dyskach w systemie jest to bezpieczniejsze niż podanie ścieżki /dev. Może się tak zdażyć że dysk /dev/sdb zostanie wykryty jako /dev/sda i wtedy system nie uruchomi się z extroot.
Pobieramy znacznik UUID partycji (u każdego będą inne, nie kopiuj tych znaczników z poradnika!):
blkid
/dev/sda2: UUID="5bff93aa-b3b2-4850-a009-eb3b2147cba1"
/dev/sda1: UUID="27a1795f-c1e2-48ab-8f94-fc301237b610"
Edytujemy /etc/config/fstab:
vi /etc/config/fstab
Edytujemy plik do takiej postaci (wciśnij "insert" jeżeli nie możesz pisać):
config global automount
option from_fstab 1
option anon_mount 1
config global autoswap
option from_fstab 1
option anon_swap 0
config mount
#option target
#option device /dev/sda1
option uuid 27a1795f-c1e2-48ab-8f94-fc301237b610
option fstype ext3
option options rw,noatime
option enabled 1
option enabled_fsck 0
option is_rootfs 1
config swap
option device /dev/sda2
option enabled 0
Wychodzimy z vi zapisując plik:
[esc] :wq [enter]
Na koniec
reboot
5. Pierwsze uruchomienie jako extroot
Łączymy się putty z routerem.
Pierwszą oznaką udanej operacji jest to że putty pokazuje komunikat o niezgodnym kluczu, wybieramy [Aktualizuj]
Logujemy się jako root i hasłem password ponieważ system po przeniesieniu na pendrive utracił wszelką konfiguracje, hasło też zostało ustawione na domyślne.
Teraz mamy dwa odrębne systemy jeden w routerze i jeden na pendrive aby je odróżnić dopiszmy do banera OpenWRT (to co się pokazuje po zalogowaniu do routera) krótką informacje:
echo Booted from EXTERNALL ROOT >> /etc/banner
Między echo a >> może być dowolny tekst który będzie nas informował o stanie routera.
Dzięki temu od razu po zalogowaniu widzimy jakiego systemu używamy co może ułatwić diagnozowanie problemów w przyszłości.
Polecam teraz uruchomić router bez pendrive, skonfigurować go przez webowy interface w podstawowy sposób tak aby działał internet i WiFi. Dzięki temu nawet jeżeli namieszamy później w extroot i nie będzie się on uruchamiał albo źle działał to zawsze możemy wyciągnąć pendrive zrobić reboot i już mamy internet.
Dodatkową zaletą extroota jest to, że nawet jeżeli system nie uruchamia się z niego to zawsze można podpiąć pendrive pod komputer z Linuxem i sprawdzić konfiguracje, poprawić błąd.
6. Swap
Źródła:
Opis extroot - http://eko.one.pl/?p=openwrt-externalroot
"SWAP się nie montuje przez fstab" - http://eko.one.pl/forum/viewtopic.php?id=1056
Raczej nie zaleca się tworzenia SWAPa na pamięciach flash ze względu na możliwość uszkodzenia jej przez dużą ilość operacji zapisu. Nie mniej jednak przy niewielkim obciążeniu takie rozwiązanie powinno trochę podziałać.
Jeżeli po zrobieniu extroota i poprawnej konfiguracji fstab u Ciebie nie działa SWAP to przyczynom jest brak pakietu block-mount, zobacz post na forum "SWAP się nie montuje przez fstab", link w źródłach.
Ponieważ na extroot mamy czysty system, wykonujemy ponownie polecenia z punktu 2, pomijając tym razem block-extroot.
opkg update
opkg remove plugin-gargoyle-usb-storage
uci del gargoyle.display.system_usb_storage
uci del gargoyle.scripts.system_usb_storage
uci del gargoyle.system.usb_storage
uci commit gargoyle
opkg install block-mount block-hotplug
/etc/init.d/fstab enable
Modyfikujemy /etc/config/fstab dokładniej część config swap:
config swap
#option device /dev/sda2
option uuid 5bff93aa-b3b2-4850-a009-eb3b2147cba1
option enabled 1
Pamiętaj że UUID musi odpowiadać twojemu sprzętowi, sprawdzasz go wpisując blkid
Na koniec
reboot
Jeżeli wszystko się powiodło to po restarcie polecenie free powinno zwrócić coś podobnego:
free
total used free shared buffers
Mem: 29500 27004 2496 0 3652
Swap: 212280 0 212280
Total: 241780 27004 214776
Ważna jest pozycja Swap total jeżeli jest tam zero to swap nie działa.
7. Podłączamy dysk na dane.
Mamy już system i swap na pendrive. Teraz pozostaje podłączyć dysk 60GB w kieszeni USB.
W moim przypadku użyłem 4 portowego huba USB do którego podłączony jest pendrive i dysk twardy.
Ponieważ dysk jest dosyć stary i prądożerny to nie jest w stanie wystartować tylko na zasilaniu z USB, dodatkowo do obudowy dysku podłączyłem zasilacz 5V 1A taki od aktywnego huba USB.
Za pomocą fdisk tworzymy jedną partycje na cały dysk:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-57231, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-57231, default 57231):
Using default value 57231
Command (m for help): p
Disk /dev/sdb: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00001854
Device Boot Start End Blocks Id System
/dev/sdb1 1 57231 58604528 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
Formatujemy partycje jako ext3:
mkfs.ext3 /dev/sdb1
Jeżeli pojawi się błąd:
mke2fs 1.41.11 (14-Mar-2010)
/dev/sdb1 is mounted; will not make a filesystem here!
Należy odmontować dysk poleceniem:
umount /dev/sdb1
I ponowie spróbować sformatować dysk.
Aby dysk montował się automatycznie podczas startu systemu dodajemy na końcu pliku fstab taki wpis :
config mount
option target /mnt/hdd1
#option device /dev/sdb1 ## Dysk w kieszeni USB
option uuid 27a1795f-c1e2-48ab-8f94-fc301237b610
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 1
Na koniec
reboot.
Teraz po restarcie dysk powinien być widoczny w /mnt/hdd1
8. Usypianie dysku w trakcie bezczynności
Źródła:
Kilka sposobów - http://www.nslu2-linux.org/wiki/FAQ/Spi … BHarddisks
Program hd-idle - http://hd-idle.sourceforge.net/
Procesy systemowe - http://www.cyberciti.biz/faq/show-all-r … -in-linux/
Instalacja hd-idle:
opkg install hd-idle
Konfigurujemy parametry w pliku /etc/config/hd-idle tak aby dysk /dev/sdb wyłączał się po 10 minutach bezczynności:
config 'hd-idle'
option 'disk' 'sdb'
option 'enable_debug' '0'
option 'enabled' '1'
option 'idle_time_unit' 'minutes'
option 'idle_time_interval' '10'
Uruchamiamy program poleceniem:
/etc/init.d/hd-idle start
Aby sprawdzić czy proces wystartował trzeba wpisać:
ps|grep hd-idle
Interesuje nas pierwsza linia, po której widać, że proces jest uruchomiony:
2304 root 744 S /usr/bin/hd-idle -i 600 -t sdb
2851 root 1352 S grep hd-idle
Uaktywniamy automatyczne startowanie hd-idle z systemem:
/etc/init.d/hd-idle enable
Natychmiastowe wyłącznie dysku, przydatne w celu sprawdzenia czy program działa z naszym dyskiem:
hd-idle -t sdb
9. Dostęp przez FTP do dysku
Logujemy się do routera przez przeglądarkę.
Wchodzimy na zakładkę System -> FTP
Zaznaczamy "Włącz FTP
Dostęp dla: Określonych poniżej
Katalog publiczny: /mnt/hdd1
Katalog prywatny: /mnt/hdd1
Sekcja "Nowy użytkownik".
Nazwa użytkownika: ftp1 (może być dowolna inna)
Hasło: ftp1 (dowolne hasło)
Dostęp: odczyt/zapis
Klikamy "Dodaj nowego użytkownika" i "Zapisz zmiany".
Teraz możemy się zalogować po FTP i zacząć wgrywać pliki na dysk.
Proponuje wgrać chociaż jeden dowolny plik, przyda się przy konfiguracji samby.
Jeżeli po restarcie routera nie działa FTP należy uruchomić serwer FTP poleceniem:
/etc/init.d/vsftpd start
Uruchamianie serwera FTP podczas startu systemu:
/etc/init.d/vsftpd enable
UWAGA: Mój router podczas próby transferu pliku wielkości 3GB robi się bardzo ciepły i resetuje się.
Ponieważ pod spodem znajduje się dużo kratek wentylacyjnych najlepiej ustawić router na dodatkowym dystansie np. dwóch listewkach wysokości 2cm. Poprawi to trochę chłodzenie.
Bardziej inwazyjną metoda (utrata gwarancji) jest naklejenie radiatora na CPU z zestawu Zalman ZM-RHS1 http://www.zalman.com/ENG/product/Produ … sp?idx=136
Resetowanie routera podczas transferu plików prawie zawsze prowadzi do powstania błędów na dysku. Później dysk się nie montuje. W takim wypadku należy użyć polecenia e2fsck w celu przeskanowania dysku:
e2fsck /dev/sdb
10. Udostępniamy zasoby SAMBA
Spróbujmy udostępnić folder /mnt/hdd1/pliki/foto tak żeby był widoczny w otoczeniu sieciowym Windows.
Żródła:
Uslugi NAS w OpenWRT - http://openwrt.pl/doku.php/zastosowania:uslugi_nas#nfs3
Understanding /etc/group - http://www.cyberciti.biz/faq/understand … roup-file/
Managin Groups - http://www.yolinux.com/TUTORIALS/LinuxT … roups.html
Understanding /etc/passwd - http://www.cyberciti.biz/faq/understand … le-format/
Uwaga: Samba3 jest już zainstalowana w GargoylePL jednak może okazać się że po wprowadzeniu poniższej konfiguracji udostępnianie nie działa. Jeżeli jest tak w twoim przypadku to wykonaj kopie pliku /etc/config/samba i przeinstaluj sambę poleceniami:
opkg update
opkg remove samba3
opkg install samba3
Edytujemy plik /etc/config/samba:
config samba
option 'name' 'openwrt'
option 'workgroup' 'MSHOME'
option 'description' 'openwrt'
option 'homes' '0'
config sambashare
option 'name' 'foto'
option 'path' '/mnt/hdd1/pliki/foto'
option 'read_only' 'no'
option 'guest_ok' 'no'
option 'create_mask' '0777'
option 'dir_mask' '0777'
option 'users' 'xtreamer'
Gdzie w option 'workgroup' wpisujemy swoją grupę roboczą.
Potrzebujemy użytkownika xtreamer który będzie należał do grupy sambashare.
Edytujemy najpierw plik /etc/group dodając grupę "sambashare":
sambashare:x:1050:xtreamer
gdzie:
sambashare – nazwa grupy
x – hasło, tutaj brak hasła, zazwyczaj nie ustawia się hasła dla grup.
GroupID - od 0 do 1000 jest zarezerwowane dla systemu. Możemy wybrać dowolne ID z przedziału 1001 do 65533
xtreamer – użytkownicy w przypadku kilku użytkowników rozdziela się ich przecinkiem (user1,user2,user3)
Teraz edytujemy /etc/passwd dodając:
xtreamer:pass:1010:1050:Mediaplayer:/mnt/hdd1/pliki/foto:/bin/false
gdzie:
xtreamer – nazwa użytkownika
pass – hasło (za chwilę je wygenerujemy), teraz może tam być wpisane pass
1010 – ID użytkonika, znów od 0 do 1000 są zarezerwowane dla systemu
1050 – GroupID, takie samo ID jak grupy do której należy nasz użytkownik
Mediaplayer – dowolne dodatkowe informacje o użytkowniku (imię, nazwisko, inne notatki)
/mnt/hdd1/pliki/foto – katalog domowy użytkownika
/bin/false – powłoka systemowa, w tym wypadku użytkownik nie może się logować do systemu nie istnieje powłoka /false. Jeżeli miałby się logować to należy wpisać np. /bin/bash aby korzystać z basha.
Nadajemy hasło użytkownikowi:
passwd xtreamer
Changing password for xtreamer
New password:
Retype password:
Password for xtreamer changed by root
Teraz w pliku /etc/passwd zostało dodane hasło w zaszyfrowanej postaci:
xtreamer:$1$k/guikcb$I5P8GFvu4HlsZ4j6IsG0q.:1010:1050:Mediaplayer:/mnt/hdd1/pliki/foto:/bin/false
Dodajemy użytkownika do samby:
smbpasswd xtreamer password
gdzie:
xtreamer – użytkownik
password – hasło dla tego użytkownika
Sprawdźmy czy użytkownik został dodany:
cat /etc/samba/smbpasswd
Powinno wyświetlić się coś podobnego:
xtreamer:1010:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:939E92F09434D5ED4E9C64C447CBECED:[U ]:LCT-00000001:
Dziwne może się wydawać podwójne dodawanie użytkownika do systemu i samby, da się ustawić synchronizacje użytkowników samby z systemowymi, być może dopisze w przyszłości jak to zrobić. Jak na razie wystarcza mi tak prosta konfiguracja.
Teraz żeby mieć dostęp z komputera do tego udostępnionego folderu mapujemy go jako dysk sieciowy (opis dla Windows7):
Wchodzimy w "Mój komputer" u góry na belce jest przycisk "Mapuj dysk sieciowy" klikamy na niego, w oknie które się otworzy wybieramy literę dysku. Jako folder wpisujemy:
\\192.168.1.1\foto
Zaznaczamy:
Połącz ponownie przy logowaniu
Połącz przy użyciu innych poświadczeń
Z okienka jakie się wyświetli wybieramy "Użyj innego konta", podajemy użytkownika xtreamer i hasło dla niego i OK.
Jeżeli wszystko się powiodło to w oknie "Mój komputer" pojawi się "Lokalizacja sieciowa" a w niej nasz dysk o nazwie "foto (\\192.168.1.1) (Z:)"
Teraz możemy wejść na dysk sieciowy i przeglądać zawartość ale prawdopodobnie nie da się na niego nic zapisywać, pojawia się komunikat o braku uprawnień.
Spowodowane jest to brakiem uprawnień dla użytkownika xtreamer na folderze /mnt/hdd1/pliki/foto żeby to naprawić należy dodać grupie "sambashare" uprawnienia do zapisu.
Najprościej jest to zrobić za pomocą MC (Midnight Commander).
Musimy go najpierw zainstalować:
opkg install mc
teraz wpisujemy:
mc
- przechodzimy do folderu /mnt/hdd1/pliki/ i zaznaczamy folder foto.
- otwieramy menu "File" (można to zrobić myszką w oknie putty)
- wybieramy "Advanced chown"
- ustawiamy "owner" na [rwx], "group" na [rwx], "other" na [r-x].
Jako "owner" w tym momencie jest osoba która założyła ten folder może to być "root" albo nasz użytkownik FTP, możemy zostawić tak jak jest. Group ustawiamy jako "sambashare".
Klikamy [< Set >]
Teraz już powinno się dać zapisywać pliki na dysk sieciowy.
11. Konfiguracja Xtreamera z udostępnionymi zasobami.
Sprzęt: Xtreamer, pierwsza wersja, połączony przez WiFi N
Oprogramowanie: ver 2.5.2
Wchodzimy w "Biblioteka mediów" --> "Zasoby sieciowe", wciskamy na pilocie 1 (odśwież).
Na liście powinna pojawić się pozycja "foto(OPENWRT:192.168.1.1).smb" wybieramy ją.
Teraz trzeba podać użytkownika i hasło na koniec wybrać "OK i zapisz", powinien wejść w udostępnione zasoby.
Wracamy poziom wyżej do pozycji foto(OPENWRT:192.168.1.1).smb naciskamy na pilocie 8 (Funkcja) i wybieramy "Dodaj do ulubionych"
Po takiej konfiguracji po włączeniu Playera wystarczy wejść na ekranie powitalnym w menu Ulubione i wybrać foto(OPENWRT:192.168.1.1).smb
12. Torrent
Źródła:
Instalacja Transmission - http://eko.one.pl/?p=openwrt-transmission
Opis pliku konfiguracyjnego Transmission http://wiki.openwrt.org/doc/uci/transmission lub https://trac.transmissionbt.com/wiki/EditConfigFiles
Programy:
Transmission Remote GUI http://code.google.com/p/transmisson-remote-gui/
Instalujemy potrzebne pakiety:
opkg install transmission-daemon
opkg install transmission-web
Edytujemy plik konfiguracyjny /etc/config/transmission ustawiając:
option enabled 1
option config_dir '/mnt/hdd1/pliki/transcfg' (lokalizacja folderu z konfiguracją)
option download_dir '/mnt/hdd1/pliki/torrent' (lokalizacja pobieranych plików)
option peer_port 51413 (możemy zostawić domyślny port)
option rpc_enabled true (uaktywniamy dostęp zdalny)
option rpc_password 'haslo' (hasło dostępu zdalnego)
option rpc_port 9091
option rpc_username 'torrent' (nazwa użytkownika)
option rpc_whitelist '127.0.0.1,192.168.1.*' (lista dopuszczalnych IP które mogą się łączyć z transmission. Domyślnie jest dopuszczoy cały LAN. Jeżeli została zmieniona wewnętrzna numeracja IP dla lan to tuaj też trzeba wpisac poprawny schemat np. 192.168.0.*)
option rpc_whitelist_enabled true (dopuszczanie klientów według powyższej listy)
Ustawiamy autostart i uruchamiamy transmission.
/etc/init.d/transmission enable
/etc/init.d/transmission start
Teraz możemy wpisać w przeglądarce http://192.168.1.1:9091 i powinniśmy mieć dostęp do webowego interface.
Pod Windows najwygodniej jest obsługiwać Transmission za pomocą programu "Transmission Remote GUI".
Po instalacji wchodzimy w Tools → options i ustawiamy:
Remote host: 192.168.1.1
Port: 9091
User name: nasz użytkownik jakiego wpisaliśmy w pliku konfiguracyjnym /etc/config/transmission
Password: hasło dla tego użytkownika
Klikamy OK żeby zapisac ustawienia i teraz z menu Torrent -> Connect to daemon
13. Ustawienie firewalla dla Transmission
Źródła:
Konfiguracja firewalla https://forum.openwrt.org/viewtopic.php?pid=122983
Teraz trzeba otworzyć na firewallu port podany w linii "option peer_port 51413".
Otwieramy plik /etc/config/firewall i znajdujemy miejsce gdzie jest wpis z nagłówkiem config 'rule' a pod nim config 'include'. W tym miejscu dopisujemy:
config 'rule'
option 'src' 'wan'
option 'target' 'ACCEPT'
option 'proto' 'tcp'
option 'dest_port' '51413'
config 'rule'
option 'src' 'wan'
option 'target' 'ACCEPT'
option 'proto' 'udp'
option 'dest_port' '51413'
Teraz w terminalu wpisujemy:
/etc/init.d/firewall restart
Efekt polecenia:
Loading defaults
Loading synflood protection
Adding custom chains
Loading zones
Loading forwarding
Loading redirects
Loading rules
Loading includes
l7 used = ""
Loading zone defaults
Nowa konfiguracja powinna już być aktywna, aby to sprawdzić w Transmission Remote GUI wchodzimy w Tools -> Transmission options zakładka Network
W Incoming port powinien być taki sam numer portu jaki ustawiliśmy w pliku konfiguracyjnym.
Klikamy na "Test Port", jeżeli pojawi się komunikat "Incoming port tested successfully" to wszystko jest poprawnie skonfigurowane.
14. Inne przydatne informacje
Przydatne polecenia:
dmesg – wyświetla log kernela
logread – wyświetla log systemowy
mount – pokazuje zamontowane dyski
df -h – pokazuje ilość przestrzeni na dyskach
free – pokazuje ilość pamięci
Najprostszym sposobem na edytowanie plików konfiguracyjnych jest użycie WinSCP po połączeniu z routerem wystarczy dwukrotnie kliknąć na plik i edytować go w edytorze podobnym do notatnika. Jest to znacznie prostsze niż przez VI.
==================================================
W przyszłości jako osoby artykuł opiszę mój kolejny projekt:
Odbiornik radia internetowego na routerze USR9108 i OpenWRT.
http://www.pawelwozniak.info/