Previously on blog

Aller au contenu | Aller au menu | Aller à la recherche

mardi 8 février 2011

Dual-stacking your infrastructure

With the recent assignment of the last ipv4 /8 blocks to RIRs and the IPV6 day coming up now is probably the time to dual-stack your infrastructure.

In the following weeks I will try to document the process we're going through at Ubity to add IPv6 to our infrastructure.

The very first step was to get a block of IPv6 of course. We had two choices to get one :

  • Ask one of our providers to assign us a block. This is pretty easy but means you don't own your block and it can become problematic if you ever decide to change providers
  • Buy a provider-independant IPv6 block through ARIN. This is a better solution but has its requirements.

We decided to go through the second option and here is what is required to get an IPv6 /48 block :

  • Be able to justify a 25% usage of an IPv4 /24 block (that's roughly 64 IPs used)
  • Pay 1250$ for the assignment then 100$ a year

We were able to meet both criterias so we are now the proud owners of 2620:61::/48 !

Now on to actually using this block, here's what I still need to do to get it up and running :

  • Reboot our core router (a stack of 3750) to enable the v4&v6 SDM template
  • Setup new BGP sessions with my providers for ipv6 (I don't want to mix v4 and v6 announcements)
  • Announce my block to my providers
  • Set up test servers with dual-stack
  • Set up our office router to support dual-stack (it's an Asus RT-N16 with tomato firmware, I've read it supports dual stack)
  • Start offering ipv6 services (beginning with the website, hopefully voip will follow)

New articles to come !

jeudi 26 novembre 2009

Avoid packet loss on overloaded internet connection

We ran across a weirdness in one of our customers internet lately. This weirdness is that it had packet loss even though they have 12mbits/sec up and down and we had our tomato router installed with everything set up nicely (this setup works for hundreds of other customers). Except he uses a fiber connection and I ended up being able to pinpoint the problem to this :

His provider pushes traffic at speeds up to 100mbps to the providers switch at the customers facility and that switch then does traffic shaping to 12mbits/sec on the outbound port to the customers equipment thus dropping some of the packets.

What can you do in such a case ? Well I discussed this with a network engineer and ended seeing the following option : police the incoming traffic to a lower bandwidth than the one the customer is supposed to have (say 10mbps/sec) that way the tcp windows will shrink enough not to saturate the 12mbps.

So how do I do that in practice ?

Well I connected through ssh to the tomato router, edited /etc/qos (that's where the qos happens) and changed the ingress rules to :

 $TQA handle ffff: ingress
 $TFA parent ffff: prio 1 protocol ip u32 match ip src 1.2.3.0/24 police rate 11000kbit burst 10kbit drop flowid ffff:1
 $TFA parent ffff: prio 5 protocol ip u32 match ip src 0.0.0.0/0 police rate 10000kbit burst 10kbit drop flowid ffff:5

What does this do ?

It limits incoming traffic to 10mbits/s with a 10k burst and allows everything coming in from 1.2.3.0/24 to use up to 11mbits/s of traffic.

Result ? No more packet loss and a happy customer.

vendredi 16 octobre 2009

Mysql search and replace

Today I needed to update around 50 mysql entries containing emails since my customers domain just changed, here is how I did it :

UPDATE table SET email=REPLACE(email,"olddomain.com","newdomain.ca") WHERE customer="customer1";

vendredi 18 septembre 2009

Removing duplicates from a mysql table

Recently I had a problem where one of my script would insert duplicates in a table in certain situations. So I had to de-depulicate my entries.

I found a post that solved this issue but it didn't quite satisfy me so here's my solution :

Create a new table that is a copy of the original one and add a unique index on whatever cols form something that is indeed unique (for me it wasn't quite as simple as putting a unique index on an id field).

Now the only thing you need to do is insert the content of the old table in the new table while ignoring duplicates. This is achieved with the following line (also I wanted to remove anything older than january first of this year) :

INSERT IGNORE INTO new_table SELECT * from old_table WHERE date >= '2009-01-01 00:00:00';

Now you can either drop the old table or move it out of the way and replace it by the new one by doing a rename.

RENAME TABLE new_table TO old_table;

samedi 7 mars 2009

Ethernet bonding on linux (Debian based)

In my current position as a system / network administrator I needed to get a redundant network architecture so that if a switch fails, a network cable is cut off, a network card fails, etc the service wouldn't be impacted.

To achieve this we chose to go with a stack of 3750 cisco switches (we are starting with 2 switches) each one connected to a different power circuit.

We then attach our servers to both switches using what cisco calls etherchannel with lacp (which is in fact ieee standard 802.3ad) Some documentation

On the cisco side it's only a mater of adding your interface to channel group (it's explained quite well in cisco's documentation under etherchannel using LACP).

On Linux's side etherchannel is called interface bonding.

In order to use bonding you have to load the module with th right options (for LACP you at least have to pass option "mode=4"). Then you will have to create q bond0 interface to which you will attach several (at least 2) ethernet devices.

Here are 2 very interresting articles :

mardi 23 septembre 2008

Le voile se lève un peu plus sur Android

Comme souvent ces derniers temps je vais vour parler d'Android (et de Maemo un peu).

Alors l'évenement du jour était la présentation du HTC Dream (ou T-Mobile G1) qui est le premier téléphone à faire tourner Android (l'OS mobile de Google pour ceux qui n'auraient pas suivi). J'ai donc commencé ma journée en lisant l'article d'ars technica sur la présentation en question qui m'a un peu laissé sur ma fin puisqu'on n'y voit pas plus qu'avant ce qu'Android peut faire.

La journée continue et un nouvel article sur le blog officiel de Google fait aussi part du lancement officiel d'Android sur une vraie plate-forme. Bien mais toujours pas d'images... L'article mentionne que pour avoir plus de détails on peut aller sur le blog de l'équipe mobile de google. Et la enfin une vidéo assez sympa de présentation d'Android.

Ca à l'air bien pensé (ce qui n'est pas vraiment étonnant pour un produit Google). Ce que j'ai bien aimé :

  • Le "screen lock pattern"
  • Le fait que tout soit tout le temps synchro avec le google account (mais que se passe t'il en cas de conectivité limité ?)
  • Les notifications cool
  • Si le street view est aussi fluide que ca ca doit vraiment être sympa (surtout si c'est bien utilisable au doigt)

L'avantage que je vois par rapport au iPhone c'est qu'on est moins bloqué dans la logique mac : si je synchronise mon calendrier sur google via Android je peux ensuite le synchroniser sur Windows, MAC ou Linux (voire même Maemo) indifféremment (du moment qu'il le supporte) et bien sur que tout ceci est open source.

Sinon pour parler plus marketing le T-Mobile G1 sera dispo partout ou T-Mobile est présent (US et certains pays d'europe) à partir du 22 Octobre. Aux US le téléphone coutera 179$ avec un engagement de 2 ans. Pour contrer les atouts de l'iPhone Google à mis en place un partenariat avec amazon pour ce qui est de la musique. Et va lancer son propre Android Appstore.

Bref Android semble vraiment pouvoir être un concurrent de choix pour l'iPhone. Alors quid de Nokia ? Pour l'instant ils ne me semblent pas prêts à lâcher la plate-forme S60 (j'ai vu une vidéo cette semaine des Nokia E72 et E75 qui tourneront sous Symbian) rien ne les empêche d'utiliser Android mais je pense qu'ils vont plutôt essayer de se démarquer.

Et peut être vont-ils le faire en adoptant Maemo comme plate-forme mobile (bien qu'elle ne soit pas encore mature pour cet usage d'après moi). Quelle transition pour vous dire que ce week-end c'était le premier Maemo summit en allemagne. A cette occasion Nokia a dévoilé pas mal de chose sur le futur de ces tablettes et de Maemo.

D'abord la prochaine version de la tablette :

  • Maemo FR annonce un N900 avec les specs que Nokia a donné. Je pense qu'ils vont un peu vite en besogne puisque Nokia n'a pas annoncé le nom du produit pour l'instant ni les specs complètes.

Ce que l'on sait :

  • En terme de hardware : 3G/3G+ (UMTS et HSDPA donc), a priori une webcam haute définition, processeur TI OMAP3 (plus puissant que l'actuel OMAP 2420), possiblement un accélerateur graphique puisqu'OpenGL va être intégré. On en sait pas beaucoup plus pour l'instant
  • En terme de software : Maemo 5 a été annoncé (nom de code Fremantle) et incluera énormement de nouvelles choses parmi lesquelles on peut noter :
  • l'arrivée de tracker, pulseaudio et upstart
  • la contribution de Nokia au support du HSDPA dans le noyau
  • la création d'un driver libre pour le chip Wifi des n800 et n810 (ce qui me laisse penser qu'on va surement bientôt pouvoir faire du monitoring et de l'injection avec les tablettes :))

Et bien d'autres chose qui sont documentées ici

Bref pas mal de bonnes choses à venir et j'ai hâte de voir maemo 5 (et de récupérer ma tablette qu'il a fallu que je renvoie aux états unis parce que l'écran n'est plus tactile grrrr)

Update

Quelques images de plus

mardi 12 août 2008

Effectivement

Le lien suivant apporte de l'eau au moulin de mon dernier post : il semble de moins en moins probable que symbian et android fusionnent.

J'ai l'impression que les analystes ne connaissent pas assez bien leur sujet pour pouvoir faire un analyse raisonnable de ce qui pourrait se passer. Je veux dire qu'il est clair que fusionner une plate-forme en c++ avec une plate-forme java est aussi facile que d'en réecrire une complète.

Par contre QT sur symbian j'y crois un peu plus. J'ai cependant du mal à voir où va Nokia avec tout ca. Jusqu'à récemment je pensais que Nokia investissait dans maemo pour, à terme, s'en servir comme plate-forme pour ses téléphones mais cela semble de moins en moins probable.

Il semblerait que maemo reste cantonné aux Internet Tablets (qui est un marché qui risque de devenir de plus en plus gros, surtout si Nokia rajoute le support de la 3G dans ses tablettes ce qui semble être en bonne voie (du les utilisateurs en veulent)). Peut-être que la stratégie est d'avoir maemo pour les gros smartphones (avec assez de puissance pour faire tourner Linux) et symbian pour les plus petits téléphones.

Comme toujours : wait and see.

vendredi 25 juillet 2008

Google, Nokia, toussa

A l'ordre du jour :

  • Knol le Wikipedia de Google
  • Android, Symbian, OpenMoko et l'iPhone (bien sur)

Alors d'abord Knol, l'encyclopédie colaborative de Google. Je trouve cette initiative affreusement effrayante. Apparemment ca fait pas mal de temps que Google lorgne sur les rofits potentiels que pourrait générer Wikipedia (qui se refuse à inclure de la pub dans ses pages). Vu qu'ils ont pas réussi à corrompre les gens de la wikimedia foundation ben ils ont démarré leur propre encyclopédie en s'éloignant un peu du principe de Wikipedia (et de leur moto "do no evil", enfin selon moi) en effet les auteurs sont rémunérés et plusieurs articles sur le même sujet peuvent cohabiter et c'est l'auteur de chaque article qui décide de l'utilisation ou non des ajouts des autres internautes. Bref certains succombent déjà à la tentation de se faire de la thune en allant plutôt poster sur Knol que sur wikipedia. A ceux la je dis bravo. Si les programmeurs de logiciels libres faisaient pareil Microsoft aurait tout loisir de racheter les meilleurs logiciels libres avec les programmeurs de ceux-ci.

Pour réagir à ca moi je ne pense pas que android et symbian puissent finir par fusionner. Pour avoir essayé les deux c'est bien trop différent dans l'UI autant que dans le concept. Sinon je voulais plutôt donner mon avis sur l'usabilité des interfaces de téléphone :

  • Android : je l'ai un peu testé sur mon n810, c'est plutôt convaincant mais le n810 ne faisant pas téléphone je n'ai pas pu le tester entierement. Le soin apporté à l'ergonomie n'est pas le même que l'iphone mais dans le domaine des systèmes pour téléphone open source je pense que c'est le plus abouti (tant que symbian ne sera pas libre)
  • Symbian : j'ai un n91 qui est donc sous Symbian : ca sert la fonctionnalité correctement : les menus et les applications marchent correctement. Sur mon n91 c'est lent mais c'est plutôt lié au hardware (le même système sur un n95 marche bien mieux). Ca va évoluer vers une interface plus touchscreen friendly , etc. Reste que ca à pris un coup de vieux depuis la sortie de l'iphone.
  • OpenMoko : d'aprés ce que j'ai pu lire l'interface est tout bonnement à chier et mérite d'être revue de fond en comble. Je n'en sais pas plus ne l'ayant pas testée
  • iPhone : pour y avoir touché un peu (comme beaucoup de gens) c'est egonomique, bien pensé, beau, etc.. Sans doute la meilleure ihm qu'on ait vu depuis longtemps. Reste que ca n'est pas libre.

Bref pour moi Android et Symbian (quand il sera libéré) dans le domaine du libre ont de bonne chance de percer si ils font des efforts pour se remettre à niveau par rapport à l'interface de l'iphone. Android est sans doute plus proche de quelque chose de vraiment ergonomique et plaisant à utiliser. Quand symbian sera libéré ca peut devenir très intéressant. Je pense que dans les prochaines années la bataille dans ce domaine risque d'être rude mais donnera à l'utilisateur de quoi régaler ses doigts et ses yeux.