J'ai récemment découvert l'existence d'interfaces Linux TUN / TAP et j'essaie toujours de les comprendre. Je pense que je comprends le concept de base - des pseudo-périphériques sont créés qui émulent une interface réseau et au lieu de transmettre des données au matériel, ils sont transmis à un programme de l'espace utilisateur.
Comment dirigeriez-vous un programme indépendant pour utiliser ce tunnel?
Par exemple, avant la création du tunnel, mon système contient uniquement eth0 et lo, l'interface Ethernet normale (câblée à mon réseau local) et l'interface de bouclage. Après qu'un programme a créé et configuré un tunnel, j'ai une nouvelle interface gr0 à laquelle j'ai donné une adresse IP qui est sur mon réseau local, mais pas utilisée (donc nous sommes tous sur le même sous-réseau). Comment puis-je faire en sorte qu'un programme indépendant utilise ce «tunnel»? Disons que j'avais un simple message Python passant une application client / serveur qui utilise une connexion TCP, comment pourrais-je le configurer pour utiliser le tunnel?
Je m'excuse si je manque quelque chose de basique, mais comme d'habitude, j'ai réussi à me confondre dans l'ordre des choses. Encore une fois, tout ce que je veux, c'est qu'un simple programme TCP utilise ce tunnel.
Merci!
la source