Optimiser qBittorrent avec AirVPN sur NAS Synology
Configuration Docker + GlueTUN. Port forwarding disponible pour maximiser votre ratio, à 3€/mois.
Ce guide a un but éducatif. monratio.fr n'encourage en aucun cas le piratage ou le téléchargement illégal de contenus protégés par le droit d'auteur.
Synology DS418play (Intel Celeron J3355, 2 Go de RAM), HDD classiques en SHR, fibre 800 Mb/s, Docker avec GlueTUN + qBittorrent + AirVPN (abonnement à 3€/mois).
Résultat mesuré : de 3 Mo/s à 25 Mo/s sur le même hardware, grâce au port forwarding AirVPN.
🐢 Pourquoi votre NAS rame
Votre NAS télécharge à 3 Mo/s alors que vous avez une fibre à 800 Mb/s ? Le coupable n'est pas votre connexion. C'est le protocole VPN que vous utilisez.
Il existe deux grandes technologies pour chiffrer votre trafic VPN :
Comparaison OpenVPN vs WireGuard sur NAS :
Dans mes tests, le passage de l'un à l'autre a multiplié le débit par 8 sur le même serveur AirVPN, sans rien toucher d'autre. C'est LA première chose à changer.
Et bonne nouvelle : AirVPN propose le port forwarding, ce qui est crucial pour maximiser votre ratio. Contrairement à Mullvad ou NordVPN qui ont supprimé cette fonctionnalité, AirVPN la maintient depuis toujours et à un prix imbattable (3€/mois).
OpenVPN = chiffrement userland, overhead CPU massif sur Celeron. WireGuard = kernel-level, zéro overhead. Résultat mesuré : ×8 en débit sur le même serveur AirVPN.
Benchmark DS418play (Celeron J3355) :
# OpenVPN (avant)
$ top
CPU : 98.2% user, openvpn pid 1234
$ iperf3 -c test.airvpn
[ 5] 0.00-10.00 sec 36 MBytes 30 Mbits/sec
# WireGuard (après)
$ top
CPU : 14.8% user, wireguard kernel
$ iperf3 -c test.airvpn
[ 5] 0.00-10.00 sec 240 MBytes 201 Mbits/sec Atout AirVPN : port forwarding natif et fixe (pas dynamique comme ProtonVPN). Une fois le port attribué, il ne change plus, pas besoin de script de mise à jour automatique.
Pourquoi la différence est si grande ? OpenVPN fait passer chaque paquet réseau par plusieurs couches logicielles avant de le chiffrer. WireGuard, lui, intercepte les paquets directement dans le noyau du système, là où c'est le plus rapide. Sur un PC avec un CPU puissant, vous ne verrez pas la différence. Mais sur un petit NAS, c'est le jour et la nuit.
🔑 Configurer le port forwarding AirVPN
C'est l'étape cruciale. AirVPN est l'un des rares VPN qui propose encore le port forwarding, et c'est ce qui va faire passer votre flamme d'orange à verte dans qBittorrent.
La démarche se fait en deux temps sur le site airvpn.org : d'abord réserver un port, puis générer la config WireGuard associée.
- Connectez-vous sur airvpn.org avec votre compte
- Allez dans Client Area → Forwarded Ports
- Cliquez sur "Add new port", sélectionnez un port aléatoire (ou choisissez le vôtre), validez
- Notez bien le numéro de port attribué, vous en aurez besoin partout
Client Area → Forwarded Ports :
Maintenant, générez votre config WireGuard avec le Config Generator :
- Allez dans Client Area → Config Generator
- Sélectionnez "Linux" comme plateforme
- Choisissez "WireGuard" comme protocole
- Sélectionnez un serveur en France (le plus proche = meilleur ping)
- Cliquez sur "Generate" et téléchargez le fichier
.conf
Ouvrez le fichier .conf avec un éditeur de texte. Vous y trouverez trois infos importantes :
Contenu du fichier .conf AirVPN :
[Interface]
Address = 10.150.x.x/32 ← Notez cette ligne
PrivateKey = xxxxx...xxxxx ← Notez cette ligne
DNS = 10.128.0.1
[Peer]
PublicKey = ...
PresharedKey = yyyyy...yyyyy ← Notez cette ligne
AllowedIPs = 0.0.0.0/0
Endpoint = france.vpn.airdns.org:1637 Gardez ces trois valeurs sous la main (PrivateKey, PresharedKey, Address). On va les coller dans le docker-compose à l'étape suivante.
Sur airvpn.org, deux étapes :
# 1. Client Area → Forwarded Ports → Add new port
Port forwardé : 54321 (exemple, fixe et permanent)
# 2. Client Area → Config Generator
Platform: Linux
Protocol: WireGuard
Server: France
# Récupérer dans le .conf :
PrivateKey = xxxxx
PresharedKey = yyyyy
Address = 10.150.X.X/32 Spécificité AirVPN vs ProtonVPN : le port est fixe, pas besoin de VPN_PORT_FORWARDING_UP_COMMAND pour synchroniser qBittorrent après reconnexion. Configuration plus simple et plus robuste.
Pourquoi AirVPN est un choix pertinent en 2026 ? Alors que Mullvad a supprimé le port forwarding en 2023 et que NordVPN ne l'a jamais proposé, AirVPN le maintient nativement. Combiné au prix imbattable (3€/mois en engagement long), c'est le meilleur rapport qualité/prix pour un seedbox-like sur NAS. Le port est fixe et permanent : pas besoin de script de synchronisation, c'est configuré une fois pour toutes.
🐳 Créer le docker-compose GlueTUN + qBittorrent
Docker est déjà installé sur votre Synology (depuis DSM 7.2, c'est Container Manager). On va utiliser Docker Compose qui permet de lancer plusieurs conteneurs en une seule commande.
On va lancer 2 conteneurs qui travaillent ensemble :
Créez un fichier docker-compose.yml dans /volume1/docker/qbittorrent/ et collez le code ci-dessous. Remplacez les valeurs entre crochets par celles récupérées à l'étape 2.
docker-compose.yml :
services:
gluetun:
image: qmcgaw/gluetun:latest
container_name: gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
environment:
- VPN_SERVICE_PROVIDER=airvpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=VOTRE_CLE_PRIVEE
- WIREGUARD_PRESHARED_KEY=VOTRE_PRESHARED_KEY
- WIREGUARD_ADDRESSES=10.150.x.x/32
- SERVER_COUNTRIES=France
- FIREWALL_VPN_INPUT_PORTS=54321
- TZ=Europe/Paris
ports:
- 9775:9775
volumes:
- /volume1/docker/gluetun:/gluetun
restart: always
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: "service:gluetun"
depends_on:
gluetun:
condition: service_healthy
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Paris
- WEBUI_PORT=9775
volumes:
- /volume1/docker/qbittorrent:/config
- /volume1/docker/qbittorrent/downloads:/downloads
restart: always Lancez ensuite les conteneurs. Dans Container Manager (DSM 7.2+), cliquez sur "Project" puis "Create", sélectionnez votre fichier docker-compose.yml et validez.
Décortiquons les lignes les plus importantes :
VPN_SERVICE_PROVIDER=airvpn: dit à GlueTUN d'utiliser les serveurs AirVPN. GlueTUN supporte nativement AirVPN depuis plusieurs versions.FIREWALL_VPN_INPUT_PORTS=54321: ouvre le port forwardé AirVPN dans le firewall de GlueTUN. Remplacez54321par le port attribué dans votre Client Area.network_mode: "service:gluetun": qBittorrent utilise le réseau de GlueTUN. Si le VPN tombe, qBittorrent perd Internet. C'est votre kill switch automatique.PUID=1026 PGID=100: les identifiants utilisateur/groupe sur Synology. Vérifiez les vôtres en SSH avecid.- Pas besoin de
UP_COMMANDcomme avec ProtonVPN : le port AirVPN est fixe et permanent, vous le renseignerez une seule fois dans qBittorrent.
Fichier /volume1/docker/qbittorrent/docker-compose.yml :
services:
gluetun:
image: qmcgaw/gluetun:latest
container_name: gluetun
cap_add: [NET_ADMIN]
devices: [/dev/net/tun:/dev/net/tun]
environment:
- VPN_SERVICE_PROVIDER=airvpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=<key>
- WIREGUARD_PRESHARED_KEY=<psk>
- WIREGUARD_ADDRESSES=10.150.x.x/32
- SERVER_COUNTRIES=France
- FIREWALL_VPN_INPUT_PORTS=54321
ports: [9775:9775]
volumes: [/volume1/docker/gluetun:/gluetun]
restart: always
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
network_mode: "service:gluetun"
depends_on: { gluetun: { condition: service_healthy } }
environment:
- PUID=1026
- PGID=100
- WEBUI_PORT=9775
volumes:
- /volume1/docker/qbittorrent:/config
- /volume1/docker/qbittorrent/downloads:/downloads Adaptation AirVPN : le port forwarding est fixe (pas dynamique comme Proton). Pas besoin de UP_COMMAND automatique. Le port se renseigne manuellement une seule fois dans qBittorrent (étape 4).
Déploiement :
# En SSH sur le NAS
cd /volume1/docker/qbittorrent
docker-compose up -d
docker logs -f gluetun # Vérifier "Wireguard is up" Le kill switch automatique. Grâce à network_mode: "service:gluetun", qBittorrent ne peut passer que par le VPN. Si GlueTUN s'arrête ou perd la connexion, qBittorrent perd Internet instantanément. Aucun risque de fuite de votre vraie IP, même pendant une fraction de seconde.
💾 Régler qBittorrent pour HDD classiques
Les disques durs mécaniques sont le deuxième goulot d'étranglement après le VPN. Un HDD lit/écrit à 100-150 Mo/s quand les données sont séquentielles. Mais BitTorrent télécharge par petits morceaux en désordre : c'est ce qu'on appelle les écritures aléatoires, et ça tue les performances.
L'astuce : utiliser la RAM du NAS comme tampon pour absorber ces écritures en vrac, puis les écrire sur le disque de façon plus ordonnée.
D'abord, on va renseigner le port AirVPN dans qBittorrent. Connectez-vous à l'interface web (http://IP-NAS:9775), puis allez dans Paramètres → Connexion :
Paramètres → Connexion :
FIREWALL_VPN_INPUT_PORTS.
Ensuite, allez dans Paramètres → Avancé :
Paramètres → Avancé :
Puis dans Comportement :
Paramètres → Comportement :
Connexion :
- Port d'écoute :
54321(port AirVPN fixe) - UPnP/NAT-PMP :
décoché
Paramètres → Avancé :
- Fils d'E/S asynchrones :
10 - Fils de hachage :
2 - Taille file disque :
1024Kio - Type E/S :
Compatible POSIX - Mode R/W E/S :
Cache du système d'exploitation - Affinité extension :
Oui
Comportement :
- Limite mémoire :
128 Mio(2Go) /512 Mio(4+Go) - Mémoire vérification :
128 Mio - Interface réseau :
tun0(kill switch)
Pourquoi upgrader la RAM fait une différence. Plus votre NAS a de RAM libre, plus le cache d'écriture peut absorber de données avant de les écrire sur le disque. Sur DS418play, passer de 2 Go à 6 Go coûte ~20€ et double facilement les débits sur HDD. C'est l'upgrade avec le meilleur rapport qualité/prix.
🎯 Limiter les torrents actifs
Ça peut sembler contre-intuitif : pourquoi limiter le nombre de téléchargements si on veut aller vite ? Parce que chaque torrent actif écrit sur le disque en même temps. Plus il y en a, plus le disque doit sauter entre des fichiers différents, et plus il ralentit.
C'est comme un serveur dans un restaurant : s'il sert 3 tables, tout va bien. S'il en sert 15, tout le monde attend.
Allez dans Paramètres → BitTorrent → File d'attente :
Résultat concret : passer de 15 torrents actifs à 3 peut doubler votre débit effectif sur HDD.
Paramètres → BitTorrent → File d'attente :
- DL actifs :
3 - UL actifs :
5 - Total actifs :
8 - Vérification :
1
Moins de torrents parallèles = I/O plus séquentielles = ×2 débit sur HDD.
📦 Préallouer l'espace disque
Dans Paramètres → Téléchargements, cochez "Préallouer l'espace disque pour tous les fichiers".
Que fait cette option ? Quand vous lancez un torrent de 20 Go, qBittorrent réserve immédiatement 20 Go d'espace continu sur le disque, avant même de commencer le téléchargement. Sans ça, les morceaux du fichier atterrissent un peu partout (fragmentation), ce qui ralentit tout : le téléchargement, le seeding, et même la lecture si vous utilisez Plex.
Le seul inconvénient : le démarrage d'un torrent prend quelques secondes de plus. Mais le gain en performance sur la durée en vaut largement la peine.
Paramètres → Téléchargements → cocher Préallouer l'espace disque pour tous les fichiers. Réduit la fragmentation HDD, améliore les perfs de seeding et de lecture Plex/Jellyfin.
✅ Vérification : la flamme verte
Une fois tout lancé, comment savoir si ça fonctionne ? Regardez en bas à droite de l'interface web de qBittorrent. Vous y verrez une petite icône de connexion :
Si l'icône reste orange, voici comment diagnostiquer :
- Vérifiez les logs GlueTUN : dans Container Manager, ouvrez les logs du conteneur
gluetun. Cherchez les lignesWireguard is upethealthy. Si elles n'apparaissent pas, la connexion VPN a échoué : revérifiez votrePrivateKey,PresharedKeyetAddress. - Vérifiez les 3 ports identiques : le port déclaré dans votre Client Area AirVPN, celui dans
FIREWALL_VPN_INPUT_PORTSdu docker-compose, et celui dans qBittorrent → Connexion doivent être strictement identiques. C'est l'erreur la plus fréquente. - Testez le port depuis AirVPN : dans votre Client Area → Forwarded Ports, il y a un bouton "Check" qui vérifie si le port est bien accessible depuis l'extérieur. Si ce test passe mais que qBittorrent reste orange, le problème vient du côté qBittorrent (mauvais numéro, interface tun0 pas sélectionnée).
CPU à 20%, RAM à 40%, Plex fluide en parallèle. Et tout ça pour 3€/mois.
Icône de connexion qBittorrent :
- 🟢 Verte : port ouvert, OK
- 🟠 Orange : port fermé, à corriger
Si orange :
# 1. Logs GlueTUN : vérifier la connexion WireGuard
docker logs gluetun 2>&1 | grep -i "wireguard\|healthy"
# 2. Vérifier les 3 ports identiques :
# - AirVPN Client Area → Forwarded Ports
# - docker-compose → FIREWALL_VPN_INPUT_PORTS
# - qBittorrent → Connexion → Port d'écoute
# 3. Test du port depuis airvpn.org
# Client Area → Forwarded Ports → Check
# 4. qBittorrent API : vérifier le listen_port
curl http://NAS_IP:9775/api/v2/app/preferences | jq .listen_port Résultats mesurés sur le setup testé. Avant : OpenVPN + réglages par défaut = 3 Mo/s. Après : WireGuard + AirVPN + réglages optimisés HDD = 25 Mo/s (×8). Le CPU tourne à 20%, la RAM à 40%, Plex continue de streamer pendant les téléchargements, aucun lag système. Le port forwarding AirVPN reste actif en permanence, sans script de synchronisation.
Pour aller plus loin : si vos HDD restent le goulot malgré tout, upgrader la RAM du NAS (sur DS418play, 2→6 Go pour ~20€) fait une vraie différence. Sinon, une seedbox pour les gros téléchargements est la solution ultime.
Vous avez votre NAS qui seed 24/7. Et le reste ?
Un seul abonnement AirVPN protège plusieurs appareils en simultané (5 par défaut). Continuez à sécuriser votre écosystème.