Sélectionner une page

Free a des problèmes de peering avec Google. C’est indéniable.

Free ne veut pas payer l’upgrade des lignes et supporter les modifications de trafic due à Google. C’est normal, c’est comme ça que fonctionne Internet depuis le début.

Ceci dit, c’est quand même nous, les utilisateurs, qui somment lésés car il est impossible d’aller sur Youtube le soir, et quasiment impossible d’y aller en journée.

Alors la solution, c’est de changer d’opérateur ? Que nenni …

On peut commencer par utiliser une des offres VPN qui pullulent, et dont ce n’est pas le but premier, mais on ne va pas s’attacher à des détails.

On peut aussi, quand on a loue déjà un serveur dédié chez OVH, installer un petit openvpn dessus, et l’utiliser ensuite pour surfer sur Youtube.

C’est ce que j’ai fait.

Je passerais sur la configuration de base de l’openvpn, c’est très bien détaillé dans différents sites sur Internet.

Cependant, j’y ai ajouté une couche de difficulté supplémentaire, qui est de faire en sorte que le serveur ne prenne en charge QUE le trafic vers Google.

Il suffit d’ajouter quelques lignes dans le fichier de configuration Openvpn :

push "route 74.125.0.0 255.255.0.0"
push "route 173.194.0.0 255.255.0.0"

Bon, vous allez me dire que si l’utilisateur est malin (et il le sera !) il peut tripoter la configuration de sa bécane pour qu’elle route TOUT son trafic via le VPN, risquant ainsi de faire passer des flux peu recommandable.

C’est pour cela que la configuration d’iptables sur le serveur VPN est un poil plus complexe :

#!/bin/bash
set -x

# Ressetting Firewall
iptables -F
iptables -t nat -F
iptables -X LOGGING

# Known networks
VPN="10.8.0.0/24"
GOOGLE="74.125.0.0/16,173.194.0.0/16"

# Interfaces
IFACE="eth0"
VFACE="tun0"

#Creating a LOGGING table for dropped packets

iptables -N LOGGING
iptables -A LOGGING -m limit --limit 60/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

# Allow traffic initiated from VPN to access "the world" only if destination is a Google address

iptables -A FORWARD -i ${VFACE} -o ${IFACE} -s ${VPN} -d ${GOOGLE} -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -j LOGGING

# Allow established traffic to pass back and forth

iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# Masquerade traffic from VPN to "the world" -- done in the nat table

iptables -t nat -A POSTROUTING -s ${VPN} -d ${GOOGLE} -o ${IFACE} -j MASQUERADE

Commentaires ouverts, lâchez vous.