Archive for octobre 15th, 2016

Utiliser Zazeen set top box depuis une connexion videotron

Alors ca n’a pas l’air tres opensource cette histoire, mais ca implique du GNU/Linux :D (et oui je parles beaucoup comme toujours).

Pour ceux qui ne connaissent pas, au Québec (je ne sais pas pour le reste du Canada) mais les offres TV/Internet/telephone sont hors de prix !
Pour une connexion décente, il faut compter débourser entre $90 et $150 par mois après taxes. Ce qui, en arrivant de France il y a 5 ans avait déjà été un gros choc après Free a 30 euros par mois tout inclus et appels au monde illimités.
Ensuite, même si les fournisseurs crient le contraire, il y a du filtrage selon l’activité (alors admettons que les fournisseurs ne fassent rien, mais étrangement, en lançant un relais tor limité a 5mbit/s, ma connexion de 60mbit/s s’écroule a 2mbit/s).
La suite avec Zazeen, et pourquoi je me suis rendu a découvrir la TV sur IP via set top box au Canada.
Comme vidéotron le fait parfois, certaines chaines ont été mises en débrouillage (accès gratuit pendant quelques jours), et on découvre la chaine historia qui nous plait.
La je contact le service client, après 4 ans d’abonnement chez eux, un abonnement dans les $130, je me dis qu’on va pouvoir avoir une chaîne en plus sur notre pack.
Mais la, non, alors que jusqu’alors le service client avait toujours été impeccable, je fais face a de l’agressivité et aucune flexibilité (il faut quand même noter que le réseau vidéotron, n’a jamais fait défaut, et jusqu’à ce moment la, le service client avait toujours été super efficace, tu me diras, ça vaut mieux quand même vu le prix).
Anyway, la pour avoir un seul canal en plus du pack de base HD ($25 pour 23 chaines de bases), il faut souscrire au pack 5 chaines de plus, pour $41 par mois !!!! (selon le site la base HD serait incluse, donc théoriquement le coût supplémentaire serait juste de $16 / mois) , mais rendu la, on est a environ $150 par mois pour une connexion qui avait été élevée a 60mbit/s mais limitée en volume.
Bref, trop c’est trop (sans parler des prix affichés qui finissent par monter, ou des prix affichés qui ne sont valides QUE pour les nouveaux clients, les anciens clients qui paient depuis des années, eux on en a rien a faire).
Du coup, frustré de l’agressivité du service client sur ce sujet, et de l’aberration du coût total (dans un monde soit disant cloud, avoir des connexion hors de prix et limitées en volume, c’est quand même bien ridicule !) je me dis qu’il doit bien y avoir moyen d’avoir juste les 3 ou 4 chaines que je regarde pour un montant correct.
Et la je tombe sur zazeen (il y en a d’autre) qui présente une offre intéressante ! Donc je souscris, en 4 mois de zazeen, j’aurai déjà sauvé l’argent que coûte la solution pour un an ! (avec la suppression de la TV sur videotron)
Donc je reçois le boitier « set top box » (genre de freebox TV qui se branche sur le net via cable reseau ou wifi).
En branchant tout ça, au bout d’un moment l’image freeze, et ca lag a mort.
Ceci arrivant principalement en prime time, de 7:45PM a 10:30PM.

En attendant de valider que ca fonctionne, je n’avais pas encore résilié la TV videotron.
Apres des echanges avec le support zazeen (plutot efficace et rapide), on teste la set top box directement sur le modem (pour isoler le fait que mon routeur soit la cause). Mais au final le problème existait encore.

Je fais donc quelques check (traceroute, ping) vers le serveur de streaming de zazeen (IP identifiée avec un petit tcpdump sur mon routeur, ou du iptraf-ng). Mon routeur étant un PC sous CentOs avec 2 cartes réseau, un iptables, de l’ip_forward, du dhcpd, rien que du basic, simple et efficace.

Et la je vois que le trafic passe par des peerings a NY, et que c’est extrêmement lent ! Clairement, le peering videotron avec le fournisseur de cloud/reseau de zazeen n’est pas bon (accident, ou délibéré on ne le saura pas).

Du coup, je me connecte sur un des mes VPS OVH a BHS, et la petit traceroute. Surprise, cette fois ci on passe par torontoX, et ça va vite vite (Zazeen est du cote de Toronto, y compris les serveurs, de ce que je vois) !

Vient donc le challenge de router juste le trafic de ma boite set top box zazeen au travers de mon VPS.
Je trouve donc un article qui parle de sshuttle (https://github.com/apenwarr/sshuttle) qui est tout ce dont j’ai besoin.
Apres quelques essais, je monte le tunnel simplement entre mon routeur linux « maison » et mon VPS, avec les options qui permettent de router le trafic réseau a travers ca.
Il s’avere que sshuttle est gourmant en CPU et que faire passer TOUT mon trafic TCP a travers lui est trop gourmand en CPU tant sur mon routeur que sur mon VPS, par contre, ca fonctionne tres tres bien juste pour l’IP du serveur de streaming zazeen.

Les prerequis sont donc :
– assigner une IP statique (association par MAC dans le serveur DHCP) a la set top box
– et avoir un compte pour se loguer en SSH sur un VPS OVH
– connaître l’ip du serveur de streaming zazeen (tcpdump et grep sur la carte reseau locale, et grep sur l’ip de la set top box, ou encore lancer iptraf-ng pour voir le trafic live et voir l’ip sur laquelle se branche la set top box).
– etre root sur le routeur, et y installer sshuttle (généralement deja dans la repo)

La simplement sur le routeur on lance un :

[bash]#sshuttle -l 0.0.0.0 -r root@votre-vps:22 xx.xx.xx.xx[/bash]

ou les éléments signifient :
sshuttle : le programme
-l 0.0.0.0 : écoute (bind) sur toutes les cartes (et donc répond aux clients du réseau local aussi)
-r root@votre-vps:22 : compte root (ou n’importe quel comptes utilisateur qui peut ouvrir une session) sur le serveur distant (remote) et le port d’ecoute SSH
xx.xx.xx.xx : l’ip su serveur de streaming zazeen (seul host pour lequel on veut router le trafic au travers de ce tunnel)

(tip : puis un petit ctrl+z et bg pour le mettre en arrière plan,et disown %1 pour le detacher de la console, ou bient encore plus simple, on utilise la fonction demon de sshuttle, en ajoutant l’argument -D pour que le tunnel passe en demon de lui meme.)

Une fois lancé, tout le trafic passe par le VPS OVH, et bénéficie du fantastique réseau OVH. A partir de ce moment la, la set top box derrière le routeur fonctionne sans aucun lag.

Le service consomme en moyenne entre 2 et 2.5 mbit/s, ce qui n’est presque rien sur les 100mbit/s du VPS.

La seule contrainte et qu’il faut relancer sshuttle quand la connexion internet subit une interruption, ce qui prend juste quelques secondes.

Ca a l’air compliqué, mais ca ne l’est pas :)

Pour se monter un routeur linux, ca prend un vieux PC genre dell optiplex 760 core 2 duo ($80 sur ebay) et une carte reseau supplementaire (intelpro pour $20), puis on installe une CentOs de base (sans interface), openssh, iptables, bind, iptraf-ng, dhcpd c’est pas mal ca :)

Les settings de base ca donne :
adresse ip de la carte publique : DHCP (branchée sur le modem qui la donne)
adresse ip de la carte interne : 172.20.0.1 mask 255.255.255.0

/etc/sysctl.conf qui contient :

[bash]net.ipv4.ip_forward = 1
net.ipv4.tcp_challenge_ack_limit = 999999999[/bash]

/etc/selinux/config :

[bash]SELINUX=disabled[/bash]

(sauf si vous voulez utiliser selinux et le configurer comme il faut pour que tout ceci fonctionne).

/etc/dhcp/dhcpd.conf :

[bash]# dhcpd.conf
# option definitions common to all supported networks…
option domain-name "local.lan";
option domain-name-servers 208.67.222.222, 208.67.220.220;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 172.20.0.0 netmask 255.255.255.0 {
range 172.20.0.10 172.20.0.100;
option routers 172.20.0.1;
default-lease-time 600;
}

#set top box (use the MAC of the set top box to assign the ip)
host zazeen {
hardware ethernet 60:02:b4:XX:XX:XX;
fixed-address 172.20.0.111;
option host-name "zazeen";
}[/bash]

/etc/sysconfig/iptables :

[bash]# enp0s25 = carte reseau sur internet branchee au modem
# enp4s2 = carte reseau interne
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o enp0s25 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i enp4s2 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A INPUT -i enp4s2 -p tcp -m state –state NEW -m tcp –dport 53 -j ACCEPT
-A INPUT -i enp4s2 -p udp -m state –state NEW -m udp –dport 53 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -i enp4s2 -o enp0s25 -j ACCEPT
-A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT[/bash]

et voila, avec ça, la TV avec Zazeen sur une connexion videotron fonctionne au top.
Si vous avez un top routeur maison, rien n’empêche de mettre la boite linux sur votre réseau (la carte qui va normalement sur le modem branchée sur votre routeur, et la set top box sur la carte du réseau interne du pc linux. Le seul role sera pour lui de router le traffic dans le tunnel.

De mon bord, la télé fonctionne super, pour 3 fois moins que ce que j’avais avant, et le chaines que je veux.

une fois que tout ca a fonctionné, j’ai appelé pour resilier la TV vidéotron, et la on finit par me proposer de garder le tout pour juste le prix de la connection internet pour un an ! Et bien non, trop tard. Si l’offre avait été correct des le depart, je n’aurai meme pas pensé a chercher sur le net la TV par internet au Quebec.

A cote de zazeen, il y a d’autres acteurs comme tvwow.ca, vmedia.ca mais aussi le célèbre roku.com (mon voisin semble ravi de cette option aussi).

Pour revenir a Zazeen, j’oubliais, la boite de base inclue dans le forfait, permet de brancher un disque dur externe, et d’enregister les émissions depuis le guide TV comme avec les fournisseurs habituels. Donc rien a dire.
Oui il y a surveiller la bande passante mensuelle, en volume, ou, en cas de passage a IPTV, on devrait considérer l’option illimité :D

Meme si c’est un peu fouillis, c’est un memo perso et ca pourra peut etre vous mettre sur la voie si vous chercher a fixer le probleme d’image qui freeze sur zazeen avec videotron :D

Bonne TV !

Note de Decembre 2016, apres 2 mois et demi de zazeen impeccable, le service a cessé de repondre (fixé maintenant).
Apres 3 jours sans TV, j’ai donc contacté le support de Zazeen en expliquant la situation en détails, et la « Andrew » me répond. Il comprend la situation, et comprend l’idée de mon tunnel via mon VPS OVH.

La il me dit que le probleme vient du fait que les serveurs de Zazeen n’acceptent de streamer que vers l’IP reportée par la set top box (normal, limitation du CRTC, zazeen ne peut diffuser que la ou la licence l’autorise). Alors il me dit qu’il faut ajouter dans leur systeme l’IP que j’utilise comme gateway pour leur service, dans leur systeme. En moins de 3 heures, et 4 emails, le probleme est fixé !

Chez zazeen, ils ont associé l’IP de mon serveur OVH m’assurant le tunnel, a mon compte, et tout fonctionne a nouveau !

Je suis tres tres tres content de la solution, et surtout du support Zazeen ! Merci Zazeen, et vu le setup actuel, et si rien ne change dans la qualité du service, je ne changerai pas de fournisseur pour longtemps !

Well done Zazeen ! (in case you don’t speak french !)

Loading

samedi, octobre 15th, 2016 GNU - Linux, Reseau, Technologie 2 Comments
Not f'd — you won't find me on Facebook
octobre 2016
L M M J V S D
 12
3456789
10111213141516
17181920212223
24252627282930
31  
 

 
Suivez moi sur twitter - follow me on twitter
 
Follow on LinkedIn
[FSF Associate Member]
 
Free Software, Free Society
VIRTUALISATION :
Compacter une image virtualbox VDI
Bon petit tutoriel esxi
Marche d'appliances vmware
Installer ESXi sur un disque IDE
Installer ESXi 3.5 sur un disque USB
Installer proxmox avec DRBD et migration / réplication à chaud
Installer OSSEC avec VMware
Information sur le VDI
SECURITE - FIREWALL :
Ouvrir des ports dynamiquement iptables - knockd
Autre tres bon tuto knockd
Docs Arp poisoning - Anglais
Metasploit test de pénétration
Zone H - sites piratés en temps réel
Blog invisible things
Tips protection sécurité wordpress
Pfsense - distribution firewall opensource - adsl internet failover
Iproute 2 mini how to - linux advanced routing
ClearOS - la passerelle sécuritaire lan - wan
HAUTE DISPONIBILITE :
CDN - Accélération de la distribution de données
drbd iscsi ocfs2 dm multipath tutoriel
Load balancing LVS
Load balancing opensource list
HA-Proxy :
HAproxy - http load balancer
Simple tutoriel HAproxy
HAproxy - debian tutoriel
Centos - Ip failover
Configuratoin DM-Multipath Redhat
VMware Doubletake - continuité
Quelques liens sur la réplication MySQL : Manuel MySQL, chapitre sur la réplication
Manuel MySQL, Tutoriel clair sur la mise en place
Autre tuto sur la mise en place de la réplication MySQL
Références pour optimisation du serveur MySQL
Utilisation de EXPLAIN mysql pour optimiser vos bases
optimiser vos bases - requetes et index
STOCKAGE RESEAU :
Un outil de clonage disque en reseau
Internet NAS 250Go 250 accès VPN
Server ISCSI avec Ubuntu tuto
ISCSI centos redhat tutoriel
Gérer et étendre un LVM
Créer sa piratebox ! trop cool
Deaddrops, les clés USB dans les murs, aussi cool !
OPTIMISATION WORDPRESS :
Télécharger Xenu
Comment utiliser Xenu
optimisation hébergement wordpress
Super howto wordpress (En)
Test de charge serveur web - Load impact
VPN - ROUTEUR - LAN:
Zeroshell - le mini-routeur wifi tout en un
Retroshare, votre réseau d'échange crypté!
Openvpn sur centos redhat
Intégrer Linux dans active directory
Routage inter-vlan avec Linux
Routage avec OSPF
Network Weathermap
TENDANCES - WEB:
Boutons twitter
Analyser les tendances des recherches Google
Protocole sitemap - robots.txt
Creer des animations CSS3
Code php pour interagir avec twitter
E reputation
Jquery
TRUCS ET ASTUCES GNU/LINUX :
Tuxmachines.org - Actus et tips linux
Configurer GRUB2 et grub2 ici
Panoet - en anglais - tips & tricks
Readylines tips and trick pertinents
Squid Clamav - proxy antivirus
Apprendre Unix en 10 minutes
13 tips sur les expressions régulières
IE Sous linux IES
LDAP 2.4 Quickstart guide
Tutoriel LDAP
Installation annuaire LDAP
Serveur Mail Postfix - Dovecot - LDAP - MDS
Créer un linux personnalisé en ligne - custom linux
Super site sur linux - en
Capistrano - déploiement automatisé
MONITORING :
Nagios tutoriel et doc
Nagios plugin NRPE tuto
Nagios plugin NRPE autre tuto
Nagios plugin NRPE officiel
Zabbix - fonctionnalités
Zabbix - installation
Guide MRTGsys - grapher la charge locale
MRTGsys - ajouter des graphs
MRTGsys - interpréter les données
Shinken - Monitoring
Thruk Monitoring webinterface
Shinken - Tutoriel
Shinken - Référence chez Nicolargo
AUTRES LIENS :
RemixJobs IT jobs
USB Multiboot
Reset mot de passe windows
Java python et autres tips, intéressant !
Forum inforeseau
Open Clipart
Excellent comic en ligne
Inforeseau.fr