我想使用 6to4 隧道创建一个 IPv6 子网,同时位于具有动态公共地址的 NATed IPv4 网络内。有人能建议我该怎么做吗?我查看了 Hurricane Electric,但他们似乎需要静态公共 IPv4 地址。
我正在寻找使用 Raspberry Stretch 的 Pi。
答案1
我想要使用 6to4 隧道创建一个 IPv6 子网,同时位于具有动态公共地址的 NATed IPv4 网络内
NAT 后面的 6to4 实际上与 NAT 后面的 HE.net Tunnelbroker 的工作方式大致相同。
在这两种情况下,您都需要配置一个 IP6-in-IP4 接口(类型sit
在 Linux 中);唯一的区别是 6to4 隧道应该any
作为远程端点并用作::192.88.99.1
路由网关,而 HE.net 隧道具有特定的端点地址。
(从技术上讲,6to4 可以直接用作remote 192.88.99.1
端点,但使用remote any
会告诉 Linux 检测并启用两个使用 6to4 的主机之间的直接流量,绕过中继。)
在这两种情况下,你都需要确保你的 IPv4 路由器能够对“协议 41”进行出站 NAT(即 IPv6-in-IP),并且如果可能的话,还要配置静态入站NAT(“端口转发”)规则也是如此。如果未配置 proto41 的入站 NAT,您将定期失去接收传入 IPv6 连接的能力。
请注意,大多数 ISP 不再运行 6to4 中继 - 事实上,您最近的 6to4 网关可能归 Hurricane Electric 所有。此外,请注意,任播 6to4 是正式弃用自 2015 年起,一些 ISP 不再将 IPv4 数据包转发到该地址。
我查看了 Hurricane Electric,但他们似乎需要一个静态公共 IPv4 地址。
它们支持更新隧道端点通过 HTTP API 调用,类似于“动态 DNS”服务。您很可能可以安排ddclient
甚至curl
进行更新。
因此,使用 HE.net 或类似服务只有好处——你会得到一个静止的IPv6 前缀,根本不需要重新配置本地 Linux 系统,而 6to4 地址前缀是根据 IPv4 地址计算的,因此会经常更改,需要网络重新编号和每次发生这种情况时都会重新配置本地隧道。