В нормальной сети IPv4 я могу войти в любой браузер, такой как Firefox и просмотреть сервер на адресе IPv4, не размещенном на порте 80:
http://192.168.42.6:8080/
Это получает доступ к серверу на порте 8080 на 192.168.42.6
. Однако, если я пробую это IP IPv6, я не получаю удачи. Это пробует к порту доступа 8080 на fe80::520:ff0f:ece0:1
:
http://[fe80::520:ff0f:ece0:1]:8080/
Firefox автоматически "прикрепит" этот URL к:
http://[www.fe80::520:ff0f:ece0:1.com]:8080/
который не помогает мне получить доступ к нему вообще. Так или я делаю что-то действительно неправильно ИЛИ существует что-то действительно неправильно с IPv6. Не удалось найти ничего, что даже удаленно помогло в Интернете. (И да, существует сервер, работающий на рассматриваемом IPv6.)
В первую очередь: Я не эксперт IPv6.
Если Вы не можете добавить имя DNS (или хотеть удостовериться, что IPv6 является used1), то почему бы не использовать исполнительный адрес, а не fe80
локальный для ссылки? На Mac с OS X, и на Версии для домашнего использования Windows XP, это (с фактическим IPv6 address2) хорошо работает для меня во всех браузерах:
http://[2001:db8::216:cbff:xx:xx]:8080/
(Обратите внимание, что некоторые браузеры автоматически не снабжают префиксом http://
часть для адресов IPv6. Добавление фиктивного имени в Вашем файле hosts только для адреса IPv6 делает жизнь еще легче.)
Для fe80
адреса, это - вероятно, не только номер порта, который дает Вам проблемы; при использовании порта по умолчанию 80, Вы, вероятно, не можете соединиться также, если Вы также не указываете индекс зоны. (Таким образом: исходящий интерфейс, который должен установить связь, как проводной Ethernet или беспроводная связь, которая могла бы отличаться на каждом компьютере, который Вы используете.)
На Версии для домашнего использования Windows XP, и с соединил проводом Ethernet и с беспроводную связь (последнее неактивное существо), следующее хорошо работает для меня в Firefox 3.5 и 3.6. Здесь, 4
мой сетевой интерфейс index3:
http://[fe80::216:cbff:xx:xx%4]/
http://[fe80::216:cbff:xx:xx%4]:8080/
В Internet Explorer 8 символ процента должен быть закодирован процентом в %25
:
http://[fe80::216:cbff:xx:xx%254]:8080/
(Для меня это не работает без %4
или %254
; если это делает на других установках затем, возможно, Windows или IE предпочитают внешние соединения, и та установка только имеет единственный сетевой интерфейс?)
На Mac следующее хорошо работает в Firefox:
http://[fe80::216:cbff:xx:xx%en0]:8080/
Определение индекса зоны с помощью нотации процента неприятно, учитывая конфликт с URL notations4. Я не мог заставить вышеупомянутое работать в Chrome 8 и 9 на Windows XP, ни в Safari или Chrome на Mac.
На Mac, вместо %
синтаксис, Вы можете (ab) использовать индекс объема (2-е слово или 3-и и 4-е байты) для определения индекса сетевого интерфейса. Как fe80:0004
хорошо работает во всех моих браузерах:
http://[fe80:4::216:cbff:xx:xx]/
http://[fe80:4::216:cbff:xx:xx]:8080/
Обратите внимание, однако, что я сомневаюсь, что это официально поддерживается, поскольку это не работает над моим Windows XP, и некоторая документация утверждает, что альтернативы должны всегда использоваться вместо этого. Как:
ping6 -I en0 fe80::216:cbff:xx:xx (en0 = wired ethernet on my Mac)
ping6 fe80::216:cbff:xx:xx%en1 (en1 = wireless)
... вместо:
ping6 fe80:4::216:cbff:xx:xx
ping6 fe80:6::216:cbff:xx:xx
Заключительное примечание: можно было бы дурачиться в использование ::
или ::ffff:
сопровождаемый адресом IPv4, как указано в RFC 4291. Но, это на самом деле не использует IPv6, хотя он дает ответ на моем Mac:
http://[::ffff:192.168.178.25]:8080/
Это может также использовать шестнадцатеричную нотацию, и некоторые браузеры перепишут ее автоматически:
http://[::ffff:c0a8:b219]:8080/
Но независимо от того, что: это использует соединение IPv4 на моих Mac. На моих Mac, [::192.168.178.25]
не работает. Я не мог заставить форму работать над Windows XP.
1 Некоторые браузеры предпочитают IPv4 по IPv6. См. test-ipv6.com. Это также - зависимый платформы.
2 В IPv6, веб-серверы могли бы видеть MAC-адрес Вашего компьютера, будучи 216:cbff:xx:xx
в этих примерах. Я не опубликовал бы этот супер cookie в сети. См. также, Как постараться не выставлять мой MAC-адрес при использовании IPv6?
3 На Mac: ищите значение для scopeid
в выводе ifconfig
. В Windows: посмотрите значение для Idx
в выводе netsh interface ipv6 show interface
. Я видел, что это число изменяется после перезагрузок!
4 Это кажется этим когда-то ведомым к RFC, который никогда не делал его из проекта. Этот проект предлагает использовать плюс символ вместо этого, но это не работает над моими Mac или Windows XP также.