- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有地址 10.3.3.2 ,将其映射到 v6 将导致 0:0:0:0:0:ffff:a03:302。
我可以 ping 10.3.3.2 但 ping 0:0:0:0:0:ffff:a03:302 会出现“没有到主机的路由”错误。现在,我无法从我的网络中 ping 任何 IPv6 地址,因此预计会出现错误。
我很好奇如果
ping6 0:0:0:0:0:ffff:a03:302
如果 IPv6 流量完美输出。
最佳答案
您正在尝试做的事情称为 NAT64 并在 RFC-6146 中进行了描述.
你必须做更多的事情才能让它发挥作用。
首先,映射地址必须以 64:ff9b::
开头(它是一个保留前缀,专门用于 NAT64)而不是 0:0:0:0:0:ffff:
(这个旧前缀于 1995 年底首次出现在 RFC-1884 中,不用于 IPv6 到 IPv4 网关 - 例如,它用于映射网络软件存储的地址,但不是在您想要连接到 IPv4 时通过 IPv6 网络托管)。
因此,将 10.3.3.2 映射到 ipv6 会得到 64:ff9b::a03:302
但在现实世界中,没有人需要做这种奇怪的映射,你只需向一个符合 DNS64 的解析器(这样的 DNS 解析器称为 DNS64 解析器)发出一个 IP 地址为 10.3.3.2 的主机名的 DNS 请求,如 RFC-6147 中所述)。 Google 提供了这个(以及其他):2001:4860:4860::6464
,免费供大家使用。因此,您只需配置您的 DNS 解析器以请求此 Google 主机(不要忘记删除任何其他解析器)。
请注意,Google 公共(public) DNS64 解析器不支持私有(private) IPv4 地址。因此,在您的示例中,我们需要将 10.3.3.2 替换为公共(public)地址。所以,我选择1.3.3.2,也就是公共(public)地址。
为了您做一个测试,我创建了以下 DNS 记录:tstaupreti.fenyo.fr
,即映射到 1.3.3.2。
然后使用 dig
,您可以轻松检查它的工作原理:
1-首先,您可以要求标准公共(public) DNS,例如 8.8.8.8(Google 的公共(public) DNS,但不符合 DNS64),为该主机提供 IPv4 地址:
% dig @8.8.8.8 tstaupreti.fenyo.fr. a +short
1.3.3.2
%
2-现在,您可以检查没有与主机名关联的 IPv6 地址:
% dig @8.8.8.8 tstaupreti.fenyo.fr. aaaa +short
%
3-所以,让我们看看 Google DNS64 解析器会发生什么:
% dig @2001:4860:4860::6464 tstaupreti.fenyo.fr. a +short
1.3.3.2
%
这是正常的,因为我们已经请求了 IPv4 地址,而 DNS64 解析器当然是与 IPv4 兼容的。
% dig @2001:4860:4860::6464 tstaupreti.fenyo.fr. aaaa +short
64:ff9b::103:302
%
如您所见,NAT64 Google 解析器没有看到任何与 tstaupreti.fenyo.fr 关联的 IPv6 地址,因此它尝试查看 IPv4 地址是否与该主机名关联,它找到了 1.3.3.2,因此将其转换到 NAT64 IPv6 格式:
64:ff9b::103:302
64:ff9b::/96
路由 IPv6 数据包到这个 NAT64 网关。这样,无论 DNS64 映射返回什么值,您的 ICMP 请求(ping)都将转到 NAT64 网关。此网关会将您的数据包从 IPv6 转换为 IPv4(或多或少类似于标准的 NAT IPv4 网关 - 有关更多详细信息,请参阅 RFC,有细微的变化)。
64:ff9b::/96
作为您无法在 Internet 上路由的保留前缀(这是因为此地址在每个提供 NAT64 网关的专用网络上都是相同的,例如通常在专用网络上路由的 10.x.x.x,因此,出于同样的原因,不得在 Internet 上路由)。因此,没有使用 NAT64 前缀
64:ff9b::/96
的公共(public) NAT64 网关。 (您可以使用另一个前缀,并将其路由到配置有此不常见前缀的 NAT64 网关,但这是另一回事)。一些 Internet 服务提供商将此类地址路由到专用于其客户的私有(private) NAT64 网关。如果您的 ISP 不这样做,您需要自己在私有(private) IPv6 网络上安装这样的网关。为此,您可以使用
Tayga对于 Linux。
关于ipv6 - 我可以 ping v6 映射的 v4 地址吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45405383/
目前部署在 Kubernetes 中的服务,通过 Calico BGP 将 Service 与集群外网络打通,并在外部的 nginx 中配置 Service 地址对外进行服务暴露。经过一段时间的观察
如发现here , 有一种新的 kube 服务是 IPVS 并且有很多负载均衡算法。 唯一的问题是我没有找到指定这些算法的位置。 我的理解: rr:循环法->循环调用后端pod lc:最少连接-> 将
我想尝试这种新的代理模式以及它为我们的一些应用程序提供的各种调度程序。到目前为止,我一直无法找到更改默认模式的方法 iptables至 ipvs在 GKE 节点上。 每个人都说通过--proxy-mo
我想在现有集群中为 IPVS 启用 Kube-proxy 模式。目前,它在 IPtables 上运行。如何在不影响现有工作负载的情况下将其更改为 IPVS? 我已经安装了所有必需的模块来启用它。另外,
我正在开发的应用程序作为 Kubernetes 集群中的部署运行。为此部署创建的 Pod 分布在集群中的各个节点上。我们的应用程序一次只能处理一个 TCP 连接,并且会拒绝进一步的连接。目前,我们使用
我是一名优秀的程序员,十分优秀!