Em casa, estou conectado a um endereço IPv6 e, além disso, meu provedor fornece uma configuração semelhante a NAT, através da qual recebo um endereço IPv4 público que eu compartilho com outros clientes (o motivo é obviamente que estamos com poucos endereços IPv4).
Como resultado, não consigo acessar meus dispositivos em casa (por exemplo, meu gateway VPN) quando estou em uma rede IPv4. No entanto, eu tenho um servidor que possui um endereço IPv4 e um endereço IPv6. Assim, deve ser possível acessar meus dispositivos domésticos se eu passar pelo meu servidor.
Aqui está o que tenho em mente até agora: Como no IPv6, cada dispositivo obtém seu próprio IP, meu servidor em casa obtém um IP IPv6 estático. Meu servidor remoto já possui IPv4 e IPv6 estáticos.
Quando agora quero acessar meu servidor OpenVPN em casa, anteriormente eu abriria a porta 1194 no meu roteador e o NAT passaria as conexões para o servidor lá. No meu novo cenário, quero conectar-me na porta 1194 (ou diferente, não importa) no meu servidor remoto e deve pegar essa conexão e encapsulá-la no meu servidor doméstico (visto que ambos têm IPv6).
Graficamente, isso significaria:
Dispositivo móvel (IPv4) -> servidor remoto (IPv4 + IPv6) -> servidor doméstico (IPv6)
Mas isso só deve acontecer em portas selecionadas (ou existe uma maneira ainda mais inteligente do que selecionar por porta?).
Minha pergunta é: como faço para obter essa configuração?
Em que nível isso deve operar? Se eu quiser fazer isso por porta, obviamente tenho que encaminhar o pacote na camada TCP / UDP. Minha primeira idéia seria o iptables, mas o iptables pode encaminhar um pacote para um IP remoto? Ou existe outro software que possa? Ou devo criar um túnel entre os dois servidores e encaminhá-lo localmente? Como eu faria isso?
Respostas:
Finalmente encontrei uma solução com o encaminhamento de portas IPv4 para hosts somente IPv6, que basicamente usa socat:
Minha solução é basicamente a mesma, exceto que eu uso um nome de host, exceto por um IP estático. Tome cuidado para não usar colchetes com um nome de host, pois ele será interpretado como um IP.
fonte