vendredi 7 août 2009

Relier sa Xbox à internet via un PC sous Xubuntu

En ce moment et depuis quelques mois, j'utilise Linux sur mon PC portable. Plus précisément Xubuntu 9.04 (une variante d'Ubuntu censée être plus légère/rapide).

Mon boitier CPL "Freeplug classic" de Free étant tombé en panne (au bout de 5 mois), je me suis retrouvé avec un Switch tout neuf inutile et une Xbox sans accès internet. J'ai facilement réactivé le Wifi sous Linux, mais pour avoir le réseau sur la console, il me fallait trouver comment partager la connexion du PC.

J'ai donc fait quelques recherches et il s'avère que la solution est très simple (sur l'échelle de complexité de Linux, cela va sans dire). Il existe une page expliquant comment partager une connexion internet sous Ubuntu mais elle n'est pas parfaitement claire, donc je vais expliquer ce que j'ai fait :

  1. Clic droit sur l'icône des connexions réseau pour éditer les connexions.
  2. Rajouter une connexion filaire. La carte wifi de mon ordinateur ayant l'IP 192.168.0.5 sur le réseau "freebox", j'ai choisi d'attribuer 192.168.10.5 à ma carte ethernet filaire (l'important, c'est le "10" qui doit être différent du "0" correspondant dans l'IP wifi). Il suffit de remplir l'adresse IP et le masque réseau 255.255.255.0 ; ne pas toucher au reste. Cocher la case pour que la connexion soit active automatiquement, et décocher si nécessaire sur les autres connexions utilisant la même carte réseau.
  3. Rajouter deux lignes dans /etc/rc.local :
    echo 1 >/proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE
    (Ceci suppose que votre carte wifi a pour nom "eth1". Pour connaitre le nom de la votre, tapez "iwconfig" dans un terminal.)

C'est tout ce qu'il y a à faire côté PC. Il ne reste plus qu'à configurer la Xbox en mode réseau "manuel" :
  1. Aller dans les "Paramètres système" -> "Paramètres réseau" -> "Configurer le réseau" -> "Paramètres de base".
  2. Choisir "Paramètres IP".
  3. Choisir "Manuelle".
  4. Rentrer l'IP 192.168.10.1 (ou remplacez ".1" par ce que vous voulez, du moment que ce n'est pas la même IP que le PC.)
  5. Masque de sous-réseau 255.255.255.0.
  6. Portail 192.168.10.5 (l'IP du PC).
  7. Remonter dans les préférences à la page "Paramètres de base", choisir "Paramètres DNS".
  8. Choisir "Manuelle".
  9. Rentrer les IP des DNS de votre fournisseur d'accès à internet.
Voilà, la Xbox devrait avoir accès à internet après un reboot du PC, ou après avoir tapé les deux lignes du rc.local dans un terminal si vous n'avez pas envie de rebooter.

À noter que cela ne redirige pas les ports nécessaires au jeu en réseau, ce que la console vous fera remarquer si vous essayez de "Tester la connexion Xbox LIVE". Je n'en ai pas besoin pour l'instant donc je n'ai pas fait de recherches en ce sens, mais ça doit être possible en utilisant iptables et en redirigeant des ports sur la Freebox...

Avec un peu de chance, ce post servira à quelqu'un si google se décide à indexer mon blog un jour :-).

1 commentaire:

  1. masquerade, ip_forward ! Que de bons souvenirs de l'AFPA et de ma formation technicien supérieur gestionnaire en ressources informatiques ^^

    Bon, le principal est d'y arriver, mais c'était pas plus simple avec MiamiDX ? ^^

    --
    /me n'a pas fini sa formation TSGRI, mais pas parce qu'il n'était pas compétent... quoique ^^

    RépondreSupprimer