我设置了一台连接到蜂窝 IPv4 网络(3G USB 加密狗)的笔记本电脑和连接到另一个 IPv4/IPv6 网络的 PC。两台电脑都已配置为作为 IPv6 路由器运行,并且各自都有自己的 IPv6 网络。
笔记本电脑通过 3G 网络连接到互联网,其中一个接口使用 IPv4 地址(私有地址,并且经常变化),另一个接口处于 AP 模式,提供自己的私有 IPv6 网络 (2001:db8:444::/64)。PC 通过组织网络连接到互联网,其中一个接口使用公共 IPv4 和 IPv6 地址,另一个接口处于 AP 模式,提供自己的私有 IPv6 网络 (2001:db8:222::/64)。两者均运行 Linux Ubuntu。
是否可以让两个 IPv6 网络(2001:db8:222::/64 和 2001:db8:444::/64)通过 IPv4 互联网进行通信?
在这种情况下,openvpn 是否有助于通过 IPv4-IPv4 隧道获取 IPv6 流量?
提前感谢帮助
答案1
这Teredo 隧道协议可能会做你想做的事,但你必须根据协议来选择地址;6to4。您已从空中获取了您的 IPv6 地址。
旧的 IPv4 概念,即某些私有 (RFC1918) 地址范围在全球范围内不可路由,但任何人都可以使用(包括多个站点,只要他们安排通过 VPN 传输),一直受到 ipv6 设计者的强烈抵制。IPv6 的基本设计目标之一是每个 v6 端点都应该是全球可路由的。这并不意味着每个端点都必须是全球可访问的 - 这就是防火墙的目的 - 但它应该是全球可路由的,并且全球可路由。
如果你试图以违背这一原则的方式实施 IPv6,你最终会陷入困境。我知道你说你不关心世界其他地方,但协议做。如果你按照协议中嵌入的假设来做这件事,你的生活就会轻松得多。
编辑:您的评论在有关 v6-via-v4 隧道的问题中是正确的,但是如果(例如)您想使用 6to4,则必须根据 6to4 映射方案使用与隧道端点的公共 v4 地址相对应的 v6 范围。
更好的方法是在两端使用支持 v6 的 ISP,并为每个网络分配实际的公共 v6 空间,尽管我承认找到这样的 ISP 仍然需要花费相当多的精力。
答案2
可以使用根据 RFC 4193 分配的私有 IPv6 地址配置隧道。但我不建议这样做。我也不建议使用 6to4 或 Teredo 地址配置您的服务器。
我的建议如下:
对于服务器,请使用原生 IPv6。如果您的托管服务提供商还不能提供 IPv6,则说明他们还不够认真,我建议您转到可以提供 IPv6 的托管服务提供商。如果您确实要转到其他托管服务提供商,请选择一个可以为您的服务器分配路由前缀的提供商,有些提供商只分配链接前缀。
对于没有提供原生 IPv6 的提供商的家庭或办公网络,我建议使用 6in4 隧道(而不是 6to4)。如果您拥有带有路由 IPv6 前缀的托管服务器,则可以在那里配置自己的隧道服务器。否则,有几家免费的隧道提供商。隧道提供商的选择取决于您的需求,但对于大多数用户来说,HE 似乎是最好的提供商。
对于在多个不同网络之间移动的笔记本电脑,我建议通过 UDPv4 隧道传输 IPv6。这可以通过 Teredo 或隧道提供商来实现。这种隧道的提供商并不多,但 gogo6 有这样的服务。
无论您运行的是原生 IPv6 还是 6in4 隧道,我都有一些建议,以便在通信的另一端使用隧道时使通信更加可靠。只有当您的网络至少有一个公共 IPv4 地址时,这些建议才会起作用:
配置 Teredo 中继。在 Linux 上,该
miredo
软件可以执行此操作。默认情况下,miredo
充当 Teredo 客户端,但这只适用于笔记本电脑。只需进行少量配置更改,即可miredo
成为 Teredo 中继,这是每个 IPv6 网络都应该具备的功能,直到 IPv4 开始逐步淘汰。配置 6to4 中继。任何现代 Linux 发行版都应支持此功能,无需安装其他软件。您不应将 6to4 地址放入 DNS,您的 DNS 记录应具有本机 IPv6 地址。当连接的另一端使用 6to4 时,6to4 中继仅用于提高可靠性。
答案3
在这种情况下,openvpn 是否有助于通过 IPv4-IPv4 隧道获取 IPv6 流量?
是的,最新版本的 openvpn 可以通过 IPv4 承载 IPv6 或反之亦然。
答案4
您可能需要研究一下 LISP,定位器/标识符分离协议
定位器/ID 分离协议 (LISP) (RFC 6830) 是一种“映射和封装”协议,由互联网工程任务组 LISP 工作组开发。分离背后的基本思想是互联网架构将两个功能,路由定位器(客户端连接到网络的位置)和标识符(客户端是谁)合并在一个数字空间中:IP 地址。LISP 支持按照基于网络的映射和封装方案 (RFC 1955) 分离 IPv4 和 IPv6 地址空间。在 LISP 中,标识符和定位器都可以是 IP 地址或任意元素,例如一组 GPS 坐标或 MAC 地址。