Salve a tutti
Questa sera sono di luna buona e voglio fare un regalo a tutta la community. Da sempre ho il pallino di scaricare file dalle reti p2p (edonkey in particolare) e ultimamente mi sono adoperato per rendere la cosa sicura, efficente ed economica. In questo howto vi riassumo i passi per mettere su un server domestico ssh + samba + emule + webadmin per avere un risultato veloce e affidabile
Difficoltà del tutorial: medio-alta (sconsigliato ai niubbi)
Richieste conoscenze di base a 360 gradi sul mondo dell'IT, hardware, software e soprattutto reti
Diario delle modifiche21/05/2007 Stesura iniziale
09/06/2007 Rimozione parti non più necessarie (xinetd per webadmin e accorgimenti patch su kad). Le parti in disuso sono lasciate in fondo per completezza.
16/07/2007 Miglioramenti minori, incluso calcolo costi.
*** ATTENZIONE ***
Non supporto e anzi sono contrario a scaricare materiale illegale dalle suddette reti. Io le uso solo per scaricare file non protetti da diritto d'autore e quindi liberamente condivisibili. Questo howto ricopre la problematica solo dal punto di vista puramente tecnico e tecnologico.Premesso questo iniziamo
HARDWARE Questo è un server che deve rimanere acceso 8 ore al giorno, 7 giorni su 7, 365 giorni all'anno, quindi è necessario selezionare hardware che consumi poca (pochissima) corrente, senza pregiudicare le prestazioni. La mia scelta:
- Pentium III 500Mhz E socket pga370
- 256 MB RAM
- Scheda video pci
- HD maxtor 80 GB
- Scheda di rete 100Mb 3COM PCI
Parliamoci chiaro: questo hardware è lento per applicazioni desktop, ma per quello che dobbiamo fare noi va bene.
Accorgimenti particolari:
- Downclocking: se possiamo, una volta installato tutto, da bios o da jumper caliamo la frequenza della cpu di 50 o 100 Mhz: evita surriscaldamenti e aumenta la stabilità
- Undervoltage: se possiamo, da bios diminuiamo il Vcore della cpu. Nel mio caso ho impostato da 1.75V di default a 1.60. Diminuisce molto il riscaldamento.
- Dissipatore CPU MOLTO GRANDE, se grande a sufficenza e se usati gli accorgimenti qui sopra possiamo permetterci il lusso di togliere la ventola (e diminuire i consumi)
- Tiriamo via tutto quello che non serve, floppy, lettore cd, scheda audio... perfino i led dell'accensione e lo speaker se siamo maniaci.
- Disco fisso, è buona norma su una macchina accesa sempre raffreddarlo. Vi consiglio una ventola 120x120 da 12V alimentata apposta a 5V. Risultato silenzioso e sufficente per mantenere il disco (e, ovvio, l'intero case) FREDDO
Possiamo inoltre lavorare sull'alimentatore bucherellando qui e la, mettendo anche qui la ventola a 5V invece che a 12, ma stiamo attenti che un passo falso produce shock elettrico!
RETE Vi consigio di usare un firewall router hardware (linksys, netgear, d-link o quello che volete) e ci servirà un cavo di rete ethernet per collegare il pc. L'indirizzo ip sul server andra' configurato statico.
SOFTWARE Ovviamente installiamo ubuntu, io ho messo la versione desktop (feirsty) ma va benissimo anche quella server (anzi, forse meglio). Una volta installata installiamo bum (bootup manager) e togliamo tutti i servizi che non ci interessano, al fine di ridurre al minimo la memoria per servizi che non ci servono. Se installate la versione server DOVETE installare X a parte, altrimenti emule non parte
Installiamo l'ultima versione di wine disponibile
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/feisty.list -O /etc/apt/sources.list.d/winehq.list
sudo apt-get update
sudo apt-get install wine
e installiamo emule (Emule con la E, avete capito bene, la versione per windows)
wine setup_emule.exe
Perchè usiamo emule anzichè Amule? Beh, emule supporta il protocollo di offuscamento, che impedisce a provider disonesti di filtrare il vostro traffico. Amule purtroppo non ha questa cosa. Questa scelta ci causerà qualche problema ma nulla di grave.
Installiamo quindi samba e ssh server
sudo apt-get install samba openssh-server
Impostiamo la password di samba per il nostro utente (diversa da quella di sistema), che poi ci servirà per accedere da windows via risorse di rete
smbpasswd
Infine è possibile configurare VNC in modo da comandare il vostro desktop via remota, anche da un pc windows. Per farlo da menù sistema scegliete preferenze e quindi desktop remoto. Attivate il servizio con protezione password e, nella parte "sicurezza" togliete la spunta da "chiedi conferma" altrimenti non riuscite ad entrare.
A questo punto avviamo emule, configuriamo tutto quello che ci interessa, e, importante, abilitiamo il webserver su una porta alta. Ad esempio la 8000. Configuriamo le porte (TCP e UDP a piacere) e apriamole sul router inserendo le opportune regole nat. *fondamentale qui avere indirizzo ip statico*. Sulla questione porte TCP IP in merito a richieste di molti utenti, si specifica che si possono impostare *A PIACERE*, si consiglia di usare sempre e comunque porte alte >1024.
Alcuni utenti hanno sperimentato che il webadmin non funziona se lo si lancia da un utente standard. Vedere le note a fondo guida.
HigH SkilLSe volete una buona soluzione alternativa è usare un modem ethernet e usare il pc stesso come firewall-router, ma la faccenda si complica molto (servono 2 schede di rete, conoscere bene iptables....) e non è oggetto di questo tutorial. E' inoltre possibile chiudere tutte le porte sul router e lasciare aperte solo la TCP & UDP per emule (ovviamente su porte non-standard) + la porta ssh per il controllo a distanza. Con SSH è possible infatti sfruttare la potenza dei tunnel e usare il Webadmin dall'esterno della rete domestica in tutta sicurezza. Con tutte quelle che si sentono questa non è mai troppa. Infine un consiglio spassionato è di non consentire MAI la navigazione dei file condivisi via emule.
Chiusa questa parentesi possiamo anche togliere mouse, tastiera e monitor, e mettere il pc in un angolo (acceso ovviamente). Ora lavoriamo tutto via SSH, webadmin o vnc dal nostro pc fisso o portatile.
Accedere via sshssh user@ip-macchina
password
Accedere via VNCvncviewer ipmacchina
Manca la cartella condivisa di samba... andiamo in /etc/samba e facciamo vi smb.conf. In coda aggiungiamo
[Emule]
path = /home/<vostro-utente>/.wine/drive_c/Programmi/eMule/Incoming
available = yes
browseable = yes
public = yes
writable = yes
E da windows potremo accedere ai file condivisi.
PROBLEMI - FAQ - Il pc senza tastiera non arriva al boot: cercate nel bios il parametro "halt on" e impostate "no errors"
- Emule si avvia ma non riesco a far funzionare il webadmin. Se faccio nmap la porta 8000 non risulta aperta: avviate emule col comando sudo
sudo wine eMule.exe
Purtroppo non è bello ma non ho trovato altro rimedio a questa cosa. Aspetto notizie da utenti volenterosi.
- Ho acceso il pc, ma via ssh non riesco ad avviare emule da remoto. Mi da errore X: basta cambiare la variabile DISPLAY
export DISPLAY=:0.0
e poi avviare emule. Questo partirà sullo schermo del server, anche se non collegato, proprio come vogliamo. Oppure se preferite avviatelo via vnc e non avete nessun problema.
Mi sembra tutto. Ora avete un vero e proprio server di rete: silenzioso, affidabile, economico e ecologico.
Consuma davvero poco, stimato intorno ai 30W, quindi considerato il costo medio di un KWh pari a 10 eurocent, il costo annuale per tenerlo acceso 24h su 24 7 giorni su 7 è circa 26 euro. Lo stesso costo con un normale pc che mangia dai 100 ai 150W nella migliore delle ipotesi ci costerebbe circa 87 euro...
Per un dettaglio costi enel visitate
http://www.enel.it/sportello_online/elettricita/tariffeelettriche/domestiche_monoorarie/D2/Note:
Grazie a tutti quelli che mi hanno insegnato ad usare linux fin'ora...
Grazie a google...
Grazie a questo forum e al fratello maggiore internazionale...
PARTI DELLA GUIDA NON PIU' NECESSARIEinstalliamo xinetd
sudo apt-get install xinetd
Il nostro obbiettivo ora è utilizzare il webadmin di emule lasciando il pc senza periferiche di I/O in modo da ridurre ingombri e consumi. Comanderemo tutto dal nostro pc non-server. Poco sopra abbiamo già avviato il web-server di emule, ma se provate con firefox a puntare l'indirizzo
http://<ip-macchina>:8000
noterete delle cose strane: le pagine si caricano a metà e non funzionano correttamente. Per correggere ciò usiamo xinetd. Andiamo in /etc/xinetd.d e creiamo un nuovo file emuleweb:
sudo vi emuleweb
e inseriamo le seguenti righe
service emuleweb
{
port = 9000
socket_type = stream
protocol = tcp
wait = no
# Per rendere il servizio più sicuro decommentate le seguenti righe
# only_from = <lista ip abilitati separati da spazio>
user = root
log_on_failure += USERID
disable = no
redirect = 127.0.0.1 8000
}
<ESC> :wq per uscire, poi andiamo in /etc e facciamo
vi xinetd.conf
In coda, prima della parentesi graffa chiusa, aggiungiamo
include /etc/xinetd.d/emuleweb
e, se presente, togliamo tutte le righe che iniziano con "includedir"
Fatto questo riavviamo xinetd
/etc/init.d/xinetd restart
Ora apriamo firefox, proviamo all'indirizzo
http://<ip-macchina>:9000
E vedrete che tutto funziona perfettamente.
- Problema: Kademila di disconnette dopo qualche ora di funzionamento: è un bug aperto su winehq e ci stanno lavorando. A quanto pare la patch sarà inclusa nella prossima release: http://bugs.winehq.org/show_bug.cgi?id=5774
La patch c'e' già ma dovete modificare i sorgenti a mano. RISOLTO
- WebADMIN: Sembra risolto il problema installando la versione 0.9.37 -> http://bugs.winehq.org/show_bug.cgi?id=7685, a questo punto non serve più tutto il giro con xinetd. Aspetto feedback. RISOLTO