Atualmente, tenho uma configuração em que, devido à configuração que levaria uma eternidade para ser corrigida, tenho um servidor que só pode ser acessado pelo ipv4. No entanto, também tenho um servidor que pode ser acessado pelo ipv6. Eu queria saber se eu poderia usar o iptables para encaminhar o tráfego ipv6 em uma determinada porta de um dos servidores para outro servidor usando o tráfego ipv4.
15
Respostas:
No momento, as tabelas IP não podem fazer isso; portanto, você precisa de um processo no espaço do usuário para fazer proxy das conexões. O socat é uma ferramenta adequada para isso:
fonte
Conforme observado nos comentários da sua pergunta , o NAT64 está longe de estar pronto, mesmo três anos depois.
Você pode, no entanto, tentar
6tunnel
, conforme sugerido por perplexidade.Felizmente, ele está presente nos repositórios Debian e Ubuntu, para que você possa instalá-lo com muita facilidade usando
sudo apt-get install 6tunnel
. Se você estiver usando outro sistema, precisará construí-lo a partir da fonte .Construir a partir do código-fonte realmente não é difícil, e é apenas uma questão de executar alguns comandos (como root):
Aqui está sua sintaxe, simplificada:
[-4|-6]
é opcional e permite especificar se você deve ligar (escutar) no IPv4 ou IPv6 (respectivamente).-l
também é opcional. Permite escolher em qual endereço (IPv4 ou IPv6) você deseja vincular.Por exemplo, se você deseja permitir que um servidor somente IPv4, escutando na porta 1337, seja acessado pelo IPv6, use:
O comando acima escutará na porta 1337 no IPv6 e encaminhará o tráfego para a porta 1337 na mesma máquina via IPv4. Ele será executado em segundo plano, para que você não precise se preocupar com isso.
Na verdade, você deve configurar um trabalho cron para garantir que ele ainda esteja em execução.
6tunnel
fornece um exemplo para sua conveniência! Executá-lo na inicialização também não deve ser uma má idéia.Para mais documentação, execute
6tunnel -h
ouman 6tunnel
.fonte
As versões recentes
xinetd
também podem escutar no IPv6 e, em seguida, encaminhar a conexão para um endereço IPv4.Uma configuração de amostra que escuta conexões IPv6 na porta 3389 e as encaminha para a porta 3389 de um endereço IPv4 interno:
Isso pode ser útil em ambientes mais restritos, pois
xinetd
provavelmente será instalado com o sistema básico ou disponível em repositórios de fornecedores aprovados.fonte
Eu queria comentar sobre a resposta de Leo Lams e votar, mas não tenho reputação suficiente. Primeiro de tudo: muito obrigado Leo Lam!
Para qualquer pessoa que acompanhe esse segmento: Meu ISP mudou minha conexão de IPv4 para IPv6 com o Dual Stack Lite, o que significa que não tenho mais meu próprio endereço IPv4. Esse foi um problema, pois desejo acessar minha câmera IP de qualquer lugar que não seja compatível com IPv6. Para resolver isso, tentei o seguinte:
sudo 6tunnel -6 99 192.168.178.35 80
sudo 6tunnel -4 99 IPV6PREFIXROUTER:IPV6INTERFACEIDUUBUNTUMACHINE 99
O prefixo ipv6 foi indicado no meu roteador e o ID da interface foi mapeado no processo de encaminhamento do IPv6.
Agora posso acessar a câmera de qualquer lugar usando o domínio vServer example.com:99 .. Perfeito! Estou pensando em obter uma framboesa que cumpra esse trabalho ou um banana pi m3 para outras tarefas também.
fonte
Mais para o benefício de as pessoas encontrarem esta página do que o OP necessariamente (eu vim aqui procurando uma solução para conectividade IPv6 para um aplicativo IPv4 (Twisted)), uma possibilidade é o aplicativo 6tunnel, escuta no IPv6 e encaminha solicitações para outra interface e porta.
fonte