Actuellement, j'ai une configuration où, en raison d'une configuration qui prendrait une éternité à réparer, j'ai un serveur qui n'est accessible que par ipv4. Cependant, j'ai également un serveur accessible par ipv6. Je me demandais si je pouvais utiliser iptables pour transférer le trafic ipv6 sur un certain port d'un des serveurs vers un autre serveur utilisant le trafic ipv4.
15
Réponses:
IPtables ne peut actuellement pas le faire, vous avez donc besoin d'un processus d'espace utilisateur pour proxy les connexions. socat est un outil approprié pour cela:
la source
Comme indiqué dans les commentaires sur votre question , NAT64 est loin d'être prêt, même 3 ans plus tard.
Vous pouvez cependant essayer
6tunnel
, comme le suggère la perplexité.Heureusement, il est présent dans les référentiels Debian et Ubuntu, vous pouvez donc l'installer très facilement à l'aide
sudo apt-get install 6tunnel
. Si vous utilisez un autre système, vous devrez le construire à partir de la source .Construire à partir des sources n'est vraiment pas difficile, et consiste simplement à exécuter certaines commandes (en tant que root):
Voici sa syntaxe, simplifiée:
[-4|-6]
option est facultative et vous permet de spécifier si vous allez lier (écouter) sur IPv4 ou IPv6 (respectivement).-l
est également facultative. Il vous permet de choisir à quelle adresse (IPv4 ou IPv6) vous souhaitez lier.Par exemple, si vous souhaitez autoriser l'accès à un serveur IPv4 uniquement, à l'écoute sur le port 1337, via IPv6, utilisez:
La commande ci-dessus écoutera sur le port 1337 sur IPv6 et transmettra le trafic au port 1337 sur la même machine via IPv4. Il s'exécutera alors en arrière-plan, vous n'avez donc pas à vous en soucier.
En fait, vous devez configurer un travail cron pour vous assurer qu'il est toujours en cours d'exécution.
6tunnel
fournit un exemple pour votre commodité! Le lancer au démarrage ne devrait pas non plus être une mauvaise idée.Pour plus de documentation, exécutez
6tunnel -h
ouman 6tunnel
.la source
Les versions récentes de
xinetd
peuvent également écouter sur IPv6, puis transmettre la connexion à une adresse IPv4.Un exemple de configuration qui écoute les connexions IPv6 sur le port 3389 et les transmet au port 3389 d'une adresse IPv4 interne:
Cela peut être utile dans des environnements plus restreints, car il
xinetd
est susceptible d'être installé avec votre système de base ou disponible dans les référentiels de fournisseurs approuvés.la source
Je voulais commenter la réponse et le vote positif de Leo Lams, mais je n'ai pas assez de réputation. Tout d'abord: merci beaucoup Leo Lam!
Pour tous ceux qui viennent dans ce fil: Mon FAI a changé ma connexion d'IPv4 en IPv6 avec Dual Stack Lite, ce qui signifie que je n'ai plus ma propre adresse IPv4. C'était un problème car je veux accéder à ma caméra IP à partir de n'importe quel endroit qui ne prend pas en charge IPv6. Pour résoudre ce problème, j'ai essayé ce qui suit:
sudo 6tunnel -6 99 192.168.178.35 80
sudo 6tunnel -4 99 IPV6PREFIXROUTER:IPV6INTERFACEIDUUBUNTUMACHINE 99
Le préfixe ipv6 a été indiqué dans mon routeur et l'ID d'interface a été mappé dans le processus de transfert IPv6.
Maintenant, je peux accéder à la caméra depuis n'importe où en utilisant le domaine vServer example.com:99 .. Parfait! Je prévois d'obtenir une framboise qui remplira ce rôle ou une banane pi m3 pour d'autres tâches également.
la source
Plus pour le bénéfice des personnes qui trouvent cette page que l'OP nécessairement (je suis venu ici à la recherche d'une solution de connectivité IPv6 pour une application IPv4 (Twisted)), une possibilité est l'application 6tunnel, écoute sur IPv6 et transmet les demandes à une autre interface et Port.
la source