J'ai appris tout recemment qu'on voulait me faire de l'ombre ...
Oui, à moi.
Par rapport à mon formidable système de cross-watching qui à fait tant d'heureux.
Je l'admet, ce post n'est que pur provocation et vantardise, MAIS, sans provocation, conflit, dualité, je serais en train de chasser le caribou pendant qu'un individu féminin avec lequel je me suis accouplé afin de perpetuer bêtement ma race, cueille des racines et des baies, je n'aurais d'autres occupations que manger, dormir, chasser et copuler, ce qui en soit, fait déja 4 occupations à gerer, c'est déjà beacoup pour un cerveau qui n'a connu aucune autre reflexion que ... qui n'as connu aucune reflexion.
Et bien faites-moi de l'ombre, j'attend.
En attendant, pour vous aider un peu, je vais poster ici tout ce que j'installerais sur mon serveur.
( Parce que si t'arrive à faire tout ça, 2 serveurs ne seront pas de refus je pense )
Et aussi parce que si jamais j'ai à le réinstaller à la rentrée, mon moi du futur apprécieras, je pense, de trouver ce post si bien renseigné.
La machine, la voici :

PowerEdge SC440
Pentium Dual Core E2180 @ 2,00 GHz
2GB DDR2 ECC
2x 80GB sata
(2x 250 GB pata)
(2x)500GB externe WD
SoundBlaster Live! 5.1
2x Broadcom Gigabit ethernet
+ Realtek ethernet
Ubuntu 8.04 Hardy Heron
Commençons avec la base de la base, les fondations.
je nomerais :
- ifenslave (clic-me)
agregation de lien reseaux
ifenslave est donc un module noyau qui permet l'agrégation de plusieurs lien reseaux pour n'en former qu'un seul virtuel, c'est plus ou moins l'équivalent du RAID 0 pour les disque dur.
Ou pour faire simple c'est comme avoir deux machines à café au lieu d'une, l'écoulement d'employé dans le couloir n'étant limité que par le débit de la machine à café, si on met 2 machines à café, les employé flémard et caféiné sont plus heureux.
Remarque :
Il existe plusieurs modes d'agrégation, dans notre cas, nous voulons juste augmenter la bande passante, et non gérer le défaut matériel comme pour des systéme haute-disponibilité ( rappelez-vous ce mail en fin d'année concernant les serveurs de messageries du webmail avec leur 99,9% ils etaients si content ).
Les deux modes principaux qui nous interressent sont le mode 0 et le mode 6, respectivement round robin et balance alb.
Explication succinte trouvé sur le
tuto d'ubuntu-fr :
Mode 0 :
Round Robin , équilibrage de charge
La transmission des paquets se fait de façon séquentielle sur chacune des cartes actives dans l'agrégat. Ce mode augmente la bande passante et gère la tolérance de panne.
Mode 6 :
balance-albAdaptive load balancing : ce mode inclut en plus du tlb un load balancing sur le flux entrant et seulement pour un trafic IPV4. L'équilibrage est réalisé au niveau ARP. Le module intercepte les réponses pour y réécrire l'adresse MAC de l'une des interfaces du bond tout en tenant compte des spécificiter du protocole ARP. La répartition entre les différentes interfaces, ce fait de façon séquentiel ( round robin ).
Passons à la pratique, le but etant de regroupé deux connections reseaux, il nous faut donc au moins 2 cartes reseaux.
très rapidement, si les ethX sont dans le désordre et que vous êtes quelqu'un de droit et d'intègre, qui n'aimez pas le desordre :
sudo nano /etc/udev/rules.d/70-persistent-net.rules( cependant, on ne peut apparement changer que le numero des interfaces, sinon c'est la panique )
ensuite on installe ifenslave
sudo apt-get install ifenslave-2.6 et on commence à configurer
sudo nano /etc/modprobe.d/arch/i386On rajoute ceci :
alias bond0 bondingoptions bonding mode=0 miimon=100 downdelay=200 updelay=200qui permet de prendre en compte le bonding par le noyau.
Puis on créé l'interface virtuel :
sudo nano /etc/networking/interfacesauto bond0iface bond0 inet dhcp gateway 192.168.1.1 pre-up ifconfig bond0 up pre-up ifenslave bond0 eth0 eth1 down /sbin/ifenslave -d bond0 eth0 eth1Maintenant que tout est en place, on connecte 2 cables, on reboot, et la on test le fail-over.
Ping continuel sur google,
tout ce passe bien la machine est heureuse elle communique, c'est cool.
et là, PAF! on débranche un cable ... mais la machine s'en fout elle continue dans son euphorie
on rebranche, parce qu'on est pas sadique.
et là, PAF! on débranche l'autre cable ... pareille, elle continue en se foutant royalement de ton sabotage.
Mais là, PAF! on débranche les deux cables! ouais bah là il faut pas abuser, elle fait pas encore de la télépathie, la connection se coupe.
On rebranche un cable, et ca lui suffit pour continuer à pinger gentillement.
Remarque :
avec le mode 6, le dhcp foire au boot, obligé de le relancer avec dhclient bond0
et il semblerait que la connections se coupe lorsqu'on se log en graphique O_O
Mais il serait préférable de l'utiliser car le mode 0 entraîne une duplication des paquets si les deux interfaces sont connecté au même switch.
à retenter en condition réel.
- DHCP & DNS (DDNS) (clic-me)attribution dynamique d'adresses IP, serveur de nom et tout le bordel qui va avec ( j'y travail )
— Heu... salut je m'appelle Laptop et je voudrais une adresse IP
— Salut, écoute on va te trouver ça ...
DNS ! il me faut une resolution de nom pour Laptop.
— ok pas de souci je note ça.
— voila le tout Laptop, ta nouvelle adresse IP c'est 10.0.0.254 et pour te joindre plus facilement, ton nom maintenant ce sera Laptop.room-C319.insa.
— Bah merci bien, a + +.Bref le DHCP te refile une adresse IP, le DNS est censé résoudre les noms de domaines en adresses IP et inversement, et qu'on on fusionne les deux, on obtient des noms dynamique pour toutes les machines du reseaux : le DDNS !
*For-mi-dable*
Cela dit, des tutos pour DNS / DHCP y'en a à la pelle sur le net et pis c'est pas bien compliqué.
le DHCP ->
dhcp3-serveret le DNS ->
bind9En revanche, le DDNS est plus compliqué.
Pour faire communiquer les deux ensembles il faut dire qu'on veut qu'ils communiquent, utiliser une clé crypté et pis autoriser les update de zone, et pis ...
Enfin là ça devient plus complexe ...
Mais j'y suis finalement arrivé !
Voila donc la solution :
sudo chown -R bind:bind /etc/bindet pour ce qui est du reste, c'est ce
tutoIl est court, il est bien, mais il est faux.
On peut compléter avec ce
tutoCela dit, le second tuto n'explique pas l'implémentation des clés cryptés.
On feras gaffe dans le premier tuto à :
- le nom de la clé utilisé, elle diffère de rndc-key à rndckey parfois.
- l'implémentation de la cle, on peut l'includer dans /etc/bind/named.conf
mais pas dans /etc/dhcp3/dhcpd.conf ( probleme de droit )
- bien rajouter les dns exterieur dans
forwarders dans named.conf.option.
- puis commenter dans named.conf la zone racine ( zone "." { } )
- /;\ attention : point-virgules, y'en a partout, une véritable invasion.
La remarque de derniere minute :
penser à mettre cette ligne dans le fichier /etc/dhcp3/dhclient.conf pour que le client dhcp sur la connection internet ne renseigne plus resolv.conf.
Sans ça, le serveur lui-même n'arrive plus à resoudre les noms des machines clientes comme laptop.room-C319.insa
prepend domain-name-servers 127.0.0.1; - ssh (clic-me)Secured Shell, histoire de prendre un peu de distance.
là c'est bien, y'a rien à
faire.
sudo apt-get install openssh-serveret voila !
- ICS (clic-me)Internet Connection Sharing, le but premier d'une passerelle.
là aussi, c'est plutôt bateau.
la commande qui va biendans /etc/rc.local on ajoute ( juste avant
exit 0 )
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o bond0 -j MASQUERADEbond0, rappelez-vous c'est notre agrégation de lien ethernet, c'est la connection virtuel.
Donc à la place de bond0, il faut mettre l'interface connecté au net.
Voila c'est aussi simple que ça, au reboot, la passerelle est prête.
Maintenant on va pouvoir passer à des trucs un peu plus palpitant :
le partage de fichiers !
en smb et ftp, chouette !
( on avez déjà un accès au fichiers grace a ssh, ssh://la-passerelle dans nautilus par exemple, mais c'est pas fichtrement conviviale ni intuitif
( fichtrement vient de mon correcteur orthographique ) )
[ edit ] en fin de compte, samba n'as vraiment rien de palpitant, j'ai fini dans la nuit hier soir mon smb.conf, il tourne nikel quand un client windows se connecte mais pour linux c'est pas la même histoire :/
Donc en zappant le serveur FTP qui ne serviras finallement pas beaucoup pour l'instant, je suis passé à un truc que je qualifierais de vital :
MPD (clic me).
Un petit tour, avant ( il y'a 10 mn ... ) j'ai installé Xming.
Non ce n'est pas un jeu de vaisseaux où il faut tuer un mechant en cape noir qui à du mal à respirer avec son casque.
C'est un client XDMCP pour windows.
Ou comment avoir son bureau linux à portée de main sous windows et bien mieux qu'avec VNC.
Donc bref,
le lien, tu dl, tu installe ça marche, c'est magique.
Revenons donc à MPD, qui est un lecteur de musique !
( wouah revolutionnaire -_-' )
Mais en mode Client/Server, ce qui veut dire que t'as ton interface toute jolie que y'en a à la pelle t'as qu'a chosir, et sur une autre machine, ton serveur de musique tourne.
Exemple :
Tu es sur ton petit laptop ( qui dit laptop, dit son de merde, en passant ) et donc tu fais ta petite playlist, ou pas, tu trie tes albums, ou pas, tu note tes chansons, ou pas, bref t'ecoute du son.
Et là MS Windows te dit : "Faut que tu redemarre bonhomme, c'est pour ton bien"
Alors là l'utilisateur lambda va se dire "F**k ma musique va s'arrêter"
Mais moi non ! je vais me dire 'tss, facile'
Et je continue à écouter mon son pépère pendant que je reboot.
Bref, pour cette prouesse technique, on installe mpd
sudo apt-get install mpd(ou en graphique avec notre toute nouvelle session XDMCP qui marche troôoop bien )
et sur notre laptop windows on installe ario par exemple, qui semble figurer parmis les meilleur (ou pas).
Je viens de finir d'installer ario/mpd, et deception ... les touches multimedia ne marchent même pas x_x
En dehors de ce affront d'ignorer totalement mes touches multimedia, Ario est un bon lecteur, souple, rapide, leger, parfait pour
écouter de la musique.
Évidement c'est pas avec ça qu'on va renommer ID3tag ou rajouter les pochettes d'album.
( quoique les fonctions sont présente )
Et le truc le plus le must, c'est qu'on peut avoir 2 clients en même temps, et se faire des bataille de "cémashençonkonvaecouté".
Voila, c'est tout se que j'avais trouvé à dire la dessus.
Bref, c'est très bien, mais pas suffisant.
Installons avec ça, le parfait compagnons : Pulse Audio
Le serveur de son d'Ubuntu.
Le principe, c'est que tout les sons que votre laptop aurait dû faire subir à vos délicats tympan sont renvoyé vers le serveur de son, qui lui à un son plus que correcte.
( Le même principe, c'est que tout les tutos que je suis en train de vous faire subir, vous pouvez les trouvez autre-part en mieux en cherchant un peu :D )
[ Edit ] Pour l'instant Pulse Audio ça pue :/ ( lse audio )
( pardon -> [] )
Je parlais tout en haut du Cross-Watching, et bien il se trouve que le Cross-Watching n'est plus.
Mon reseaux astucieusement composé de 2 PCs refuse catégoriquement de transmettre convenablement le multicast, j'ai donc dû utiliser la méthode de diffusion http.
Et avec ça, le nouveau script One-Click-Stream & Display !
dans sa version Alpha.Test.RC0.0001. ( la toute première d'une longue suite si j'ai le temps de continuer )
Le script qu'on va intégrer à nautilus grâce à nautilus-actions
#!/bin/bash# en argument le dossier puis le fichier à envoyer en streamvlc "$1/$2" --sout '#standard{access=http,mux=ts,dst=10.0.0.1:8080,sap,name="$2"}' & sleep 0,8 ; vlc http://10.0.0.1:8080 --fullscreenC'est le je-s'occupe-de-tout-tu-s'occupe-de-rien' script.
Bon voila il est encore en version Alpha.Test.Beta.Release.Candidate.0.00001, donc il lui manque un peu de souplesse et de fonctionnalité, notamment le sleep 0,8 qui n'est pas très élégant.
On lance le serveur, on attend 0,8 secondes qu'il se lance et après on lance l'affichage ... hum, et on manque 0,8 secondes du film ! ( inacceptable, mais j'y travaille )
et malheureusement, quand quelqu'un entrera dans la chambre ( chambre ... tiens, ça me fais penser qu'il fallait que je la range ... ), bref quand quelqu'un interrompras votre films, "grande panique, espace - non ça marche pas j'arrête que l'affichage là - réduire la fenêtre, trouver le serveur sur le bureau dans tout ce bordel de gedit, firefox, terminal etc - et enfin appuyer sur pause ... et attendre que le buffer se vide ... voila, qu'est ce qu'il y'a ?"
Voila exactement, ça manque de souplesse et de fonctionnalité.
2 commentaires:
Hahahaha que celui qui veux te faire de l'ombre (qui ne doit etre que Marc) commence a se faire du souci, parce que ca veut dire qu'il doit non seulement avoir un serveur de ouf, et gagner le match de "zizi laser" organise par la Federation Internationale des Geeks Croyant Avoir un Zizi Laser. (FIGCAZL)
Tchouuuuuuuuuuuvvv!
Sinon a part ca, Carine arive de Shanghai ce soir et passe une semaine avec moi a New Delhi^^
Ca va etre cool.
Cool ressemble a colle.
Gratien, si la colle est fait pour coller, comme ton esprit rationel nous l'a souligne, j'ajouterais qu'il faudra eviter de se coller la main avant de checker, sinon j'aurais la joie et le privilege d'avoir ma main collee a ton divin et rebondi derierre. Hmm!.. (et toi de meme. Hmm!..)
En parlant de derierre (Hmm!..), m'en vais me faire couper les cheveux par le coiffeur a 50 roupies qui doit utiliser des scalpels recuperes a l'hopital de liposuscion avant de les passer un peu dans l'eau du Gange.
Hmm!..
Bioux! (sauf a toi, le barbu au fond. J'taime pas)
Marc, qui est marc ?
mon pote marc qui à un imac, et dont la chambre ressemble a la chambre du mec dans Pi, qui à reçu gratos un PDA avec GPS dont l'écran ne marchait pas mais qu'il a acheter un ecran peuchere pour le remplacer ?
Lui il a pas de serveur héhé hé
Non c'est pas Marc ...
*bon allé je file finir mon DHCP/DNS*
Enregistrer un commentaire