je me demande comment tunneler le trafic tcp / ipv6 sur le tunnel ssh / ipv4 (connexion ptp). C'est possible? Comment puis-je y parvenir?
je me demande comment tunneler le trafic tcp / ipv6 sur le tunnel ssh / ipv4 (connexion ptp). C'est possible? Comment puis-je y parvenir?
Réponses:
Oui, c'est possible et pas trop difficile, mais la solution est très sous-optimale, car SSH s'exécute sur TCP et a une surcharge raisonnable.
Le serveur doit avoir dans son fichier de configuration sshd_config
:
PermitTunnel point-to-point
Ensuite, vous devez être root sur les deux machines. Vous vous connectez au serveur en utilisant:
ssh -w any root@server
Après la connexion, utilisez la commande ip link
dans les deux systèmes pour savoir quel périphérique tunN a été créé dans chacun d'eux et utilisez-le dans les commandes suivantes. Notez que j'utilise des exemples d'adresses locales de site, qui sont obsolètes, mais ok pour cette introduction.
Sur le serveur:
server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0
Sur le client:
client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0
Cela suffit pour que vous puissiez envoyer une requête ping à l'autre côté du tunnel, s'il n'y a pas de blocage de règle de pare-feu. L'étape suivante consiste à définir des itinéraires sur le tunnel (n'oubliez pas net.ipv6.conf.default.forwarding = 1), puis ajustez le lien MTU pour obtenir des performances optimales.
server# sysctl net.ipv6.conf.all.forwarding=1
client# ip -6 route add default via fec0:1::1
Cela permettra à votre client d'envoyer une requête ping à d'autres réseaux auxquels le serveur a accès, étant donné que les cibles ont des routes de retour vers votre client distant.
Vous devrez également corriger le lien MTU afin que le client n'envoie pas de paquets que le serveur ne pourra pas transmettre vers l'avant. Cela dépend du MTU de la liaison IPv6 du serveur lui-même. Ne vous fiez pas à la découverte de chemin MTU car cela ne fonctionnera pas correctement sur le tunnel SSH. En cas de doute, commencez par une valeur MTU faible, comme 1280 (MTU minimum autorisé pour IPv6).
ip
commande, alors définissez l'adresse IP avec sudo ifconfig tun0 inet6 fec0:1::2/112 up
et définissez l'itinéraire avec sudo route add -inet6 -mtu 1280 default fec0:1::1