1 (edytowany przez PawelW 2012-11-19 11:34:32)

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.

Moje artykuły o OpenWRT na routerach TP-Link i iConnect:
http://www.pawelwozniak.info/

2

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Powinieneś każdą część dawać w oddzielnym poście, bo przy edycji nie widać, że dodałeś coś nowego. Może Cezary by go przykleił, żeby nie zginął gdzieś na dalszych stronach?

3

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

ja bym założył osobny katalog 1043ND i w nim opisy

4

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Tyle że to wszystko już jest smile. Z podziałem na poszczególne usługi itd.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

tak wiem ale jak już jest taki poradnik to jak byś mógł przykleić, bo tak to dobry posta za niedługo zginie

6

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Przyklei się, przyklei.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

jak zwykle szybka odpowiedź, dzięki, być może zachęci to innych użytkowników do pisania howto

8

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Ciesze się że spodobał wam się poradnik :-) Jak tylko będę dodawał nowe funkcje do mojego sprzętu to też to tutaj opiszę.
Teraz zastanawiam się nad modyfikacją RAM do 64MB powinno być to przydatne przy torrentach. Kostki mam, sprzęt odpowiedni też więc tylko trochę wolnego czasu i zrobię taki mod.

@Cezary wiem że to wszystko jest opisane na eko.one.pl ale myślę, że taki poradnik będzie przydatny dla osób które dopiero zaczynają z OpenWRT.

Moje artykuły o OpenWRT na routerach TP-Link i iConnect:
http://www.pawelwozniak.info/

9

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

I dlatego jest podwieszony.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

PawelW napisał/a:

Ciesze się że spodobał wam się poradnik :-) Jak tylko będę dodawał nowe funkcje do mojego sprzętu to też to tutaj opiszę.
Teraz zastanawiam się nad modyfikacją RAM do 64MB powinno być to przydatne przy torrentach. Kostki mam, sprzęt odpowiedni też więc tylko trochę wolnego czasu i zrobię taki mod.

@Cezary wiem że to wszystko jest opisane na eko.one.pl ale myślę, że taki poradnik będzie przydatny dla osób które dopiero zaczynają z OpenWRT.

Piekna robota, a jakbys tak czasem zechcial jeszcze pokazac, jak sie montuje skrypt PHP (czy cokolwiek innego) do zarzadzania plikami od strony WAN (https) wraz z niezbednymi dodatkami, to juz bylby cud miod wink

Linksys WRT3200ACM (Gargoyle)
Linksys WRT1200AC (LEDE Luci)
Tp-link 1043NDv2 (oryginalne firmware)

11

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

niestety usypianie dysku akurat mi na kieszeni nie działa

12 (edytowany przez PawelW 2010-12-19 21:59:31)

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Poradnik został dzisiaj ukończony.

badziewiak napisał/a:

Piekna robota, a jakbys tak czasem zechcial jeszcze pokazac, jak sie montuje skrypt PHP (czy cokolwiek innego) do zarzadzania plikami od strony WAN (https) wraz z niezbednymi dodatkami, to juz bylby cud miod wink

Ale co chcesz robić z tymi plikami? Jeżeli wystawisz SSH od strony WAN to możesz łączyć się przez WinSCP i tak zarządzać plikami, albo logować się putty i używać MC, ewentualnie przez FTP.
Nie do końca rozumiem co chcesz osiągnąć. Masz jakiś przykład z innego urządzenia jakby to miało wyglądać?

Moje artykuły o OpenWRT na routerach TP-Link i iConnect:
http://www.pawelwozniak.info/

13

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

PawelW napisał/a:

Poradnik został dzisiaj ukończony.

badziewiak napisał/a:

Piekna robota, a jakbys tak czasem zechcial jeszcze pokazac, jak sie montuje skrypt PHP (czy cokolwiek innego) do zarzadzania plikami od strony WAN (https) wraz z niezbednymi dodatkami, to juz bylby cud miod wink

Ale co chcesz robić z tymi plikami? Jeżeli wystawisz SSH od strony WAN to możesz łączyć się przez WinSCP i tak zarządzać plikami, albo logować się putty i używać MC, ewentualnie przez FTP.
Nie do końca rozumiem co chcesz osiągnąć. Masz jakiś przykład z innego urządzenia jakby to miało wyglądać?

Generalnie admin w naszym biurze powycinal wszystko co sie dalo, za wyjatkiem https. Moge wejsc z pracy na moj domowy router po https, ale ssh, ftps i ftp sa powycinane dokumentnie (a takze wszelkie zbedne porty). Szukam sposobu na zarzadzanie plikami na udostepnionym udziale przez https, a wiec musi byc skrypt + apache + cos ewentualnie jeszcze. Znalazlem jakis http://sourceforge.net/projects/encode-explorer/ i mysle ze to wystarczy, tylko jestem lamerem i nie wiem jak to wszystko pozenic do kupy.

Linksys WRT3200ACM (Gargoyle)
Linksys WRT1200AC (LEDE Luci)
Tp-link 1043NDv2 (oryginalne firmware)

14

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Pisałem Ci - zainstaluj apache lub lighttpd z php (jest to opisane na głównej), wrzuć skrypt na router i to wszystko w sumie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Cezary napisał/a:

Pisałem Ci - zainstaluj apache lub lighttpd z php (jest to opisane na głównej), wrzuć skrypt na router i to wszystko w sumie.

Dobra, powiedzmy ze zainstaluje ten lighttpd, wrzuce skrypt. Zakladam oczywiscie ze bede musial wskazac zasob udostepniony w serwerze. Ale co ze skryptem? On chyba tez musi wiedziec, co ma "widziec". Jak sie uporam z lighttpd i bede mial problem, to zwroce sie do Was o pomoc.

Linksys WRT3200ACM (Gargoyle)
Linksys WRT1200AC (LEDE Luci)
Tp-link 1043NDv2 (oryginalne firmware)

16

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

To pewnie konfiguracja skryptu, coś tak będziesz miał do ustawienia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17 (edytowany przez patryk 2010-12-20 14:52:37)

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

hehe. to masz skrypcik.
mozna nim wuswietlac i edytowac pliki, i wykonywac polecenia
jak edytujesz plik, to zostanie zachowana kopia orginału (z sufiksem '.bak')
cała konfiguracja routera - taka konsola bez konsoli big_smile
proponuje uzywać z jakims mod-auth, bo nie zrobilem zadnego uwiezytelnienia (jakie uprawnienia ma serwer, takie bedzie mial uzytkownik skryptu)
nazwa pliku nie odgrywa roli

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
<title>spartan RC</title>
</head>

<body>

<?php
if(isset($_POST['command'])) {
    echo 'wyjscie z komendy ' . $_POST['command'] . '<hr /><pre>';
    echo shell_exec($_POST['command']) . '</pre><hr />';
}
if(isset($_POST['content'])) {
    if(file_exists($_POST['file'])) {
        $command = 'cp ' . $_POST['file'] . ' ' . $_POST['file'] . '.bak';
        shell_exec($command);
        sleep(2);
        file_put_contents($_POST['file'], $_POST['content']);
        echo 'plik ' . $_POST['file'] . ' costał nadpisany<br />';
        echo 'orginał został zapisany jako ' . $_POST['file'] . '.bak<hr />';
    }else{
        echo $_POST['file'] . ' : NIE MA TAKIEGO NUMERU PI-PI-PI<hr />';
    }
}
echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
echo 'komenda do wykonania<br />';
echo '<input name="command" type="text" size="50" />';
echo '<input name="submit" type="submit" value="wykonaj" />';
echo '</form>';
echo '<hr />';
if(isset($_POST['file'])) {
    if(file_exists($_POST['file'])){
        echo 'edytujesz ' . $_POST['file'] . '<br />';
        echo '<form action="' .$_SERVER['PHP_SELF'] . '" method="post">';
        echo 'edytuj inny <input name="file" type="text" size="50" /><input name="submit" type="submit" value="pokaż/edytuj" /><br />';
        echo '</form>';
        echo '<form action="' .$_SERVER['PHP_SELF'] . '" method="post">';
        echo '<textarea name="content" cols="90" rows="30">' . file_get_contents($_POST['file']) . '</textarea><br />';
        echo '<input name="file" type="hidden" value="'. $_POST['file'] .'" />';
        echo '<input name="submit" type="submit" value="zapisz" />';
        echo '</form>';
    }else{
        echo '<form action="' .$_SERVER['PHP_SELF'] . '" method="post">';
        echo 'plik ' . $_POST['file'] . ' nie istnieje<br />';
        echo 'plik do edycji: <input name="file" type="text" size="50" /><input name="submit" type="submit" value="pokaż/edytuj" />';
        echo '</form>';
    }
}else{
    echo '<form action="' .$_SERVER['PHP_SELF'] . '" method="post">';
    echo 'plik do edycji: <input name="file" type="text" size="50" /><input name="submit" type="submit" value="pokaż/edytuj" />';
    echo '</form>';
}
?>
</body>
</html>

---edit---
zapomniałem o kodowaniu znaków - naprawione big_smile

---edit---
zapomniałem o jeszcze jednej rzeczy: wszystki ekomendy wykonujesz z miejsca gdzie znajduje sie skrypt. cd nie odniesie skutku. jak chcesz wylistować inny katalog, to musisz uzyć pełnej sciezki. to samo tyczy sie edycji plików

18

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Proponuję ten wątek przykleić na początek forum o  OpenWrt.

TP-LINK TL-WR1043ND

19

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Tomasz_K napisał/a:

Proponuję ten wątek przykleić na początek forum o  OpenWrt.

Kolego, ale ten wątek jest już przyklejony.

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

20

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

jolero1000 napisał/a:
Tomasz_K napisał/a:

Proponuję ten wątek przykleić na początek forum o  OpenWrt.

Kolego, ale ten wątek jest już przyklejony.

Ano
Tak , w spisie poradników.
Sorki

TP-LINK TL-WR1043ND

21

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Witam wszystkich!

Na początku chciałbym podziękować za extra poradnik, choć nie wszystko w nim zawarte odpowiada moim potrzebom.

Chciałbym o ile to możliwe wykorzystać do wszystkiego tylko jeden dysk (LG External HDD HXD5 320 GB) i na nim postawić klienta torrent (Transmission), serwer DLNA (minidlna) i mieć dostęp przez sambę. Problem w tym, że jakkolwiek nie sformatowałbym tego dysku (FAT32, NTFS, EXT2, EXT3) to nie jest on widziany przez router. Czy da się z tym coś zrobić - bo jeżeli teraz na oryginalnym firmware tp-linka tego dysku nie widać, to co będzie po zmianie na open-wrt. Dodam, że dysk podłączam przez jego kabelek standardowy z dwiema końcówkami USB (jedna do routera drugą do dodatkowego zasilacza 1A - także to nie wina braku zasilania). Sprawdzałem usb na pendr. Kingston 4GB i widział go bez problemu. Jeżeli się w jakiś sposób da sprawić żeby dysk był widoczny to jak najlepiej go "spartycjonować " na extroota, swap, itp. Jeżeli mocno pogmatwałem i coś jest niezrozumiałe to dajcie znać, a postaram się wyjaśnić bardziej o co mi chodzi.

22

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Sprawdź czy masz zainstalowany pakiet kmod-usb-storage-extras. Pokaż także logi po podłączeniu dyski. A tak w ogóle to załóż nowy wątek na forum.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Jeśli ja chce używać tego routera tylko do ściągania torrentów to muszę robić te wszystkie punkty ? Jeśli nie to które wystarczy ?
I jeden komp będzie przewodowo a drugi bezprzewodowo.

24

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

Tylko transmission instalujesz, nic więcej.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: GargoylePL na 1043ND, extroot, HDD, NAS, Torr. Poradnik krok po kroku.

ale te rzeczy z USB chyba tez jeśli chce podłączyć dysk na który te torrenty będę ściągał ?