如何从浏览器(如 IE、firefox 等)访问具有 IPV6 link 本地地址的设备?

How to access devices with IPV6 link local address from browser(like IE,firefox etc)?

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

场景:

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

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

例如 fe80::1111:2222%eth0。问题是 % 在 URLs 中有特殊含义,所以你需要转义它。 % 的转义是 %25.

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

给出特定于浏览器的答案:对于大多数常见浏览器,您不能。

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

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

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

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