Aki fél a parancssori konfigurálástól az most zárja be ezt (ctrl+w) mert töménytelen mennyiségő vi jön :D
Először is kell egy Asus WL-500g Premium router. Miért? Mert azon van 2 USB foglalat, fut rajta az openWRT és elérhető áron adják. Ami kell még: egy pendrive vagy külső merevlemez usb csatolóval.
Az openWRT Backfire 10.03 firmware-t fogjuk használni amit innét érhető el.
Szerezzük be az Asus Firmware restore programját ide kattintva. Válasszuk ki az oprendszerünket majd Search, a Utilities-t nyissuk le és a legfelső programot töltsük le. Telepítés majd indítás (Vista és 7 használók rendszergazdaként kell, hogy futtassák!) majd tallózzuk ki az imént gépre került Backfire firmware-t. Egyelőre ennyi, most jöhet a router Recovery módba állítása.
1.) Húzd ki az elektromos kábelt a router-ből és várj 20 mp-et
2.) Nyomd be a router hátulján a Recovery gombot és tartsd lenyomva 5 mp-ig
3.) Dugd vissza az elektromos kábelt (Recovery-t tartsd nyomva!)
4.) Nézd a szerkezet elején a Power led-et, ha elkezd villogni (kb 3-5 mp után teszi) engedd el a Recovery gombot. Ha kész kattinthatsz az Upload-ra.
5-6 perc kávészünet míg elkészül az egésszel (nekem ki kellett húznom az áramkábelt és újra bedugni, hogy a router elérhető legyen) utána nyithatunk egy böngészőt, címnek írjunk 192.168.1.1-et. Még nincs jelszó, egyszerűen Login. System -> admin password résznél be tudunk állítani egy jelszót, ezt tegyük meg. Ha kész Submit majd nyithatunk egy PuTTY-ot, ssh-zzunk be a router-re.
opkg update
opkg install kmod-usb-core kmod-usb2 kmod-scsi-core kmod-usb-storage kmod-fs-ntfs
(vagy kmod-fs-vfat, ha valaki fat32-es filerendszert használ a pendrive-ján vagy külső vinyóján).Csatoljuk a tárolót a router-re. A /dev/scsi/host0/bus0/target0/lun0/ alatt megjelenik egy part1 eszköz, ezt mount-oljuk fel ahol használni szeretnénk. Én a pendrive-omat a /mnt/pendrive-ba tettem.
mount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt/pendrive
Jöhet a Samba, a fájlszerver.
opkg install samba3
Indítsuk el a Samba szervert a
/etc/init.d/samba start
paranccsal ami első indulással létrehoz a /tmp-ben egy smb.conf-ot. Ezt helyezzük át a /etc/samba-ba és utána szerkesszük meg vi-jal (vi /etc/config/samba), majd a szerkesztettet másoljuk át a /etc/config-ba samba néven (cp /etc/samba/smb.conf /etc/config/samba)Az enyém így néz ki:
[global]
netbios name = router
workgroup = WORKGROUP
server string = OpenWRT Sambaserver
syslog = 10
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
socket options = TCP_NODELAY
unix charset = ISO-8859-2
preferred master = yes
os level = 20
security = share
#guest account = nobody
#invalid users = root
guest account = root
smb passwd file = /etc/samba/smbpasswd
[pendrive]
path = /mnt/pendrive
read only = no
guest ok = yes
create mask = 0700
directory mask = 0700
public = yes
Az "option workgroup"-nál a WORKGROUP-ot használd ha windows telepítéskor te sem adsz meg mást. Win-nél az az alapértelmezett és én sem szoktam azt babrálni.
Ha tesztelni szeretnénk, hogy működik-e akkor
/etc/init.d/samba start
A következő az FTP-szerver.
opkg install pure-ftpd
Ennek a konfigja a /etc/config/pure-ftpd, ezt csak akkor kell szerkesztenünk ha pl nem a 21-es portot szeretnénk ftp-re használni hanem valami mást (sajnos eddig úgy tűnik, hogy a 21-esen kívül mást nem szeret mert "503 Permission error" szöveg mellett nem enged be, holott megfelelő a felhasználónév és a jelszó). Ha valaki nem szeretne külső ip-ről root-ként beftp-zni akkor szerkessze a /etc/passwd fájlt és adjon hozzá egy új felhasználót! Kicsit óckodnék az ftp használatától root jogokkal így én is ezt tettem, az én felhasználóm így néz ki (myftp a felhasználónév, az X a jelszó helye. Ha ezt bemásolod ahogy van a saját passwd-dbe és mented akkor a "passwd myftp" paranccsal tudsz új jelszót adni):myftp:x:500:500:FTP_Account:/mnt/pendrive:/bin/ash
Transmission telepítése:
opkg install transmission-daemon transmission-web
Itt már többet kell szöszölnünk. Telepítés után adjuk ki a transmission-daemon
parancsot. Ez létrehozza a /root/.config/transmission-daemon/settings.json fájlt mely a beállításokat tartalmazza. "alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"dht-enabled": true,
"download-dir": "\/mnt\/pendrive\/Downloads",
"encryption": 1,
"incomplete-dir": "\/mnt\/pendrive\/Incomplete",
"incomplete-dir-enabled": false,
"lazy-bitfield-enabled": true,
"message-level": 2,
"open-file-limit": 32,
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 2.0000,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "{63k085efc5fa346bbaca8bca255ab3711343814fge7KLEUQ",
"rpc-port": 1221,
"rpc-username": "torrentacc",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": true,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"umask": 18,
"upload-slots-per-torrent": 14
Ami fontos belőle és amit én átírtam: rpc-authentication-required: true. Kelljen magam azonosítani, pláne ha pl munkahelyről szeretném megnézni, hogy mi hogyan áll épp le-feltöltés terén. Az rpc-username a felhasználó név és az rpc-password sor pedig a jelszó (ide normál karakterekként írjuk be, a prog majd titkosítja azt!), az rpc-port az amin én elérem majd a kliens webes felületét (az eredeti 9091). Az rpc-enabled true értékre állítva, hogy távolról is lehessen irányítani a torrenteket. Az én beállításomban a /mnt/pendrive/Downloads lesz az a könyvtár ahova letölt majd a program. A /etc/init.d/transmission-t meg kell szerkesztenünk különben a kliens rossz beállításokat fog használni (amit pedig ha megszerkesztünk mindig felülír. Ez vagy bug vagy én vagyok béna és nem jöttem rá, hogy miért van így). Az én /etc/init.d/transmission-om a következő:
#!/bin/sh /etc/rc.common
START=99
SSD=start-stop-daemon
start_service() {
transmission-daemon
}
start() {
echo "Transmission is starting up"
transmission-daemon
}
stop() {
killall transmission-daemon
echo "Transmission stopped"
}
restart() {
stop; sleep 5; start
}
Igazából lehetne transmission-daemon -g /tmp/settings.json paranccsal is indítani és akkor nem a root-ból olvasná be de számomta a /tmp (még mindig) csak átmeneti fájlok tárolására van.
Van még valami: az etc/config/firewall-ban hozzá kell adnunk pár bejegyzést ami engedélyezi, hogy kívülről is elérhessük a beállított programokat, pl FTP és a torrent.
Menjünk vissza a webes felültre és jobb oldalt az Administration-ra kattintsunk. Services -> Initscript. Itt tegyünk mindent Enabled-re amit szeretnénk ha a router indulásakor startolna. Utána érdemes egy reboot-ot nyomni, hogy lássuk minden rendben elindul.
Mivel a torrent eléggé lefogja a szerkezetet (köszönhetően a sok fájldarabnak amivel dolgozik) így érdemes egy swap partíciót vagy fájlt létrehozni és csatolni a router-en, hogy az könnyedebben menjen. Én előbbinél döntöttem, van egy 128 megás fájl amit használhat.
dd if=/dev/zero of=/mnt/pendrive/swap bs=1024 count=131072
mkswap /mnt/pendrive/swap
swapon /mnt/pendrive/swap
Ezzel kell létrehozni és csatolni is. Ha le szeretnénk választani a pendrive-ot akkor előtte swapoff /mnt/pendrive/swap parancs-csal kapcsoljuk le a swap-ot!
Kész is, a megosztott eszközt elérjük helyi hálón mint akármelyik megosztott gépet vagy gép megosztott mappáját, ftp-vel elérjük a fájl-jainkat és fut a torrentkliens is.
Ha valakinek van dyndns regisztrációja és azt szeretné használni akkor az opkg install ndyndns-sel telepíthet egy klienst ami frissíti a hosztbejegyzést ha változik az IP. A leírásban én végig a /mnt/pendrive-val dolgozom, ezt mindenki írja át ahogyan és amire szeretné.
A swap-leírásért kösz Intruder2k5 PH!-fórumtársnak!