
Connexion Internet chez SwissNeutral.net avec mon Ubiquiti
Changement sur mon réseau, je configure mon Ubiquiti pour utiliser le réseau de Swissneutral.net
Voila quelque temps que je me lasse du comportement de mon Fournisseur d'Accès a Internet (FAI), et ces derniers temps il a redoubler de décision qui me dérange profondément. malheureusement la concurance dans ce secteur n'est pas vraiment possible, en tout cas pas a mon domicile :-/
Deplus il font tout pour perturber l'auto-hebergement, il est possible de contourner leurs contraintes mais ce n'est pas idéale.
Heureusement il y a SwissNeutral.net qui propose un service VPn (OpenVPN), pour pouvoir utiliser correctement une connexion internet (Ipv4, IPv6,,...)
J'utilise depuis quelques années déjà un routeur Ubiquiti EdgeRouter X, qui supporte OpenVPN, ça devrait être un jeu d'enfant. Mais je n'ai trouver que peu de documentations. Je vais donc vous racontez ce que j'ai fait.
entrons dans le vif du sujet.
Les bases de Ubiquiti EdgeOS
Comme ça fait longtemps que je n'ai pas retoucher la config du routeur, je remet ici quelques informations de bases
Je vais vous parler de l'administration en ligne de commande, il faut donc utiliser votre client SSH préférer. Ubiquiti edite EdgeOS baser sur une debian, on a donc nos repères.
on saisi la commande configure
pour entrer dans le mode de modification de la configuration.
Une fois dedans on a accès aux commandes suivantes :
set <path>
pour modifier un paramètreshow <path>
affiche les configuration qui exist pour ce niveau et tout les enfants (sans paramètre il affiche donc toutes la configuration du routeur)delete <path>
afin de supprimer une configuration (attention c'est reccursif)edit <path>
afin de se déplacer dans un dossier de la configuration et de ne plus taper que des chemin relatifdiscard
si on fait une bétise pour retourner à l'état précédent de la configuration.commit
pour appliquer les changement de notre configuration et vérifier qu'elle fonctionnsave
si on est contant de notre configuration et que l'on veut qu'elle soit charger lors des prochain démarrage.exit
pour quitter la configuration et revenir au bash classique
Établire le tunnel
Il faut au préalable avoir récupérer le dossier compresser qui contient vos fichiers de connexion sur le site de SwissNeutral.net
Je vais créer un dossier pour stocker la configuration sur le routeur, et ouvrir l'éditeur de texte sur le fichier qui contiendra la configuration.
mkdir /config/openvpn
vi /config/openvpn/snn.ovpn
Dans ce fichier il faut coller le contenu du fichier client.ovpn
qui se trouve dans les données que vous avez récuperer
ensuite on l'ajoute a la configuration (dans le mode configure donc) il est recommander d'utiliser un firewall je vais donc appliquer le mien. Pour le détail de la configuration du firewall je ne vais pas le traiter ici, il y a asser de documentation sur Internet, ou je le ferait dans un autre article.
set interfaces openvpn vtun0 config-file /config/openvpn/snn.ovpn
set interfaces openvpn vtun0 firewall in name WAN-IN
set interfaces openvpn vtun0
commit
Après le commit ip a
devrait retourner une nouvelle connexion avec vos IP
Configuration IPv4
Pour une raison qui mếchappe, malgrés le "replace-default-route" mes paquets continue a être router par ma connexion et non pas par le tunnel j'ai donc ajouter ces 2 route statique
set protocols static interface-route 0.0.0.0/0 next-hop-interface vtun0
set protocols static route x.x.x.x/32 next-hop 192.168.1.1
Il faut remplacer le x.x.x.x par l'IP du serveur VPN, ceci a pour but que les paquets a destination du serveur VPN continue a être correctement acheminé.
et bien sur le 192.168.1.1 par l'ip de la Box de votre opérateur.
Biensur pour pouvoir partager votre IPv4 avec vos machine locale, il faut crée un NAT
set service nat rule 5000 description snn
set service nat rule 5000 log disable
set service nat rule 5000 outbound-interface vtun0
set service nat rule 5000 protocol all
set service nat rule 5000 type masquerade
commit
Après ce commit vos paquets IPv4 devrait passer sans encombre via le tunnel
Si cela fonctionne bien je vous invite a faire un save
avant de continuer ...
Configuration de l'IPv6
Malheureusement La configuration automatique (ipv6pd) n'est pas disponnible via le tunnel OpenVPN sur edgeOS. Il faut donc configurer à la main
Swissneutral m'a attribuer un /48, j'ai donc tout loisire de choisir le subnet de mon réseau local. Je me suis renseigner sur le HEXSpeek ;-)
Quelques variable qu'il faut avoir en tête | Quoi | Exemple | Description |
---|---|---|---|
votre réseau | 1001:de30:9009::/48 | le traffic de toute les ip qui commance par ceci arrive sur votre routeur | |
prefix sous réseau | 1001:de30:9009:beef::/64 | votre sous réseau pour cette configuration. |
Je vais d'abord ajouter une IPv6 a l'interface local de mon routeur (chez moi switch0) puis configurer les RouterAdvertisement (voir le fonctionnement de l'IPv6)
set interfaces switch switch0 address <adresse de mon sous réseau>::1/64
set interfaces switch switch0 ipv6 router-advert max-interval 60
set interfaces switch switch0 ipv6 router-advert prefix <prefix sous réseau>::/64 {
set interfaces switch switch0 ipv6 router-advert send-advert true
Comme pour l'ip v4 je vais modifier la route mais cette fois aucun risque que le tunel soit prit dedans mon opérateur n'offrant pas vraiment d'ipv6.
set protocols static interface-route6 ::/0 next-hop-interface vtun0
commit
Et voila !
Si cela fonctionne aussi chez vous n'oubliez pas de faire un save
Conclusion
J'ai été agréablement surpris de la simplicité du processus (bien qu'il n'existe assez peu de documentation). Les performances sont tout a fait bonne je n'ai pas perdu de débit la latance a augmenter de 8ms a peut près ce que je trouve respectable.
Il ne me reste plus qu'a configurer les services que j'héberge chez moi pour profiter des avantages de cette connexion.
Si vous deviez rencontrez des difficultés avec ce que je dit plus haut contacter moi. ou si vous avez des questions voir même des remarques ;-)
@+