"Traduction" de règles iptables

Bonjour,
Je teste wireguard (qui a l’air plus performant qu’openvpn). Pour le mettre en place, je dois ajouter des règles iptables glanées à gauche et à droite. N’étant pas spécialiste (loin de là), je les poste ici : quelqu’un pourrait-il me les traduire (me les vulgariser) ? Sont-elles nécessaire et à peu près securisées ?

iptables -A INPUT -s 192.168.10.0/24 -p udp --dport 51871 -j ACCEPT
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -A FORWARD -o wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

La première, on ouvre en entrée pour le sous-réseau wireguard.
wg0, pour ce que j’en comprends, est le périphérique virtuel créé et utilisé pour wireguard mais que fait exactement la chaine FORWARD ?
La dernière est encore plus floue.

Merci

Ces règles sont visiblement pour une machine servant de routeur, et non un simple poste client VPN. Quel est le rôle exact de cette machine ?

iptables -A INPUT -s 192.168.10.0/24 -p udp --dport 51871 -j ACCEPT

Autorise l’accès au port UDP 51871 local aux adresses sources 192.168.10.0. Je ne vois pas le rapport avec un VPN.

iptables -A FORWARD -i wg0 -j ACCEPT
iptables -A FORWARD -o wg0 -j ACCEPT

Autorise le trafic routé reçu et émis sur l’interface wg0 (qui est l’interface virtuelle du VPN je suppose)

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Fait du masquerading (NAT source) des connexions sortant par l’interface ethernet eth0.

C’est mon RPI, étant toujours allumé, il fait,dans ce cas office de « serveur » pour wireguard (pas certain que le terme employé soit exact…). Le but étant d’avoir accès à mon lan depuis l’extérieur au travers un tunnel wireguard.
Je me suis inspiré de ce tuto

Au temps pour moi, erreur de recopie de règle, c’est plutôt :

iptables -A INPUT  -p udp --dport 51871 -j ACCEPT

qui autorise les connexions sur le port d’écoute de wireguard.
Cette règle me parait pourtant indispensable, vu que quand je la supprime, la connexion à wireguard ne se fait plus.

Exact. Je comprends donc que ce sont ces règles qui permettent l’accès à mon lan, par exemple à un serveur samba situé sur un autre PC de mon lan.

Ça, je n’arrive pas à comprendre à quoi ça sert…

Sans l’option -s, ça change tout. Je ne voyais pas l’intérêt d’autoriser le port VPN à des adresses privées qui sont probablement celles de ton réseau local.

Et vice versa, accéder à ce qui est à l’autre bout du VPN depuis le LAN.

Si le RPi ne fait pas de partage de connexion internet, à rien. En revanche ça peut être utile s’il fournit l’accès internet aux clients VPN via le LAN, ça peut être utile.

Dsl pour le délai de réponse… Mais je voulais « tester » avec et sans ces règles pour voir.

Dans mon cas, le client wireguard n’a accès aux fichiers samba du lan et à internet (il a dans ce cas, l’ip publique du RPI) qu’avec les 4 règles données plus haut. Elles sont donc toutes visiblement indispensables pour wireguard.
Le masquerading permet ici aux clients wireguard d’utiliser l’ip public du RPi ?

Pour les clients, pas ou wireguard. Wireguard se fiche royalement que les clients aient accès aux partages Samba ou à internet, ce n’est pas son problème.
Si la règle NAT est nécessaire pour accéder au LAN et à internet, c’est que les routes sur les machines de ton LAN sont mal fichues (manque la route de retour vers le préfixe du VPN via la passerelle VPN).

L’adresse IP de son interface eth0, qu’elle soit publique ou privée.
Le RPI est connecté directement à internet avec une adresse IP publique ?

Non, il est derrière ma box, comme le reste de mon LAN. La box (192.168.1.1) fournit des adresses en 192.168.1.* par DHCP . Wireguard utilise des adresses en 192.168.10.* .
Sur mon RPI, eth0 a donc une adresse 192.168.1.6 et wgo est 192.168.10.1.
Je précise aussi que mon RPI fait office de serveur DNS via Unbound pour mon LAN.
La conf de NetworkManager du serveur smb du lan est donc :
IP : 192.168.1.2 (eno1) -> obtenue par DHCP grâce à la box
Route par défaut : 192.168.1.1 (box)
DNS : 192.168.1.6 (RPI)

Si je comprends bien, il faut donc ajouter une route dans le NetworkManager des machines de mon LAN ?
Ça se présente ainsi :
nm
J’avoue être largué, dsl…

Des machines qui doivent pouvoir communiquer avec les clients du VPN, ou bien de la box qui leur sert de routeur par défaut si elle le permet.

adresse de réseau : 192.168.10.0
masque : 255.255.255.0 ou longueur de préfixe /24
passerelle : 192.168.1.6 (le RPI)

Super, merci pour tous ces éléments !
Je vais prendre le temps de me pencher là-dessus.
A vous relire.