3 581
contributi
Nessun oggetto della modifica |
m (ha spostato Condividere file e connessione con Xbox 360 a Old:Condividere file e connessione con Xbox 360) |
||
(8 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Old}} | |||
== Introduzione == | == Introduzione == | ||
L'Xbox 360 (console targata Miscrosoft) permette di rilevare PC Windows nella rete domestica per sfruttare la sua componente di "media services": riprodurre file multimediali dal vostro PC direttamente sull'Xbox. | L'Xbox 360 (console targata Miscrosoft) permette di rilevare PC Windows nella rete domestica per sfruttare la sua componente di "media services": riprodurre file multimediali dal vostro PC direttamente sull'Xbox. | ||
Riga 5: | Riga 6: | ||
Ma non è tutto. Volendo fare una panoramica più generale, possiamo ipotizzare che la nostra console sia collegata direttamente al PC e che quest'ultimo voglia condividere la connessione internet all'Xbox, per usufruire del Live. | Ma non è tutto. Volendo fare una panoramica più generale, possiamo ipotizzare che la nostra console sia collegata direttamente al PC e che quest'ultimo voglia condividere la connessione internet all'Xbox, per usufruire del Live. | ||
Vedremo come poter condividere facilmente la connessione tra il PC Debian e l'Xbox 360. | Vedremo come poter condividere facilmente la connessione tra il PC Debian e l'Xbox 360. | ||
==Prerequisiti== | |||
Prima di addentrarci nel tecnico, bisogna fornire la configurazione di base. | Prima di addentrarci nel tecnico, bisogna fornire la configurazione di base. | ||
Riga 18: | Riga 21: | ||
ovvero l'Xbox si collega ad internet tramite il PC. | ovvero l'Xbox si collega ad internet tramite il PC. | ||
Prima di tutto, verifichiamo il contenuto di /proc/sys/net/ipv4/ip_forward: questa chiave deve avere valore | Prima di tutto, verifichiamo il contenuto di <code>/proc/sys/net/ipv4/ip_forward</code>: questa chiave deve avere valore <code>1</code> per redirigere il traffico da Linux all'Xbox. Se questo valore fosse 0, si può modificare "al volo" con | ||
<pre> | |||
# echo 1 > /proc/sys/net/ipv4/ip_forward | # echo 1 > /proc/sys/net/ipv4/ip_forward | ||
</pre> | |||
ed in maniera definitiva aggiungendo questa stringa al file /etc/sysctl.conf : | ed in maniera definitiva aggiungendo questa stringa al file <code>/etc/sysctl.conf</code>: | ||
<pre> | |||
net.ipv4.ip_forward = 1 | net.ipv4.ip_forward = 1 | ||
</pre> | |||
Per condividere la connessione bisogna impostare questa semplice regola di iptables: | Per condividere la connessione bisogna impostare questa semplice regola di iptables: | ||
<pre> | |||
# iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.10 -j MASQUERADE | # iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.10 -j MASQUERADE | ||
</pre> | |||
In pratica, utilizziamo una regola di NAT, nello specifico andiamo a manipolare la "catena" di Postrouting. | In pratica, utilizziamo una regola di NAT, nello specifico andiamo a manipolare la "catena" di Postrouting. | ||
Abbiamo impostato l'IP statico nella console, altrimenti questa regola sarebbe stata impossibile da fare (o quasi). | Abbiamo impostato l'IP statico nella console, altrimenti questa regola sarebbe stata impossibile da fare (o quasi). | ||
Il -j MASQUERADE indica che il pacchetto che ha come sorgente (-s) l'IP dell'Xbox deve essere mascherato e passare al processo di routing che porterà il pacchetto ad uscire tramite l'interfaccia eth1: il PC diventa un piccolo router. | Il <code>-j MASQUERADE</code> indica che il pacchetto che ha come sorgente (<code>-s</code>) l'IP dell'Xbox deve essere mascherato e passare al processo di routing che porterà il pacchetto ad uscire tramite l'interfaccia eth1: il PC diventa un piccolo router. | ||
{{Warningbox|Ad ogni riavvio, la configurazione di iptables sparirà, rendendo necessario ridare il comando sopra descritto.}} | |||
Ci sono vari modi per mantenere la configurazione di iptables. Uno | |||
Si | Ci sono vari modi per mantenere la configurazione di iptables. Uno è quello di usare <code>iptables-save</code> (che salva la configurazione attuale) e poi <code>iptables-restore</code> (che ripristina la configurazione). | ||
Si può utilizzare anche il file <code>interfaces</code>, posto in <code>/etc/network/</code>. | |||
Il file in questione gestisce le interfacce di rete: IP, gateway, impostazioni varie e script. Ecco come figura il file nel mio caso: | Il file in questione gestisce le interfacce di rete: IP, gateway, impostazioni varie e script. Ecco come figura il file nel mio caso: | ||
<pre> | |||
iface eth0 inet static | iface eth0 inet static | ||
address 192.168.2.1 | address 192.168.2.1 | ||
Riga 44: | Riga 48: | ||
post-up iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.10 -j MASQUERADE | post-up iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.10 -j MASQUERADE | ||
post-up ushare -x -c /media/dati2 &>/dev/null & | post-up ushare -x -c /media/dati2 &>/dev/null & | ||
</pre> | |||
Come detto, eth0 è collegata all'Xbox, la quale ha IP 192.168.2.10 mentre la mia scheda ha IP 192.168.2.1. | Come detto, eth0 è collegata all'Xbox, la quale ha IP 192.168.2.10 mentre la mia scheda ha IP 192.168.2.1. | ||
<pre> | |||
post-up iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.10 -j MASQUERADE | post-up iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.10 -j MASQUERADE | ||
</pre> | |||
il comando post-up indica di eseguire il comando dopo che l'interfaccia eth0 è diventata attiva. | il comando <code>post-up</code> indica di eseguire il comando dopo che l'interfaccia eth0 è diventata attiva. | ||
<pre> | |||
post-up ushare -x -c /media/dati2 &>/dev/null & | post-up ushare -x -c /media/dati2 &>/dev/null & | ||
</pre> | |||
questo comando lo vedremo dopo e serve per la condivisione dei file tra Linux ed Xbox. | questo comando lo vedremo dopo e serve per la condivisione dei file tra Linux ed Xbox. | ||
L'interfaccia eth0 può essere attivata manualmente tramite | L'interfaccia eth0 può essere attivata manualmente tramite | ||
<pre> | |||
# ifup eth0 | # ifup eth0 | ||
</pre> | |||
se invece la si vuole all'avvio, basta scrivere un | se invece la si vuole all'avvio, basta scrivere un | ||
<pre> | |||
auto eth0 | auto eth0 | ||
</pre> | |||
ad inizio file. | ad inizio file. | ||
Se si fa uso di firewall front-end, bisogna verificare la documentazione dello stesso per implementare la regola di iptables sopra descritta. | Se si fa uso di firewall front-end, bisogna verificare la documentazione dello stesso per implementare la regola di iptables sopra descritta. | ||
Per quanto riguarda il file interfaces, anche qui '''non''' si è fatto uso del NetworkManager, preferendo una configurazione diretta ed universale, che non faccia uso di front-end specifici. | Per quanto riguarda il file <code>interfaces</code>, anche qui '''non''' si è fatto uso del NetworkManager, preferendo una configurazione diretta ed universale, che non faccia uso di front-end specifici. | ||
Si dà per scontato, inoltre, che iptables non contenga altre regole e che la policy di default sia ACCEPT (si verifica tramite iptables -L). | Si dà per scontato, inoltre, che iptables non contenga altre regole e che la policy di default sia ACCEPT (si verifica tramite <code>iptables -L</code>). | ||
==Condivisione file== | ==Condivisione file== | ||
Per poter condividere i file tra Linux ed Xbox ci avvaliamo di un programma prezioso: [http://ushare.geexbox.org/ uShare]. | Per poter condividere i file tra Linux ed Xbox ci avvaliamo di un programma prezioso: [http://ushare.geexbox.org/ uShare]. | ||
Scaricate i sorgenti da [http://ushare.geexbox.org/releases/ushare-1.1a.tar.bz2 qui](v1.1a) e compilateli al solito modo: | Scaricate i sorgenti da [http://ushare.geexbox.org/releases/ushare-1.1a.tar.bz2 qui](v1.1a) e compilateli al solito modo: | ||
<pre> | |||
$ cd ushare-src/ | $ cd ushare-src/ | ||
ushare-src: $ ./configure | ushare-src: $ ./configure | ||
ushare-src: $ make | ushare-src: $ make | ||
</pre> | |||
e per installare (da root) | e per installare (da root) | ||
<pre> | |||
ushare-src: # make install | ushare-src: # make install | ||
</pre> | |||
A questo punto, non ci resta che impostare la nostra directory da condividere. | A questo punto, non ci resta che impostare la nostra directory da condividere. | ||
La sintassi base l'abbiamo già vista prima, ma rivediamola: | La sintassi base l'abbiamo già vista prima, ma rivediamola: | ||
<pre> | |||
# ushare -x -c /media/dati | # ushare -x -c /media/dati | ||
</pre> | |||
ovvero: | ovvero: | ||
-x | ; <code>-x</code>: abilita il supporto per l'Xbox; | ||
-c /media/dati | ; <code>-c /media/dati </code>: condivide il contenuto di <code>/media/dati</code> con l'Xbox. | ||
Se andate a vedere ora sulla vostra console troverete i dati pronti per essere gustati (potrebbe essere necessario riavviare più volte il riconoscimento del PC dall'Xbox). | Se andate a vedere ora sulla vostra console troverete i dati pronti per essere gustati (potrebbe essere necessario riavviare più volte il riconoscimento del PC dall'Xbox). | ||
Impostarlo nel file interfaces con la dicitura post-up ci permette di eseguire in automatico lo script: facendo ifup eth0 si abiliterà sia la condivisione internet che file con l'Xbox. | Impostarlo nel file <code>interfaces</code> con la dicitura post-up ci permette di eseguire in automatico lo script: facendo <code>ifup eth0</code>si abiliterà sia la condivisione internet che file con l'Xbox. | ||
contributi