donc il faut faire du NAT quelque part.
1. as-tu le contrôle du routeur/box sur le réseau local du Pi ? Si oui tu peux installer une route dessus qui va pointer 192.168.2.0/24 vers le Pi. ("ip route 192.168.2.0/24 192.168.1.x").Dans ce cas le Pi n'a pas besoin d'iptables et doit juste router par défaut (/proc/sys/net/ipv4/ip_forward a 1). il faut aussi ajouter 192.168.2.0/24 en sortie du NAT dans le routeur.
2. sinon c'est au Pi de faire du NAT donc de partager son IP local (192.168.1.x) avec les clients wireguard qui eux sont en 192.168.2.y. C'est les commandes indiqués par renaud07.
donc à mettre dans le PostUp
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
et les inverses en PostDown.
Apres si tu ne veux pas trop apprendre les détails, utilise le script proposer par alegui: https://lafibre.info/attaques/quel-type-de-vpn-installer-sur-un-raspberry-pie-3/msg687366/#msg687366
Salut kgersen et renaud07 et encore merci pour votre aide.
J'ai donc créé un fichier firewall avec ceci dedans :
#!/bin/sh
### BEGIN INIT INFO
# Provides: firewall rules
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
#Suppression des règles précédentes
iptables -F
iptables -X
########
# DROP #
########
# Définition du blocage général
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Drop des scans XMAS et NULL
iptables -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
##########
# ACCEPT #
##########
# Conservations des connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Autorisation du loopback (127.0.0.1)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# WIREGUARD (51820)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
iptables -A OUTPUT -p udp --dport 51820 -j ACCEPT
# ICMP (Ping)
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
# Parer les attaques de type Déni de Service
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
# Parer les scans de ports
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Et au niveau du fichier wireguard j'ai :
Pour le client windows :
AllowedIPs = 0.0.0.0/0
Endpoint = xxx.xxx.xxx.xxx:51820
Pour le serveur :
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
J'avais une erreur de clé qui expliquait pourquoi je n'arrivais pas à faire de ping sur l'adresse du serveur en 192.168.2.x, c'est maintenant réglé.
J'ai accès à facebook et lafibre lorsque j'active le vpn, mais pratiquement aucun autre site. Est-ce une différence ipv4 / ipv6 ? Ou plutôt de DNS facebook et lafibre ne fonctionne plus si je les lance depuis un onglet de navigation privé de chrome,...
Je n'arrive par contre pas à faire de ping sur 192.168.1.254 (freebox) ou 192.168.1.6 (le rasp), j'ai le message défaillance générale en retour, seul 192.168.1.1 (mon pc) fonctionne.
En ping -6 j'ai le retour que l'hôte n'a pu être trouvé.
Il y a donc encore quelque chose qui ne va pas.