从ipv4转换为ipv6时,ipv6calc输出错误的地址?

时间:2015-06-14 15:04:16

标签: bash ipv6

在尝试将ipv4列表文件转换为ipv6时遇到一个奇怪的问题:

ipv6calc -q --action conv6to4 --in ipv4 1.1.23.1 --out ipv6
2002:101:1701::

尝试验证结果是否正确,我使用了一些在线转换器,似乎1.1.23.1是2002:0:0:0:0:0:101:1701(或者其他是2002 :: 101:1701)。 所以最后的“::”应该删除& 2002应该有额外的“:”。

我真的不想使用sed / awk命令来操纵这个结果,所以问题是:

  1. 有替代cmd / linux SW吗?
  2. 这是以某种方式修复了ipv6 calc,我做错了吗?
  3. 由于

1 个答案:

答案 0 :(得分:3)

这是正确的6to4地址。 6to4子网的格式为int (*const x[])(int) 2002:IP4_HI:IP4_LO::/48是IPv4地址的前16位,而IP4_HI是地址的低16位。

例如,IPv4地址IP4_LO为您提供6to4子网1.2.3.4

有关详细信息,请参阅6to4 address block allocation

另一个问题是,这实际上是否是您想要的地址?还有其他方法可以将IPv4地址映射到IPv6地址。例如,有IPv4-mapped IPv6 addresses,通常写为2002:0102:0304::/48

您需要的地址格式取决于您将要使用的地址格式。

相关问题