Auteur Sujet: Utiliser un serveur Linux à la place de la freebox pour débrider la connexion  (Lu 63157 fois)

0 Membres et 2 Invités sur ce sujet

Pilou42

  • Client Bbox fibre FTTH
  • *
  • Messages: 88
  • Lyon 9ème (69)
But du topic: Ne pas passer par la Freebox pour récupérer Internet.

Raison: Les limitations matérielles de la Freebox empêchent de profiter du très haut débit.

Comment ? En passant par un serveur Linux

A qui ce topic s'adresse-t-il principalement ?
Aux Freenautes qui sont en Fibre optique et qui disposent d'un convertisseur optique.

Un convertisseur optique ? Comment on obtient ça ?
Certains Freenautes se sont retrouvés avec une Freebox optique V5, avec un convertisseur optique déporté. Ce convertisseur est de bonne qualité, comparé à la Freebox qui est très limitée matériellement (impossible de dépasser les 20 Mb/s en mode routeur/NAT).
Il est toutefois possible de se procurer un convertisseur optique en dehors de Free. Vous pouvez faire une recherche sur ce forum (indice: boitier + SFP). Peut-être que prochainement un topic unique sera créé pour ce sujet.

J'ai une super connexion ADSL ? Est-ce que ce tutoriel peut s'appliquer à moi ?
Pourquoi pas ? Il faut juste remplacer le convertisseur par un Modem afin de récupérer la connexion. Le débit sera peut-être meilleur, peut-être pas; peut-être que ce tuto vous permettra d'approfondir vos connaissances réseau...

J'ai la Freebox Revolution ? Est-ce que ça vaut le coup ?
Vous aurez peut-être un meilleur débit, mais le surcoût du convertisseur + Serveur dédié ne sera sûrement pas intéressant. Mais comme dans le cas précédent, ça peut vous permettre de progresser en réseau ou en Linux.

Bon, ça c'est de la théorie, mais en réalité, ça change quoi ?
Lorsque je me connecte derrière ma Freebox V5, un téléchargement plafonne à 2Mo/s (en Ethernet, comme en Wifi N).
En passant par un serveur Linux à la place de la Freebox, j'obtiens jusqu'à 110 Mo/s, notamment en contournant une limite de Windows.

Est-ce que les vidéos Youtube se chargent plus vite ?
NON. Seule la connexion [ NRO <-> Mon Serveur Linux ] est améliorée grâce à ce tuto. Je n'ai pas la main sur le lien [ NRO <-> Serveur Youtube ]. Plus de détails dans la partie "Peering" de ce forum.

Bof ? Quel intérêt du coup ? Peu de serveurs permettent de profiter de cette bande passante...
C'est en partie vraie. De plus, je ne suis pas à l'abri que Free mette en place un bridage si leur matériel n'arrive pas à suivre.
Mais la différence, c'est que je ne suis pas limité par le matériel chez moi. J'ai repoussé la limite, c'est à Free de faire la prochaine évolution (c'est à dire au niveau du NRO, un connecteur 10Gbits).

Avec cette méthode, on ne perd pas des fonctionnalités (TV, routeur, Wifi, SIP) ?
NON. La Freebox sera branchée au serveur Linux. Plus de détails plus bas.


Installation classique:

NRO (1Gbit/s) <--Fibre optique--> Convertisseur optique (1 Gbit/s) <--Ethernet--> Freebox (100 Mbit/s) <== Ethernet ou Wifi ==> Pc1 + Pc2 (20 Mbit/s avec la NAT)


Installation Non bridée:

NRO (1Gbit/s) <--Fibre optique--> Convertisseur optique (1 Gbit/s) <--Ethernet--> PC Linux (1 Gbit/s)


PC Linux (1 Gbits/s en Ethernet ou Point d'accès Wifi perso)
 |--> 1 Gbit/s --> PC ou switch Ethernet
 |--> 300 Mbit/s en Wifi --> Smartphone, Équipement perso.
 |--> 100 Mbit/s --> Freebox (avec routeur, Wifi + Freebox TV)
 
 

Matériel nécessaire
Une tour sous Linux avec:
- 1 carte réseau Ethernet pour récupérer Internet (pas le choix)
- 1 carte réseau Ethernet pour renvoyer vers la Freebox (en fait, uniquement pour récupérer la Freebox TV; si vous n'êtes pas intéressé par la Freebox TV, vous pourrez vous passer de cette étape et ranger vos Freebox dans un placard)
- 1 carte réseau Ethernet pour redistribuer la connexion à un autre PC ou à un switch.
- 1 carte Wifi (ou clé USB) afin de servir de point d'accès (pas forcèment nécessaire, puisqu'on peut utiliser le Wifi de la Freebox, mais avec une clé USB à 20€, les clients connectés -et bien équipés- pourront télécharger à 20 Mo/s, alors qu'avec la Freebox, ce sera 2 Mo/s)

À noter que pour profiter de tels débits, il vaudra mieux avoir un SSD, le HDD n'arrivera pas à suivre.

Pilou42

  • Client Bbox fibre FTTH
  • *
  • Messages: 88
  • Lyon 9ème (69)
Passage plus technique:

C'est le moment d'aborder la notion de bridge et de Vlan. Désolé, il faut faire des recherches sur Google pour comprendre à peu près à quoi servent un Vlan et un Bridge (c'est pas compliqué, il faut juste lire 2-3 trucs).

Voici ce qu'il va falloir réaliser avec notre serveur Linux:



Oui, le réseau de Free est découpé en 2 Vlans: un pour la TV et d'autres services Free (Vlan 835), et un pour Internet pour le particulier (Vlan 836)

Le but est donc de ne pas toucher au Vlan 835 et le laisser aller tel quel à la Freebox, afin qu'elle puisse communiquer avec la Freebox TV (au passage, il semble que cette connexion entre les 2 utilise le Vlan 100 en VPN).

Le plus embêtant, surtout quand on n'est pas un expert Linux, ça va être de récupérer Internet depuis le Vlan 836, et le redistribuer à tout le monde (Freebox, carte Wifi, ainsi que la 3ème interface Ethernet).


C'est parti ! Il faut installer une distribution Linux. Perso, j'ai choisi Mint parce que j'ai vu que c'était elle la plus populaire sur DistroWatch, mais ce tuto doit fonctionner pour d'autres distributions basées sur Debian (Ubuntu notamment). Par contre, ça ne fonctionnera pas sur du RedHat, Suse, Slackware et je ne sais quel autre nom barbare (Oui, désolé, il faut savoir que je ne suis pas un grand fan de Linux ! ^^).
Si vous êtes un expert linux, ce tuto va peut-être vous sembler d'un niveau affligeant, mais bon, je ne suis pas du tout un expert, et taper des lignes de commande, j'ai horreur de ça...

Pour l'installation, il faut une connexion Internet, donc il faudra bien relier la Freebox à un port Ethernet (le convertisseur toujours branché à la Freebox).

Une fois l'installation terminée, il va falloir récupérer le nom des différentes cartes réseau. Il suffit de brancher la Freebox sur chacune des prises Ethernet afin de savoir laquelle récupère une adresse IP. Vous devriez avoir quelque chose comme Eth0, Eth1, Eth2 et wlan0 pour le Wifi.

Tant que vous avez Internet, vous allez vite télécharger des packages qui nous seront utiles. Pour ça, on ouvre un terminal. On tape "sudo -s" puis entrée, puis son mot de passe; voilà, comme ça on est tranquille, on peut faire ce qu'on veut. Donc, on tape ces commandes, l'une après l'autre:
apt update
apt install vlan
apt install bridge-utils
apt install isc-dhcp-server
apt install hostapd


Voilà, avec ça, on a toutes les API pour rendre fonctionnel notre plan de départ. Vous pouvez brancher le convertisseur directement sur un port de votre PC.

Pour la suite de la configuration, on va considérer que:
- le convertisseur est connecté sur le Eth0
- La Freebox est connectée sur le Eth1
- la 3ème carte Ethernet (pour switch ou autre PC) sera la Eth2
- La carte Wifi sera la Wlan0

N'oubliez pas d'adapter votre configuration si vous n'avez pas les mêmes noms.
« Modifié: 14 mai 2013 à 16:30:25 par Pilou42 »

Pilou42

  • Client Bbox fibre FTTH
  • *
  • Messages: 88
  • Lyon 9ème (69)
C'est parti pour la configuration de fichier. Vous utilisez la manière que vous voulez. Perso, j'ouvre un explorateur, je trouve mon fichier à modifier, je fais un clic droit, "ouvrir en tant qu'administrateur". (Windows style yeah !)

Fichiers à modifier (à comprendre si possible, et à adapter):
D'abord configuration réseau globale: /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

iface eth0.835 inet manual
iface eth1.835 inet manual
iface eth1.836 inet manual

auto br1
iface br1 inet manual
bridge_ports eth0.835 eth1.835
post-up echo 0 > /sys/devices/virtual/net/br1/bridge/multicast_snooping


auto eth0.836
iface eth0.836 inet dhcp

auto br2
iface br2 inet static
bridge_ports eth1.836
address 192.168.48.1
netmask 255.255.255.0
network 192.168.48.0

auto eth2
iface eth2 inet static
address 192.168.49.1
netmask 255.255.255.0
network 192.168.49.0

auto wlan0
iface wlan0 inet static
address 192.168.50.1
netmask 255.255.255.0
network 192.168.50.0


post-up iptables-restore < /etc/iptables_rules.save

Puis le serveur DHCP: /etc/dhcp/dhcpd.conf
#
# Sample configuration file for ISC dhcpd for Debian
#
# Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
# configuration file instead of this file.
#
#

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "test.test";
option domain-name-servers 212.27.40.240, 212.27.40.241;

default-lease-time 604800;
max-lease-time 604800;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

subnet 192.168.49.0 netmask 255.255.255.0 {
        range 192.168.49.90 192.168.49.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.49.255;
        option routers 192.168.49.1;
}

subnet 192.168.48.0 netmask 255.255.255.0 {
        range 192.168.48.90 192.168.48.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.48.255;
        option routers 192.168.48.1;
}

subnet 192.168.50.0 netmask 255.255.255.0 {
        range 192.168.50.100 192.168.50.200;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.50.255;
        option routers 192.168.50.1;
}

Puis le point d'accès Wifi: /etc/hostapd/hostapd.conf
Pour ça, il faudra d'abord créer le fichier, avec cette commande sudo:
> /etc/hostapd/hostapd.conf
interface=wlan0
#bridge=br0
driver=nl80211
ssid=NomDeVotreReseau
hw_mode=g

wme_enabled=1
ieee80211n=1
ht_capab=[HT20][HT40-][HT40+][SHORT-GI-20][SHORT-GI-40][RX-STBC1][DSSS_CCK-40][MAX-AMSDU-3839]

channel=6
wpa=2
wpa_passphrase=LaCleQueVousVoulez
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
macaddr_acl=0
auth_algs=1

# Beacon interval in kus (1.024 ms)
beacon_int=100

# DTIM (delivery trafic information message)
dtim_period=2

# Maximum number of stations allowed in station table
max_num_sta=255

# RTS/CTS threshold; 2347 = disabled (default)
rts_threshold=2347

# Fragmentation threshold; 2346 = disabled (default)
fragm_threshold=2346

ignore_broadcast_ssid=0

Et enfin, on force le démarrage automatique du point d'accès: /etc/default/hostapd
chercher la ligne qui commence par DAEMON_CONF afin de mettre ça:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Une fois que les fichiers ont été modifiés, il faut redémarrer (oui, il y a sûrement d'autres moyens, des commandes ou autres, mais en tant que newbie, je me suis aperçu que rien ne valait un bon redémarrage).
Au redémarrage, Mint va peut-être bloquer pendant quelques secondes en affichant "Network Configuration", je sais pas trop pourquoi mais bon...

Si tout se passe bien, normalement, vous devriez avoir Internet. Si ce n'est pas le cas, c'est la mer**, et il va vous falloir comprendre pourquoi (confusion de EthX ?).

Pour faire fonctionner la Freebox la carte Eth2 et le Wifi, on active la NAT avec ces 2 commandes (terminal puis "sudo -s"):
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0.836 -j MASQUERADE

Normalement, la Freebox devrait afficher l'heure, et la carte Eth2 devrait bien distribuer une adresse IP au PC connecté dessus.
Si tout fonctionne, vous pouvez taper cette commande:
iptables-save > /etc/iptables_rules.save
Comme ça, on n'aura pas à taper la commande "MASQUERADE" à chaque fois.
Puis modifier le fichier /etc/sysctl.conf en "décommentant" la ligne
net.ipv4.ip_forward = 1
Voilà, normalement, tout est fonctionnel (une fois qu'on sait faire, c'est carrèment rapide, comparé à ce pavé !) et si vous redémarrez, tout devrait fonctionner sans que vous n'ayez quelque chose à faire.

Quelques explications:

Il faut bien comprendre le fichier "interfaces", qui reprend le schéma que l'on voulait au départ:
- On récupère et on sépare les 2 Vlan proposés par Free;
- On fait un "bridge" pour le Vlan 835 (TV) afin de le renvoyer tel quel pour la Freebox;
- On récupère Internet par le Vlan 836 (Eth0.836);
- Notre serveur DHCP se charge de distribuer des adresses IP à nos différentes interfaces.
- À noter qu'il faut faire un "bridge" pour l'interface Eth1.836 afin de lui associer une adresse IP manuelle (je n'ai pas réussi à attribuer d'adresse IP locale à l'interface Eth1.836). Le serveur DHCP est ensuite capable d'attribuer une adresse Ip à la Freebox.
- Pour la configuration du Wifi, n'hésitez pas à faire des recherches pour faire fonctionner le Wifi N, notamment grâce à la commande iw list.


Je dois réinstaller Linux la semaine prochaine. Je testerai cette procédure, et corrigerai des choses au besoin.
« Modifié: 14 mai 2013 à 19:58:39 par Pilou42 »

Pilou42

  • Client Bbox fibre FTTH
  • *
  • Messages: 88
  • Lyon 9ème (69)




Je n'ai pas le courage de faire des photos du matériel en lui-même (trop exigu), mais ça reproduit vraiment le schéma de départ.

Sinon, voici quelques débits en download à titre indicatif sous Windows à partir du site testdebit.info:
- Avec Google Chrome: 95Mo/s
- Avec Firefox: 30 Mo/s
- Internet Explorer: 90 Mo/s

Bon quelquefois, les téléchargements ne parviennent pas à décoller et se bloque à 7.5 Mo/s, surtout avec Firefox. Je ne sais pas à quoi c'est dû, mais il y a 2 possibilités: soit c'est Windows, soit c'est le serveur testdebit.info.
En tout cas, on remarque que Firefox est bridé (par Windows comme le suggère Vivien ?). À noter également que mon débit semble un peu plus faible qu'avec ma précédente carte réseau (je me rappelle avoir atteint 110 Mo/s).


Concernant l'upload sous Windows, les résultats sont moins bons, ça oscille entre 30Mo/s et 40 Mo/s. Je ne sais pas si c'est lié au serveur Linux ou à Windows.


Voilà pour un 1er bilan des performances.
« Modifié: 14 mai 2013 à 19:49:02 par Pilou42 »

vivien

  • Administrateur
  • *
  • Messages: 26 853
    • Twitter LaFibre.info
Merci pour ce tutoriel qui explique comment tout faire de A à Z.

J'ai déplacé les discussions sans lien direct avec le sujet dans le post Éditer un fichier de config linux sans ligne de commande

corrector

  • Invité
À noter que si on ne désire pas avoir deux sous-réseaux séparés pour le filaire et le Wifi, on peut faire un pont entre wlan0 et eth2.

On doit aussi pouvoir faire la même chose avec seulement 2 interfaces Ethernet sur le PC.

On doit aussi pouvoir faire la même chose une seule interfaces Ethernet sur le PC et un switch filtrant les VLAN.

Pilou42

  • Client Bbox fibre FTTH
  • *
  • Messages: 88
  • Lyon 9ème (69)
À noter que si on ne désire pas avoir deux sous-réseaux séparés pour le filaire et le Wifi, on peut faire un pont entre wlan0 et eth2.
Non. Ça n'a pas de sens et ça n'a aucun intérêt
Citer
On doit aussi pouvoir faire la même chose avec seulement 2 interfaces Ethernet sur le PC.
Cette phrase n'a aucun sens et n'a aucun intérêt.
Citer
On doit aussi pouvoir faire la même chose une seule interfaces Ethernet sur le PC et un switch filtrant les VLAN.
Tu n'es pas sûr de la faisabilité, et de plus ça n'a aucun intérêt. Autant laisser notre Linux faire à maximum de chose.

BadMax

  • Client Free adsl
  • Modérateur
  • *
  • Messages: 3 350
  • Malissard (26)
Ah désolé mais pour une fois il a raison. Les 3 cas sont parfaitement réalisables.

Pilou42

  • Client Bbox fibre FTTH
  • *
  • Messages: 88
  • Lyon 9ème (69)
C'est possible, mais je ne vois pas l'intérêt (ou alors tuto avec explications intérêts + configuration svp).

kgersen

  • Client Orange Fibre
  • Modérateur
  • *
  • Messages: 4 708
  • FTTH 1Gb/s sur Paris (75)
on doit pouvoir aussi faire ça avec un routeur gigabit sous OpenWRT ou DD-Wrt.
Par contre on aura moins de débit en NAT (ca plafonne a 400 Mbs pour les routeurs grand public) mais niveau budget c'est imbattable (80€).

BadMax

  • Client Free adsl
  • Modérateur
  • *
  • Messages: 3 350
  • Malissard (26)
À noter que si on ne désire pas avoir deux sous-réseaux séparés pour le filaire et le Wifi, on peut faire un pont entre wlan0 et eth2.

But: n'avoir qu'un seul réseau IP quel que soit le mode de connexion. Facile la gestion des applications multicast (uPNP) et des réseaux Microsoft (partage de dossiers).
Comme décrit, suffit d'avoir un bridge entre wlan0 et la carte gérant le LAN.

On doit aussi pouvoir faire la même chose avec seulement 2 interfaces Ethernet sur le PC.

Permet d'éviter d'avoir 36 interfaces sachant qu'il est plus facile de n'avoir que 2 cartes réseaux (carte mère avec deux ports intégrés ou CM avec port intégré + vieille carte PCI).
Coté réalisation, soit on utilise un switch supportant les Vlans soit on utilise un switch transparent aux Vlans en laissant le trafic de la Freebox taggué et en mettant le LAN en vlan natif (sans tag, appelé aussi vlan par défaut). C'est un peu plus tordu comme solution.

On doit aussi pouvoir faire la même chose une seule interfaces Ethernet sur le PC et un switch filtrant les VLAN.

Là, le switch manageable et supportant les Vlans est obligatoire. Intéret : n'utiliser qu'une seule carte réseau. Bonus : utiliser un ESXi (ou autre hyperviseur) et gérer les Vlans à l'intérieur avec affectation sur les VM sans utiliser le tagging -> ça simplifie la config à l'intérieur de la VM. C'est ce que je fais chez moi (qui a dit "espèce de tordu !" ???).



vivien

  • Administrateur
  • *
  • Messages: 26 853
    • Twitter LaFibre.info
Pour la configuration avec une seule carte réseau, on sera limité à 1 Gb/s en incluant le sens down et le sens up alors qu'avec deux caertes réseaux, on peut faire 1 Gb/s dans chaque sens.

En effet avec une seule carte réseau, le trafic passe deux fois : une fois en entrée et une fois pour sortir.

 

Mobile View