A casa, sono collegato con un indirizzo IPv6 e inoltre, il mio provider fornisce una configurazione simile a NAT attraverso la quale ricevo un indirizzo IPv4 pubblico che condivido con altri clienti (il motivo è ovviamente che stiamo esaurendo gli indirizzi IPv4).
Di conseguenza, non riesco a raggiungere i miei dispositivi a casa (ad es. Il mio gateway VPN) quando sono su una rete IPv4. Tuttavia, ho un server che ha sia un indirizzo IPv4 che un indirizzo IPv6. Pertanto, dovrebbe essere possibile raggiungere i miei dispositivi domestici se passo attraverso il mio server.
Ecco cosa ho in mente finora: poiché su IPv6, ogni dispositivo ha il proprio IP, il mio server di casa ottiene un IP IPv6 statico. Il mio server remoto ha già sia IPv4 statico che IPv6.
Quando ora voglio raggiungere il mio server OpenVPN a casa, in precedenza avrei aperto la porta 1194 nel mio router e NAT avrebbe passato le connessioni al server lì. Nel mio nuovo scenario, voglio collegarmi sulla porta 1194 (o diversa, non importa) sul mio server remoto e dovrebbe prendere quella connessione e collegarla al mio server di casa (visto che entrambi hanno IPv6).
Graficamente, ciò significherebbe:
Dispositivo mobile (IPv4) -> Server remoto (IPv4 + IPv6) -> Server principale (IPv6)
Ma questo dovrebbe accadere solo su porte selezionate (o c'è anche un modo più intelligente che selezionare per porta?).
La mia domanda è: come posso ottenere questa configurazione?
A quale livello dovrebbe operare? Se voglio farlo per porta, devo ovviamente inoltrare il pacchetto a livello TCP / UDP. La mia prima idea sarebbe iptables, ma iptables può inoltrare un pacchetto a un IP remoto? O c'è altro software che può? O dovrei creare un tunnel tra i due server e quindi inoltrarlo localmente? Come lo farei?