J’hésite à poster ce topic dans la section supports, mais il se peut que ce soit trois fois rien et que ça ne vaille pas le coup.
J’ai installé Wireguard via Yunohost, je peux accéder à l’interface graphique avec le QR code.
J’ai également pi-Hole installé dessus (ça a peut-être son importance niveau DNS).
Mon serveur contenant toutes ces applications n’est pas chez moi (ça aussi ça a peut-être son importance).
J’ai donc voulu tester la connexion avec un smartphone : je télécharge l’application “wireguard” sur android (via F-droid) > je scan le QR code > j’active la connexion VPN et là > rien (les pages web ne s’affichent pas).
Qu’en pensez-vous ?
mauvais setup ?
une histoire de DNS ?
j’ai utilisé un smartphone car je ne sais pas comment utiliser Wireguard via un PC sous Linux (Debian), y a-t-il une manière facile de tester aussi sur Linux ?
si j’arrive à me connecter, suis-je censé voir mes dossiers réseau comme le ferait un partage Samba ?
(c’est tout à fait du support d’apps, je change la catégorie . Mais ça sera peut-être à moi de corriger l’app ou les instructions. )
Il y a une info que tu n’as peut-être pas vue sur le forum ou dans le README de WireGuard. Désolé, je copie-colle les instructions en anglais.
Routing instructions for server
Enable port forwarding:
sudo nano /etc/sysctl.conf
# Uncomment the following lines:
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
# Save and quit (CTRL+O, CTRL+X)
sudo sysctl -p
Copy the following commands in WireGuard Server menu, and replace eth0 with the interface connected to the Internet. If you do not know it, check the command ip a.
Save and apply configuration to restart the server after setting up the commands.
Post Up Script
iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i %i -j ACCEPT; ip6tables -A FORWARD -o %i -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Regarde aussi les logs dans l’application wireguard sur ton téléphone, chez moi ça boucle sur la tentative de handshake (et je n’ai pas pris le temps de creuser)
Merci pour le readme, j’ai donc mis à jour le Serveur avec les instructions proposées en remplaçant eth0 par wlps0 (car ip a me donne celui-ci comme étant UP).
J’ai ensuite connecté le smartphone avec l’application, en lançant un ping 9.9.9.9 comme l’a suggéré @ljf , sans succès (19 paquets envoyés 100% loss).
@Mamie : pour les logs, j’ai du rouge sur la phrase :
reguard.androi: failed to connect to jpwp control socket: Connection refused
Et du noir, je présume un peu moins grave (ou pire qui sait) :
NoetworkSecurityConfig: No Network Security Config specified, using platform default
Quasiment tout le reste étant en vert. Je parle pas le dragon du coup je ne sais pas si ça a un rapport avec ma config.
Dois-je désactiver pi-Hole pour faire mes tests svp ?
En plus d’avoir fait Save, as-tu fait Apply config?
Dans un premier temps, non. Les tests avec ping ne nécessitent pas de DNS.
Idem pour ta question sur dnsmasq. La première étape est d’obtenir un ping vers l’extérieur.
Si FTLDNS est sur la même machine (c’est le cas), alors oui cette remarque est toujours d’actualité.
Si ce n’est pas un VPS, as-tu ouvert le port dédié à WireGuard sur le routeur?
Sur ton client, après t’être assuré d’avoir fait Save et Apply config du côté du serveur WireGuard, et relancé la connexion sur le client, peux-tu faire: sudo wg (tu peux enlever toute information identifiante du genre IP) ping 10.10.10.0 traceroute 1.1.1.1
et vice-versa, sur le serveur, tente de ping le client et partage le résultat de sudo wg.
Oui, j’ai bien cliqué sur Save, puis Apply config, dans cet ordre-là.
J’ai donc changé le fichier /etc/dnsmasq.conf et l’ai relancé avec systemctl restart dnsmasq. D’ailleurs, je viens de remarquer que mon service dnsmasq est en status exited :
systemctl status dnsmasq
● pihole-FTL.service - LSB: pihole-FTL daemon
Loaded: loaded (/etc/init.d/pihole-FTL; generated)
Active: active (exited) since Thu 2021-09-30 22:17:51 CEST; 20min ago
Docs: man:systemd-sysv-generator(8)
Process: 32501 ExecStart=/etc/init.d/pihole-FTL start (code=exited, status=0/SUCCESS)
Cliquer sur Démarrer (dans le panel admin de Yunohost) ne fait absolument rien. Le log associé est très court :
LOGFILE: journalctl
-- Logs begin at Sun 2021-09-26 06:41:31 CEST, end at Thu 2021-09-30 22:29:26 CEST. --
-- No entries --
Effectivement, c’est un serveur installé sur un ancien PC Intel (x86_64), et j’ai le port 8xxx bien ouvert, à la fois sur la Freebox (en UDP), mais également sur le panel Admin de Yunohost (en UDP aussi).
Alors :
sudo wg : no superuser binary detected. Are you rooted? → ne fonctionne pas sur LineageOS (peut-être parce qu’il me semble que le root est impossible depuis Android 9).
Pardon pour les questions bateau, mais on ne sait jamais. Tu arrives bien à contacter ton serveur outre le VPN?
J’avais zappé que tu étais sur un téléphone, et en effet ça va pas aider.
As-tu bien le rx qui augmente un peu (quelques Ko) quand tu lances la connexion depuis l’app?
sudo su
Alors si tu es sur une Debian 11 (bullseye), tu peux juste faire un apt install wireguard.
Sinon si tu es sur Debian 10 (buster): echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list
apt update apt install wireguard/buster-backports
Ensuite tu copies-colles le contenu, ou tu transfère le fichier wg0.conf téléchargé vers /etc/wireguard/wg0.conf. Et tu lances tout ça avec wg-quick up wg0.
Oui tu as raison de demander, j’ai bien accès à mon compte Yunohost, à son interface admin, et bien sûr au SSH également.
Alors là, tu risques de me trouver pas rusé : c’est quoi un rx ? tu parles du réseau ou c’est une commande ?
La bonne nouvelle, c’est que je suis sur bullseye du coup l’installation est facilitée, mais la mauvaise nouvelle (pas étonnant vu qu’on a un souci de connexion), est que la commande donne :
wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.10.10.1/32 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a tun.wg0 -m 0 -x
/etc/resolvconf/update.d/libc: 157: exec: run-parts: not found
run-parts: /etc/resolvconf/update.d/libc exited with return code 127
[#] ip link delete dev wg0
PS : j’ai bien téléchargé la config. J’ai remarqué sur Wireguard UI > Global settings qua j’ai mis comme DNS Servers l’adresse du server : 192.168.0.15 (c’est la seule adresse, et je pense que j’ai trifouillé ce point moi-même car je voulais pointer mon DNS vers le pi-Hole). Est-ce grave ?
Quant tu cliques sur ta config Wireguard, tu as une page qui décris les IPs, endpoints, etc. En bas tu as les données envoyées au serveur (tx) et reçues (rx).
Là par contre, je ne vois absolument pas le problème, il va falloir chercher sur les internets.
Terriblement! Dans mon cas j’y ai mis l’adresse IP du serveur VPN 10.10.10.0 (en plus de la config dnsmasq pour autoriser les connexions depuis le VPN):
(j’ai mis 1.1.1.1 en secours. Je te conseille plutôt un DNS de la FFDN)
Hello, merci pour ton aide, et désolé pour mon retour tardif, j’ai du préparer un entretien d’embauche et j’ai disparu dans une caverne pour imager un peu ^^
Merci ! Alors assieds-toi : j’ai pas trouvé ^^ !!! Je me rends sur wireguard UI : j’ai 3 options sur la gauche :
Wireguard Clients : rien dessus (même si je clique sur Edit sur un client)
Wireguard Server : idem, je n’ai rien
Global Settings : idem, rien du tout
On parle bien de Wireguard UI ?
J’ai ajouté les serveurs comme tu l’as fait, j’arrive à les mettre, mais ça ne résoud pas le souci.
Je pense que le problème est probablement là. Il faut que je creuse.
À ton avis, ne vaut-il mieux pas que je désinstalle/désactive Pi-Hole pour effectuer mes tests Wireguard ? Si oui, quel DNS dois-je rentrer ?
Enfin, je n’ai jamais redémarré mon serveur (car je suis à distance et le reboot via SSH éteint la machine sans la redémarrer correctement) après l’installation de wireguard et de pi-Hole : serait-ce un souci ?
C’est fait, je confirme d’ailleurs qu’il a fallu aller physiquement appuyer sur mon serveur pour le redémarrer (ça ne marchait pas en SSH).
En SSH, ça donne :
sudo dkms status
wireguard, 1.0.20210219, 4.19.0-17-amd64, x86_64: installed
Mais ça ne résoud pas le souci malheureusement. La commande wg-quick up wg0 depuis mon ordinateur client renvoit la même erreur que précédemment.
Sur un autre forum, ils suspectent un conflit entre NetworkManager et Wireguard avec une histoire de timer (j’ai pas tout capté). Pour résoudre son souci, la personne a dû relancer le VPN avec : wg-quick@integrity_vpn.service, pas sûr que j’ai le même souci, faudrait que je teste, si tant est que la commande soit la même via Yunohost.
Merci pour toutes ces précisions. Vu que ça commence à me titiller, j’ai :
désinstallé Pi-Hole,
puis j’ai fait un sudo yunohost tools regen-conf dnsmasq --force
j’ai redémarré le service Wireguard wg-quick@wg0 depuis l’interface Web admin
ce qui me permet de ne plus avoir le message d’erreur /etc/resolvconf/update.d/libc: 157: exec: run-parts: not found
et un wg-quick up wg0 m’affiche :
ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.10.10.1/32 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a tun.wg0 -m 0 -x
[#] wg set wg0 fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] nft -f /dev/fd/63
→ mais au final, même si ça semble se connecter depuis mon ordi portable, lorsque je vais sur un site type what’smyip, j’ai mon adresse IPV4 non reconnue, et mon adresse IPV6 reconnue (celle du client, pas du serveur). Donc c’est encore un échec. Chose intéressante, on remarque que la connexion wg-quick up wg0 n’affiche que des infos sur l’IPV4 et que l’adresse IPV4 sur what’smyip n’est plus reconnue. C’est comme si la connexion en IPV4 s’initialisait mais que tout ratait à cause de la fuite d’adresse en IPV6. Quand je fais wg-quick down wg0, mes 2 versions d’adresses clients IPV4 et IPV6 sont reconnues sur what’smyip.
J’ai pourtant configuré comme suit :
sudo nano /etc/sysctl.conf
# Uncomment the following lines:
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
# Save and quit (CTRL+O, CTRL+X)
sudo sysctl -p
Idem pour smartphone : échec avec très peu de tx et 0 rx. Incompréhensible.
Les x, c’est ton IPv6 en vrai ? Si oui, ça veut dire que tu communiques avec le site en IPv6, et du coup ça ne passe pas par ton VPN car il te manquerait peut-être une route.
Dans les AllowedIPs de tes clients, as-tu bien 0.0.0.0/0 (ça c’est sûr) et ::/0 (pour IPv6, ça j’en suis moins sûr) ?
(je parle vraiment au conditionnel, je suis une bille en réseau)