在家里,我连接了一个IPv6地址,此外,我的提供商还提供了类似NAT的设置,通过该设置,我可以接收与其他客户共享的公共IPv4地址(原因显然是我们的IPv4地址使用量很低)。
结果,当我处于IPv4网络上时,我无法在家中访问我的设备(例如,VPN网关)。但是,我确实有一个同时具有IPv4和IPv6地址的服务器。因此,如果我通过服务器,应该有可能到达家用设备。
到目前为止,我的想法是:由于在IPv6上,每个设备都有自己的IP,因此我在家的服务器会获得一个静态IPv6 IP。我的远程服务器已经具有静态IPv4和IPv6。
现在,当我想在家中访问我的OpenVPN服务器时,我会在路由器中打开端口1194,而NAT会将连接传递到那里的服务器。在我的新方案中,我想在远程服务器上的端口1194(或其他端口,无所谓)上进行连接,并且应该采用该连接并将其通过隧道传输到我的家庭服务器(因为它们都具有IPv6)。
在图形上,这意味着:
移动设备(IPv4)->远程服务器(IPv4 + IPv6)->本地服务器(IPv6)
但这仅应在选择的端口上发生(或者是否有比通过端口选择更聪明的方法?)。
我的问题是,如何实现此设置?
应该在哪个级别上运行?如果要通过端口进行操作,显然必须在TCP / UDP层转发数据包。我的第一个想法是iptables,但是iptables可以将数据包转发到远程IP吗?还是可以使用其他软件?还是应该在两个服务器之间创建一个隧道,然后在本地转发?我将如何处理?