Je possède actuellement deux connexions fibre :
Un boitier OVB+ me sert, avec un abonnement chez OVH, à amalgamer les deux connexions afin d'augmenter le débit. Cela résultait du moment où je n'avais que l'ADSL et une connexion 4G avec beaucoup de données.
Afin de simplifier mon installation informatique, et de ne pas
laisser trop de bazar à mes successeurs j'ai décidé d'abandonner
l'abonnement mensuel à OVH. Mais il me restait le boitier et il serait
dommage de n'en faire qu'un simple switch.
C'est là que j'ai découvert OpenMptcpRouter (OMR) développé par Ycarus (Yannick Chabanois) avec qui j'ai été en relation sur son site Github de développement.
Avec son aide, j'ai réussi à faire de ce boitier un objet intéressant et utile.
A l'intérieur de la machine un DD appelé mmcblk0 avec deux partitions p1 et p2
Sur ce DD est installé la version latest.img d'OverTheBox (OTB) qui seul reconnait la carte réseau eth0.
Le
câble réseau provenant de la Freebox originellement branché sur le port
14 (RJ45) a été ramené sur le port 2. Le câble provenant de la Livebox
du 1er étage reste branché au port 13. Toutes les machines de mon réseau
192.168.3.0 sont ramenés sur le switch de l'OTB+.
Sur les ports USB à
l'arrière deux clefs USB l'une sda sur lequel on va installer le
firmware OMR x86_64-ext4-efi et l'autre sdb sur lequel on va installer
une debian 10
Sur l'un des ports USB de l'avant un câble rallonge avec au bout un hub usb 3 ports sur lequel on mettra une clef radio pour le clavier sans fil, une clef usb radio pour la souris (utile uniquement si on utilise Debian). Sur l'autre port USB de l'avant une carte réseau USB (eth1) connectée au port 11 du switch de l'OTB+
On connecte aussi un câble HDMI à un écran.
On prépare cette clef à l'aide d'Etcher sur Windows en y flashant
openmptcprouter-v0.57.3-r0+15225-bfc433efd4-x86-64-generic-ext4-combined-efi.img
On la place ensuite cette clef sur un des ports usb à l'arrière de l'OTB+ et on met en route l'OTB+. Au boot il faut tapoter sur la touche Sup jusqu'à ce que le setup du bios apparaisse. Il faut alors se déplacer jusqu'à choisir la clef usb pour booter. On va y revenir.
On prépare cette clef avec Etcher en flashant : debian-10.7.0-amd64-netinst.iso
On place cette clef sur le deuxième port usb à l'arrière et on boote sur cette clef au setup du bios.
On ne développera pas plus cette installation. Cependant c'est là que la carte réseau eth1 est intéressante car elle permet d'aller chercher les packages sur des dépôts Debian sur Internet.
En préalable il faut s'être procuré un VPS. Voir Etape 4 du tutoriel :
https://www.tutos-informatique.com/adsl-4g-agregation/
J'ai pour ma part choisi un modèle de VPS un peu supérieur à 6€ par mois avec Debian 10
Donc en tenir compte dans le wget
Une fois que le boot est terminé on valide, puis on entre le login : root
Il n'y a pas de mot de passe. En créer un immédiatement en tapant passwd . ATTENTION le clavier est en QWERTY
L'explorateur mc est installé donc taper : mc
Se déplacer à /etc/config et éditer network en tapant sur la touche F4
remplacer eth0 par eth1
Sauvegarder par F2 puis quitter mc par F10
Relancer alors le réseau par /etc/init.d/network restart
On peut voir si c'est bien pris en compte par : ifconfig | more (la touche | c'est shift µ)
On configure la carte réseau de l'ordinateur avec l'adresse IP : 192.168.100.242 masque : 255.255.255.0 passerelle et dns : 192.168.100.1
puis sur son firefox préféré https://192.168.100.1
On accepte le certificat.
On va immédiatement à réseau, interfaces, éditer lan, serveur dhcp puis cocher ignorer l'interface
Editer wan1 puis
Protocole adresse statique
Adresse IPv4 192.168.3.2
Masque-réseau IPv4 255.255.255.0
Passerelle IPv4 192.168.3.254
Ma Freebox a pour réseau 192.168.3.0 à adapter bien sûr.
Bouton vert Enregistrer.
Voir Etape 5 du tutoriel plus dans configuration avancée cocher Forcer le récupération des paramètres. l'onglet etat devrait alors afficher des coches vertes devant OpenMPTCProuter (192.168.100.1), devant votre VPS, et devant wan1
Par l'outil de votre choix, par exemple winscp sous windows, se
connecter avec le protocole SCP à l'hôte 192.168.100.1 avec nom
d'utilisateur : root et le mot de passe que vous avez choisi.
Se placer sur /lib/network . Renommer le fichier switch.sh en switch.bak par exemple.
Créer quelque part sur votre ordinateur windows un fichier switch.sh et copiez y le code suivant :
#!/bin/sh
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
# Avoid more than one switch
SINGLETON_COUNT=0
setup_switch_dev() {
if [ $SINGLETON_COUNT -gt 1 ]; then
return 1
fi
local name
config_get name "$1" name
name="${name:-$1}"
# Just silently skip switches we are not familiar with
# In the future it would be nice to be much more generic than that :)
if [ "$name" != "otbv2sw" ]; then
return 0
fi
SINGLETON_COUNT=$((SINGLETON_COUNT+1))
swconfig dev "$name" load network
}
setup_switch() {
config_load network
config_foreach setup_switch_dev switch
}
Le fichier switchOTB.pdf ci-dessous contient aussi ce code.
Copier ensuite ce fichier dans /lib/network/
A la fin du fichier existant copier (en éditant ce fichier dans winscp) le code suivant, qui est aussi dans le fichier networkOTB.txt ci-dessous :
config switch_vlan
option device 'otbv2sw'
option vlan '1'
option ports '16 15t'
config switch_vlan
option device 'otbv2sw'
option vlan '2'
option ports '1 2 3 4 5 6 7 8 9 10 11 12 17 18 15t'
config switch_vlan
option device 'otbv2sw'
option vlan '3'
option ports '13 15t'
config switch_vlan
option device 'otbv2sw'
option vlan '4'
option ports '14 15t'
config interface 'wan13'
option ifname 'eth0.3'
option multipath 'on'
option proto 'dhcp'
option ip4table '213'
option ipv6 '0'
option defaultroute '0'
option peerdns '0'
option metric '12'
option macaddr '24:1c:04:08:a0:38'
option auto '0'
option addlatency '0'
config interface 'wan14'
option ifname 'eth0.4'
option proto 'dhcp'
option ipv6 '0'
option ip4table '214'
option multipath 'on'
option defaultroute '0'
option peerdns '0'
option metric '16'
option auto '0'
option addlatency '0'
Bien sûr faire enregistrer.
On constate que les ports du switch sont dans la même option vlan '2'
L'interface wan13 est connectée en dhcp et reçoit une ip de la livebox5 dans le réseau 192.168.1.0
On croise les doigts et on relance le réseau sur la console ou par ssh :
/etc/init.d/network restart
Normalement un : ifconfig | more devrait indiquer les changements.
Un : route indique que les routes fonctionnent.
Destination Gateway Genmask Flags Metric Ref Use Iface
default
10.255.255.1 0.0.0.0
UG 0 0
0 tun0
default
192.168.3.254 0.0.0.0 UG 3
0 0 wan1
default
192.168.1.1 0.0.0.0
UG 4
0 0 wan2
default
192.168.1.1 0.0.0.0 UG
12 0 0
eth0.3
default 10.255.255.1
0.0.0.0 UG 1200
0 0 tun0
10.255.255.1
* 255.255.255.255 UH 0
0 0 tun0
10.255.255.2 * 255.255.255.255 UH 1200 0 0 tun0
51.*.*.162 192.168.3.254 255.255.255.255 UGH 0 0 0 wan1
127.0.0.0
*
255.0.0.0 U 5
0 0 lo
192.168.1.0
*
255.255.255.0 U 4 0
0 wan2
192.168.1.0
* 255.255.255.0 U
12 0 0
eth0.3
192.168.3.0 *
255.255.255.0 U 3
0 0 wan1
J'ai masqué l'adresse IP de mon VPS; wan2 est sur le support physique wan13 soit eth0.3
Pour fignoler ne pas lancer wan13 au démarrage car il y a conflit de passerelle avec wan2
J'ai
même mis mon android à la place de la clef radio souris avec modem USB
activé mais ça perturbe la connexion au tunnel. A améliorer.
Et aujourd'hui 14 février il y a 3 connexions dont l'usb (image en pièce-jointe où les adresses publiques ont été masquées) et à la fin du /etc/config/network on a ça :
config interface 'Android'
option modalias 'usb:v04E8p6863d0C00dc00dsc00dp00icE0isc01ip03in00'
option product '4e8/6863/c00'
option ipv6 '0'
option defaultroute '0'
option peerdns '0'
option proto 'dhcp'
option multipath 'on'
option addlatency '0'
option hostname '*'
option macaddr 'f2:44:b8:01:74:96'
option metric '14'
option ifname 'usb0'
J'ai aussi configuré les redirections de ports 22 et 443
origine l'entrée du tunnel soit donc le VPS et sortie le lan
192.168.100.1 et ça fonctionne.
Les débits mesurés par fing :
Internet Provider OVH (normal le VPS est chez OVH)
Download Upload
140,1 Mbps 95,5 Mbps
Alors qu'avec mon abonnement OVH j'avais :
88,4 Mbps 95, 2 Mbps
et Free seul :
92,6 Mbps 96,3 Mbps
A n'utiliser que si et seulement l'OTB+ est sur Debian, sinon des
dérèglements spatio-temporels incontrôlés, peut-être limités à notre
galaxie, peuvent se produire.
Installer à l'aide d'Etcher toujours sur une SD-Card le firmware :
openmptcprouter-v0.57.3-r0+15225-bfc433efd4-bcm27xx-bcm2711-rpi-4-ext4-factory.img
puis introduire la carte dans le raspi4. Par https://192.168.100.1 sur un ordinateur du réseau connecté en 192.168.100.241 masque 255.255.255.0 et de passerelle et DNS 192.168.100.1
désactiver immédiatement le DHCP du lan. Puis procéder à la configuration de wan1, on laisse wan2 inemployé puis à la configuration du VPS.
On mettra par la suite l'android configuré en modem usb sur un port usb du raspi4.