【问题标题】:How to access devices with IPV6 link local address from browser(like IE,firefox etc)?如何从浏览器(如 IE、firefox 等)访问具有 IPV6 链接本地地址的设备?
【发布时间】:2017-12-31 03:56:53
【问题描述】:

我的设备和我尝试访问的主机都在同一个子网中。

场景:

我在同一子网中有一台交换机和一台服务器。我必须使用服务器中浏览器的 ipv6 链接本地地址访问交换机。 谁能告诉我确切的语法??

【问题讨论】:

    标签: server ipv6 subnet link-local


    【解决方案1】:

    针对浏览器给出一个具体的答案:对于大多数常见的浏览器,你不能。

    正如 Sander Steffann 指出的那样,有一种建议的标准格式用于指定 URL 的接口,该格式位于 RFC 6874 中。

    Chromium 和 Firefox 以及大多数其他浏览器的开发人员都已决定故意不支持此功能。 Firefox 实际上已经有意删除了对 ipv6 本地链接的支持。错误报告作为 WONTFIX 关闭。请参阅 Chromium bug 70762Firefox bug 700999。此外,WHATWG also rejected implementation of RFC 6874。多年来一直如此,所以我怀疑任何缺少补丁或分叉的东西都会导致链接本地地址工作。似乎很多人都坚决不允许链接本地地址支持。

    然而,一种解决方法是使用 SSH 转发。例如,

    ssh -L '8080:[FE80::XXXX:XXXX:XXXX:XXXX%wlp4s0]:80' localhost
    

    【讨论】:

    【解决方案2】:

    一个链接本地地址可以在多个链接上有效。例如,如果您的系统同时具有以太网和 Wi-Fi,则它们可能连接到不同的网络。因此,您需要将范围标识符添加到链接本地地址。其语法是将 % 和范围添加到 IPv6 地址。分数通常是接口的名称,例如 Linux 上的eth0ens192,或Windows 上的13。每个系统的值都不同,因此您需要检查在您的情况下使用什么。

    这给了你例如fe80::1111:2222%eth0。问题是 % 在 URL 中具有特殊含义,因此您需要对其进行转义。 % 的转义为 %25

    正确的 URL 语法是 http://[fe80::1111:2222%25eth0]/。官方标准是RFC 6874。不幸的是,许多浏览器不遵循标准,所以它可能不适合你。在这种情况下,请提交错误报告。需要更多的人抱怨才能解决这个问题。

    【讨论】:

      猜你喜欢
      • 2015-10-05
      • 2023-04-02
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多