Maniatux's Blog

Welcome to the internet

Se faire une "IPv6 Box" - avec FreeBSD

Rédigé par Xavier -

Fin 2013 j'ai publié un article expliquant comment se faire facilement une "IPv6 Box" sous Debian, c'est à dire un serveur qui donne accès à l'IPv6 à toutes les machines de votre réseau, en exploitant deux choses : un tunnel qui encapsule l'IPv6 dans de l'IPv4 (vous permettant ainsi d'en profiter alors que votre FAI ne le propose pas) et radvd un daemon qui présente votre passerelle au reste du réseau (les périphériques se génèrent eux-même une IPv6 complète par la suite).

Avec ce nouvel article, voici comment faire la même chose sur FreeBSD !

Pré requis

Pour la théorie et la présentation du mode de fonctionnement, je vous redirige vers l'article Se faire une IPv6 Box dans lequel il y a les schémas et tout ce qui va avec. Ce que vous devez avoir, c'est :

  • Un tunnel chez Hurricane Electric en /48
  • Un serveur FreeBSD bien entendu, relié au même LAN que les machines que vous voulez desservir

Montage du tunnel

A ajouter au /etc/rc.conf.local :

#IPV6 HE tunnel
ipv6_gateway_enable="YES"
ipv6_interfaces="auto"
ipv6_activate_all_interfaces="YES"
ipv6_cpe_wanif="gif0"
ifconfig_re0_ipv6="inet6 2001:470:c851:192::1 prefixlen 64"
cloned_interfaces="gif0"
ifconfig_gif0="tunnel 192.168.0.10 216.66.84.42"
ifconfig_gif0_ipv6="inet6 2001:470:c851:10::1 2001:470:c851::1 prefixlen 128"
ipv6_defaultrouter="2001:470:c851::1"
rtadvd_enable="YES"
rtadvd_interfaces="re0"

A remplacer par les éléments dont vous disposez :

  • ifconfig_re0_ipv6 : Adresse IPv6 que vous donnez à votre interface de LAN (attention votre interface ne s'appelle pas forcément re0)
  • ifconfig_gif0 : Adresse du LAN et adresse du serveur chez HE (Server IPv4 Address)
  • ifconfig_gif0_ipv6 : Adresse IPv6 que vous donnez au gif0 et adresse du serveur chez HE (Server IPv6 Address)
  • ipv6_default_router : Adresse du serveur chez HE (Server IPv6 Address)

Ensuite redémarrez votre système (la commande netif ne monte pas les tunnels IPv6).

Configuration de rtadvd

Rtadvd va faire du router advertisement c'est à dire qu'il va signaler sa présence sur le LAN aux autres machines. Vos périphériques vont donc pouvoir se générer une adresse IPv6 à partir du préfixe dont ils disposent. Donc créez et éditez le fichier /etc/rtadvd.conf :

re0:\
        :addrs#1:addr="2001:470:c851:192::":prefixlen#64:tc=ether:

Comme vous l'avez deviné ce fichier contient le préfixe du LAN.

Prenez soin de démarrer rtadvd :

# service rtadvd start

Vérification

Sur une autre machine de votre LAN, reconnectez le réseau. Vous devez maintenant voir que vous récupérez une IPv6 :

Vous pouvez aussi utiliser le site test-ipv6.com

Note : J'ai masqué mon IPv6 en rouge sur la capture, par contre j'ai laissé tout ce qui est IPv4, car soit c'est du LAN, soit c'est l'adresse IP de maniatux que tout le monde peut déjà voir ;)

Ressources

Sauvegarde rsync avec roulement de 3 jours

Rédigé par Xavier -

Pour sauvegarder mon serveur, j'ai choisi d'utiliser simplement rsync avec une tâche cron. En effet mon infra n'est pas assez grosse pour justifier la présence d'une machine de guerre telle que Bacula. Rsync va permettre, avec un peu d'astuce, une sauvegarde incrémentielle avec roulement sur 3 jours. Cela veut dire que je peux restaurer des choses en puisant au choix dans les sauvegardes des 3 derniers jours.

Note importante

Je ne suis pas l'auteur du script, il est assez répandu sur le web, je ne sais pas qui l'a fait le premier. Mais il est très pratique !

Notez aussi que dans le script, la sauvegarde se fait en local sur le disque dur, ce qui n'est pas très prudent. Il est préférable de le faire sur un serveur distant, ou sur un support USB. En effet en cas de perte du disque dur vous serez bien contents d'avoir vos données sous le coude :)

Le script

#!/bin/sh
TARGET=/usr/backup
SOURCE=/usr/jails
/bin/rm -Rf $TARGET/backup.2
/bin/mv $TARGET/backup.1 $TARGET/backup.2
/bin/mv $TARGET/backup.0 $TARGET/backup.1
/usr/local/bin/rsync -a --no-o --delete --safe-links --link-dest=$TARGET/backup.
1 $SOURCE $TARGET/backup.0/

Note : il est obligatoire d'utiliser le chemin complet pour rsync (/usr/local/bin/rsync) sinon le script ne fonctionnera pas lorsqu'il sera invoqué en cron. Pensez à créer le TARGET avec mkdir.

Ajout au cron

Avant tout n'oubliez pas de rendre le script exécutable :

# chmod +x backup.sh

Ensuite éditez vos tâches :

# crontab -e

Puis ajoutez la ligne suivante :

@daily /root/backup.sh

Comment restaurer

Pour restaurer il faut utiliser la commande cp tout simplement. Quelques exemples :

# POUR UN FICHIER DE LA VEILLE
# cp /usr/backup/xmpp/var/log/messages /usr/jails/xmpp/var/log/

# POUR RESTAURER UN DOSSIER D'IL Y A DEUX JOURS
# cp -R /usr/backup/xmpp/home/sqlite /usr/jails/xmpp/home

Jeu du moment #12 : Octodad: Dadliest Catch

Rédigé par Xavier -

Introduction

Octodad: Dadliest Catch que j'appellerai Octodad tout court est un jeu indépendant distribué sur Steam ou en direct sur le site officiel, utilisant entre autres le moteur irrlicht (utilisé aussi pour les graphismes de supertuxkart) et compatible Linux (donc disponible sous SteamOS/Linux). J'ai découvert le jeu par hasard en visionnant la vidéo Octodad - Ep. 1 - avec Seb, Fred et Bob sur Youtube. Si la maniabilité m'a paru horrible, en revanche l'histoire et l'univers sont bien sympathiques et m'ont attiré.

Note : les captures d'écran dans cet article sont issues de la section "presse" du site officiel. En effet je n'ai pas trouvé comment faire une capture d'écran dans un jeu sur Linux.

Résumé

Vous incarnez un poulpe qui se fait passer pour un humain afin de vivre une vie de famille tranquillement. En effet sa femme et ses enfants sont humains et personne ne semble remarquer ce qu'il est vraiment. Mais la vie n'est pas simple quand on est un poulpe, la moindre action comme marcher peut devenir rapidement compliqué. Vous allez devoir évoluer dans plusieurs environnements en réalisant des actions pour être un bon père de famille, mais aussi échapper à vos ennemis qui veulent vous réduire en sushi.

Graphismes et Univers

Le jeu adopte un style cartoon, les graphismes sont simple mais suffisants et assez réussis. Cela le rend accessible sur beaucoup de configurations car moi-même j'ai pu y jouer avec mon Intel HD3000. Les environnements sont variés puisqu'on passe d'une maison à un jardin, un supermarché et enfin un aquarium avec des jeux de lumière intéressants. Le moteur physique du jeu, PhysX, rempli bien son rôle et les interactions entre le personnage principal désarticulé et les objets de l'environnement sont bien rendues.

Peu de choses à dire sur l'univers, comme mentionné précédemment, c'est très cartoon. Les personnages ne se rendent pas compte que vous êtes un poulpe et cela donne lieu a des situations amusantes, comme dans les premiers instants du prologue. Le jeu ne cherche pas à faire rire le joueur directement, mais l'univers est attachant et contient parfois des clins d’œil comme par exemple dans le supermarché avec le creeper issu de Minecraft.

Gameplay

Vous allez devoir contrôler individuellement les bras et les jambes d'Octodad pour résoudre des énigmes et avancer dans les niveaux, ce qui est plus facile à dire qu'à faire. La barre d'espace permet de switcher entre le mode "jambes" et le mode "bras", chaque clic de souris vous permettra de faire des mouvements. Et il faudra vous débrouiller avec ça ! Octodad peut saisir des objets, les lancer, les utiliser, et il y a beaucoup de mini jeux à travers les environnements. Ainsi, le jeu se défini comme un jeu d'action-puzzle à la troisième personne (Third-person puzzle action).

Après 30 minutes de jeu on commence à s'habituer et le maniement d'Octodad est alors bien moins compliqué. Certains passages restent tout de même compliqués lorsqu'il s'agit d'être très précis ou très rapide d'autant que le jeu peut vous mettre la pression.

Le seul point noir du jeu, c'est sa durée de vie : 2 heures. Oui, 2 heures. Alors certes le jeu ne coûte que 15 euros, mais c'est tout de même court. Mais sachez qu'avec les soldes Steam le prix a baissé (je l'ai pris à 4,75€) et que cela vous permet d'avoir un jeu compatible Linux ET indépendant :)

Conclusion

Octodad est une bonne surprise, un jeu attachant, un peu galère, mais qui en vaut la peine. C'est le premier jeu que j'achète en natif Linux sur Steam, et je ne suis pas déçu. Si vous n'avez rien d'autre à vous mettre sous la dent, pourquoi ne pas essayer Octodad ?

Classé dans : Culture - Mots clés : aucun

Rapport de maintenance du serveur (18/06/2014)

Rédigé par Xavier -

Hier j'ai procédé à une maintenance sur mon serveur, normalement invisible pour tous car j'ai pris soin de déplacer maniatux.fr sur un serveur de secours (il y a juste le https qui ne marchait plus). But de l'intervention ? Réinstaller le serveur FreeBSD pour partir sur une architecture différente et propre. En effet :

  • Mes jails sont maintenant faites avec le fichier /etc/jail.conf et décompression du base.txz (que l'on trouve sur le FTP de FreeBSD) tout simplement. J'ai abandonné ezjail qui est certes très bon mais légèrement gênant au niveau des sauvegardes et restaurations de jails (car il utilise des points de montage et des liens symboliques).
  • Ma jail dédiée à Jabber était cassée depuis la fois où j'ai du la restaurer. En effet suite à un incident d'upgrade, j'ai du utiliser une archive .tar.gz pour la restaurer. Cependant on ne peut pas juste la décompresser et démarrer la jail, à cause des points de montage et des liens utilisés par ezjail (d'où le fait que je l'abandonne). J'ai donc du créer une nouvelle jail et copier les fichiers qui vont bien, ce qui a été laborieux et bancal (le daemon a fini par tourner, en revanche pkg était cassé, ssh ne fonctionnait plus, etc). J'ai maintenant une jail propre refaite de A à Z, tout va bien.
  • L'IPv6 arrive car j'ai monté un tunnel he, et un /48 s'il vous plait. J'ai activé le ratdvd ce qui me permet de profiter de l'IPv6 sur tout mon LAN. Par contre les jails sont encore en IPv4 only pour le moment, car je dois réfléchir aux problématiques de pare-feu. En effet l'IPv4 et son NAT font qu'il y a une protection minimale pour tout ce qui entre. En revanche en IPv6 pas de NAT et donc pas de filtrage, ce qui va donc nécessiter un pare-feu sur le serveur.
  • Lors de la réinstallation du serveur et des jails j'ai pris soin de noter chaque étape, chaque ligne de commande afin de ne pas oublier ce que j'ai fait 2 mois après. J'ai utilisé OneNote Online, je verrai si je peux exporter mon travail et le publier ici.

Je publierai des articles détaillés sur la mise en place du tunnel IPv6, du système de backup, et du serveur Poudriere à l'occasion. A bientôt !

Classé dans : Sysadmin - Mots clés : aucun

En Vrac #39

Rédigé par Xavier -

  • RHEL 7 est disponible, voilà qui fait plaisir !
  • On a plus honte de rien, pour gagner du fric tout est permis. Un DLC pour un jeu de 2003. La décadence du jeu vidéo...
  • Bientôt du 400Mbps/50Mbps pour la BBox Sensation Fibre ? Peut-être que j'y aurait droit, on peut toujours rêver :)
  • Je retente un transfert de domaine chez OVH, un an après mon échec cuisant. Cette fois, je m'y suis pris plus tôt. Comme quoi je ne suis pas rancunier ! Bon ils sont cinq fois moins chers que NoIP, ça joue :)
  • Linux 3.15 est là, j'attends avec impatience l'article de Patrick_g sur Linuxfr !

Classé dans : Thoughts - Mots clés : aucun