如何从浏览器访问具有IPV6链接本地地址的设备(如IE,Firefox等)?

时间:2017-07-25 09:47:57

标签: server ipv6 subnet link-local

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

情境:

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

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:5)

提供特定于浏览器的答案:对于大多数常见浏览器,您都可以

正如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