Bonjour,
Dans un fil précédent (" Tunnel openvpn - comment router tout le trafic dedans ou bien router simultanément le trafic d'un terminal/d'une fenêtre de navigateur/d'un process dans SON propre tunnel? "), j'avais creusé mon exploration de wireguard.
Et on avait aussi échangé sur ma difficulté avec la résolution de noms sur un poste de travail (j'avais été égaré par des pages incomplètes trouvées sur le net, qui m'avait fait installer resolvconf alors que NM, installé d'office avec le DE,
gérait bien la résolution des noms). Et on l'avait résolu. Merci pour ça.
J'ai besoin de diriger correctement tous les flux de chaque machine d'un réseau.
C'est classique pour un expert en réseau !
Mais ce n'est pas commode pour qui gère simplement le réseau de son poste de travail et de son serveur hébergé.
Ce réseau comporte :
- un serveur wireguard : configuré, opérationnel (il y a encore à apprendre mais il fonctionne)
- des clients wireguard : configurés, opérationnels (linux : Ok. iOS : Ok. Win : le client wg pose encore un problème car l'utilisateur n'est pas dans le groupe Administrators, ce qui rend l'UI wg inaccessible), avec tout le trafic envoyé vers le
serveur wg ou seulement une partie (d'après ce que j'ai compris, notammen tvia la directive wg "AllowedIPs")
- mon poste de travail : il se connecte en ssh (22/tcp) ou mosh (60001-60999/udp) à divers serveurs ; son réseau local est géré par NM (car installation d'un DE au moment de l'installation) qui gère aussi la résolution des noms (en générant le
fichier /etc/resolv.conf).
- divers serveurs web
- un serveur proxy en cours de configuration (Squid - apprentissage en cours) Plus tard, p ourront s'y ajouter un service de nom (bind) et un service de messagerie.
Pour réaliser ça, je suis persuadé qu'il faut parfaitement maîtriser les techniques de routage.
Cad le fw de chaque machine client ou serveur (iptables et ufw ; et sans doute aussi le nouveau [
https://www.nftables.org/ | nftables ] qui équiperait désormais debian 12 à la place d'iptables).
Et aussi le serveur proxy (Squid) qui gère les acl et les autorisations sur ces acl.
De plus, le vpn ( wireguard) a un fichier de conf qui comporte des directives (ex : PostUp et PostDown) qui appellent des commandes iptables et ufw, pour créer et supprimer automatiquement des routes.
Ça veut dire que pour maîtriser le routage, il faut comprendre et maîtriser tous ces composants.
Et j'en oublie peut-être.
Or, je connais un peu la syntaxe de iptables et de squid. Je sais aussi qu'il est possible de marquer des paquets pour ensuite les router conditionnellement.
Mais je n'ai jamais configuré de réseau complexe.
Ça concerne d'abord mon poste de travail qui me permet d'accéder à toutes ces machines.
Quand j'utilise un vpn (wireguard, désormais - merci NoSpam), je dois pouvoir finement diriger les flux selon l'application ou le port utilisé (CLI, navigateur, autre).
Ensuite, ça concerne chaque machine cliente (poste de travail) :
Le flux doit être dirigé vers le bon réseau selon l'endroit où elle se trouve (au bureau, à la maison, en mobilité) et le réseau d'interconnexion à internet (4G, WiFi, Ethernet).
- avec/sans vpn
- avec/sans proxy (privé ou commercial)
Il existe plein de manières de faire et d'outils pour un poste de travail :
- soit au niveau de l'application, en particulier au niveau du navigateur (FF propose l'extension Foxy proxy qui permet de choisir divers proxys et d'y ajouter des règles par réseau visé).
- soit au niveau du système complet
- soit à un autre niveau de la machine (que j'ignore)
- soit au niveau du LAN : le routeur peut rediriger automatiquement les flux de toutes les machines du réseau selon sa provenance et sa destination et assurer filtrage/cache (la loi obligerait à en informer les utilisateurs - à vérifier).
Enfin, chaque serveur doit être correctement connecté et routé.
Voici mes deux questions :
1/ Ai-je oublié quelque chose dans ma présentation pour atteindre mon objectif ?
Qu'est-ce qui n'est pas clair ?
Qu'est-ce que je dois encore apprendre ?
(notions : interface, routage d'un réseau à un autre, réseau source/destination, autorisation, acl/autorisation, ...)
2/ Sur le plan pratique, quel ordre dois-je suivre pour écrire les règles de routage sur ce réseau ?
Les outils d'infrastructure envisagés sont iptables/ufw/nftables, wireguard, squid.
J'ai potassé iptables, ufw (qui est simple à utiliser mais génère visiblement des tonnes de règles iptables sous le capot !).
Je découvre nftables, qui propose une commande iptables-translate pour traduire une phrase iptables en phrase nftables.
Puisque nftables est devenu la référence pour debian 12, est-ce que l'on peut tout faire de zéro en nftables ?
J'aimerais bien me lancer à l'eau en respectant les règles connues des habitués et experts réseaux.
Merci.
<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><style type="text/css" scoped="">
body {color: #000000; font-size: 10pt; font-family: "SansSerif", sans-serif; }
li { list-style: none; margin: 0; }
p { margin: 0; }
span.l { color: red; font-weight: bold; }
a.mapnode:link,
a.mapnode:visited,
a.mapnode:active,
a.mapnode:hover {
text-decoration: none; color: black;
}
a.mapnode:hover { background: #eeeee0; }
</style></div><div data-marker="__QUOTED_TEXT__" style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><div style="font-
family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><div>Bonjour,<br></div><div><br></div><div>Dans un fil précédent ("<span
class="subject" id="zv__CLV-main__CV__header_subject" title="Tunnel openvpn - comment router tout le trafic dedans ou bien router simultanément le trafic d'un terminal/d'une fenêtre de navigateur/d'un process dans SON propre tunnel?">Tunnel openvpn -
comment router tout le trafic dedans ou bien router simultanément le trafic d'un terminal/d'une fenêtre de navigateur/d'un process dans SON propre tunnel?</span><span class="info" id="zv__CLV-main__CV__header_info">"), j'avais creusé mon exploration
de wireguard.</span></div><div><span class="info" id="zv__CLV-main__CV__header_info">Et on avait aussi échangé sur ma difficulté avec la résolution de noms sur un poste de travail (j'avais été égaré par des pages incomplètes trouvées sur le net,
qui m'avait fait installer resolvconf alors que NM, installé d'office avec le DE, gérait bien la résolution des noms). Et on l'avait résolu. Merci pour ça.<br></span></div><div><span class="info"><br></span></div><div><span class="info" id="zv__CLV-
main__CV__header_info">J'ai besoin de diriger correctement tous les flux de chaque machine d'un réseau.</span></div><div><span class="info">C'est classique pour un expert en réseau !</span></div><div><span class="info">Mais ce n'est pas commode pour
qui gère simplement le réseau de son poste de travail et de son serveur hébergé.</span></div><div><span class="info"></span><br></div><div><span class="info" id="zv__CLV-main__CV__header_info">Ce réseau comporte :</span></div><span class="info" id="
zv__CLV-main__CV__header_info">- un serveur wireguard : configuré, opérationnel (il y a encore à apprendre mais il fonctionne)<br></span><div><div><span class="info">- des clients wireguard : configurés, opérationnels (linux : Ok. iOS : Ok. Win : le
client wg pose encore un problème car l'utilisateur n'est pas dans le groupe Administrators, ce qui rend l'UI wg inaccessible), avec tout le trafic envoyé vers le serveur wg ou seulement une partie (d'après ce que j'ai compris, notammen tvia la
directive wg "AllowedIPs")<br></span></div><div><div><span class="info">- mon poste de travail : il se connecte en ssh (22/tcp) ou mosh (60001-60999/udp) à divers serveurs ; son réseau local est géré par NM (car installation d'un DE au moment de l'
installation) qui gère aussi la résolution des noms (en générant le fichier /etc/resolv.conf).<br></span></div><div>- divers serveurs web<br></div></div></div><div><span class="info">- </span><span class="info" id="zv__CLV-main__CV__header_info">un
serveur proxy en cours de configuration (Squid - apprentissage en cours)<br></span></div><div><div><span class="info" id="zv__CLV-main__CV__header_info">Plus tard, p</span><span class="info">ourront s'y ajouter un service de nom (bind) et un service de
messagerie.</span></div><div><br></div></div><div><span class="info">Pour réaliser ça, je suis persuadé qu'il faut parfaitement maîtriser les techniques de routage.</span></div><div><span class="info"></span><br></div><div><span class="info">Cad le
fw de chaque machine client ou serveur (iptables et ufw ; et sans doute aussi le nouveau <a href="
https://www.nftables.org/" target="_blank" rel="nofollow noopener noreferrer" data-mce-href="
https://www.nftables.org/">nftables</a> qui équiperait dé
sormais debian 12 à la place d'iptables).</span></div><div><span class="info"><span class="info">Et aussi le serveur proxy (Squid) qui gère les acl et</span></span><span class="info"> les autorisations sur ces acl.<br></span></div><div><span class="
info"><span class="info">De plus, le vpn ( wireguard) a un fichier de conf qui comporte des directives (ex : PostUp et PostDown) qui appellent des commandes iptables et ufw, pour</span></span> créer et supprimer automatiquement des routes.<br><span
class="info"><span class="info"></span></span><span class="info"></span></div><div><span class="info">Ça veut dire que pour maîtriser le routage, il faut comprendre et maîtriser tous ces composants.<br></span></div><div><span class="info">Et j'en
oublie peut-être.</span></div><div><span class="info"></span><br></div><div><span class="info">Or, je connais un peu la syntaxe de iptables et de squid. Je sais aussi qu'il est possible de marquer des paquets pour ensuite les router conditionnellement.</
span></div><div><span class="info">Mais je n'ai jamais configuré de réseau complexe.</span></div><div><br></div><span class="info">Ça concerne d'abord mon </span>poste de travail qui me permet d'accéder à toutes ces machines.<div>Quand j'
utilise un vpn (wireguard, désormais - merci NoSpam), je dois pouvoir finement diriger les flux selon l'application ou le port utilisé (CLI, navigateur, autre).</div><br><div>Ensuite, ça concerne chaque machine cliente (poste de travail) :<br></div><
Le flux doit être dirigé vers le bon réseau selon l'endroit où elle se trouve (au bureau, à la maison, en mobilité) et le réseau d'interconnexion à internet (4G, WiFi, Ethernet).<br></div><div style="font-family: 'arial' , 'helvetica' , sans-
serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><div>- avec/sans vpn</div><div>- avec/sans proxy (privé ou commercial)<br></div><div><br></div>Il existe plein de
manières de faire et d'outils pour un poste de travail :</div></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #
000000;">- soit au niveau de l'application, en particulier au niveau du navigateur (FF propose l'extension Foxy proxy qui permet de choisir divers proxys et d'y ajouter des règles par réseau visé).<br>- soit au niveau du système complet</div><div
style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;">- soit à un autre niveau de la machine (que j'ignore)</div><div
style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;">- soit au niveau du LAN : le routeur peut rediriger
automatiquement les flux de toutes les machines du réseau selon sa provenance et sa destination et assurer filtrage/cache (la loi obligerait à en informer les utilisateurs - à vérifier).<br></div><div style="font-family: 'arial' , 'helvetica' , sans-
serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><br></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-
style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><div>Enfin, chaque serveur doit être correctement connecté et routé.</div><div><br data-mce-bogus="1"></div></div><div style="font-family: 'arial' , 'helvetica' ,
sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><br></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"
data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;">Voici mes deux questions :</div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family:
'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><br></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size:
12pt; color: #000000;">1/ Ai-je oublié quelque chose dans ma présentation pour atteindre mon objectif ?</div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , '
helvetica' , sans-serif; font-size: 12pt; color: #000000;">Qu'est-ce qui n'est pas clair ?</div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif;
font-size: 12pt; color: #000000;">Qu'est-ce que je dois encore apprendre ?</div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size:
12pt; color: #000000;">(notions : interface, routage d'un réseau à un autre, réseau source/destination, autorisation, acl/autorisation, ...)<br></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-
mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><br></div><div>2/ Sur le plan pratique, quel ordre dois-je suivre pour <span class="info"><span class="info">écrire les règles de routage sur ce réseau ?</
span></span></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><div><span class="info">Les outils d'
infrastructure envisagés sont iptables/ufw/nftables, wireguard, squid.<br></span></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-
size: 12pt; color: #000000;">J'ai potassé iptables, ufw (qui est simple à utiliser mais génère visiblement des tonnes de règles iptables sous le capot !).</div><span class="info"><span class="info"></span></span></div><div style="font-family: 'arial'
, 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;
" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-
serif; font-size: 12pt; color: #000000;">Je découvre nftables, qui propose une commande iptables-translate pour traduire une phrase iptables en phrase nftables.<br></div></div></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size:
12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><span class="info"><span class="info"><br data-mce-bogus="1"></span></span></div><div style="font-family: 'arial' , 'helvetica' ,
sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><span class="info"><span class="info">Puisque nftables est devenu la référence pour debian 12, est-ce que l'
on peut tout faire de zéro en nftables ?</span></span><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><br
style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"></div><span class="info"></span><span class="info">J'aimerais
bien me lancer à l'eau en respectant les règles connues des habitués et experts réseaux.</span><div><br data-mce-bogus="1"></div><div><span class="info">Merci.</span></div></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size:
12pt; color: #000000;" data-mce-style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><br></div><div style="font-family: 'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;" data-mce-style="font-family:
'arial' , 'helvetica' , sans-serif; font-size: 12pt; color: #000000;"><br></div></div></div></body></html>
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)