Доступ к веб-серверу, отличному от port80, с помощью IPv6

в обычной сети IPv4, я могу пойти в любой браузер, такой как Firefox и просматривать сервер на IPv4-адрес, не размещенный на порту 80:

http://192.168.42.6:8080/

это доступ к серверу по порту 8080 на 192.168.42.6. Однако, если я попробую это с IPv6 IP, мне не повезет. Это пытается получить доступ к порту 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 в вопросе.)

28
задан Arjan
21.05.2023 4:02 Количество просмотров материала 3263
Распечатать страницу

1 ответ

прежде всего: я не эксперт по IPv6.

если вы не можете добавить DNS-имя (или хотите убедиться, что используется IPv61), то почему бы не использовать фактический адрес, а не fe80 link-local один? На Mac с OS X, и на Windows XP Home edition, это (с фактическим адресом IPv62) отлично работает для меня, во всех браузерах:

http://[2001:db8::216:cbff:xx:xx]:8080/

(обратите внимание, что некоторые браузеры не автоматически префикс http:// часть для IPv6-адресов. Добавление дурацкое имя в твоем hosts file на только адрес IPv6 делает жизнь еще проще.)

на fe80 адреса, это, вероятно, не только номер порта, который дает вам проблемы; при использовании порта по умолчанию 80, вы, вероятно, не может подключиться либо,если вы также указываете индекс зоны. (Таким образом: исходящий интерфейс, который должен сделать соединение, как проводной ethernet или беспроводной, который может отличаться на каждом компьютере вы использовать.)

в Windows XP Home edition, как с проводным ethernet, так и с беспроводным (последний неактивен), следующее отлично работает для меня в Firefox 3.5 и 3.6. Вот,4 мой индекс сетевого интерфейса3:

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-нотациями4. Я не мог заставить выше работать в Chrome 8 и 9 на Windows XP, ни в Safari или Chrome на a Мак.

на Mac, вместо % синтаксис, вы можете (ab)использовать индекс области (2-е слово, или 3-й и 4-й байт), чтобы указать индекс сетевого интерфейса. Как fe80:0004 прекрасно работает во всех моих браузерах:

http://[fe80:4::216:cbff:xx:xx]/
http://[fe80:4::216:cbff:xx:xx]:8080/

обратите внимание, однако, что я сомневаюсь, что это официально не поддерживается, а это не работает на моем Windows XP и документация утверждает, что всегда следует использовать альтернативы. Like:

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, [::192.168.178.25] не работает. Я не мог заставить любую форму работать на Windows XP.


1 некоторые браузеры предпочитают IPv4 протоколу IPv6. См.test-ipv6.com. Это также зависит от платформы.

2 в IPv6, веб-серверы могут см MAC-адрес вашего компьютера, будучи 216:cbff:xx:xx в этих примерах. Я бы предпочел не публиковать это супер печенье в сети. Видеть также Как избежать раскрытия моего MAC-адреса при использовании IPv6?

3 на Mac: найдите значение scopeid производства ifconfig. На Windows: значение Idx производства netsh interface ipv6 show interface. я видел это изменение номера после перезагрузки!

4 кажется, это когда-то привело к RFC, который никогда не делал это из проекта. Этот проект предлагает использовать символ плюс вместо этого, но это не работает на моем Macs или Windows XP либо.

5
отвечен Arjan 2023-05-22 11:50

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх