Как получить доступ к веб-серверу или веб-сайту, используя локальный IPv6-адрес ссылки?
Ниже приведен вывод ipconfig компьютера, на котором размещен веб-сервер:
Ethernet-адаптер Local Area Connection:
DNS-суффикс для конкретного подключения.: Link-local IPv6 Address .,,,,: fe80::f85b:4256:ee76:24a4%11 IPv4-адрес.,,,,,,,,,,: 10.213.254.119 Маска подсети.,,,,,,,,,,: 255.255.255.0 Шлюз по умолчанию.,,,,,,,,: 10.213.254.252
Я могу получить доступ к веб-сайту с помощью, скажем, " http://10.213.254.119/test" Теперь мне интересно узнать, как я могу получить доступ к той же странице, используя локальный IPv6-адрес ссылки?
3 ответа
Я обнаружил, что большинство браузеров не поддерживают идентификаторы области в URL. Поскольку идентификаторы области обычно требуются для локальных адресов ссылок, это означает, что эти браузеры не могут получить доступ к локальным адресам ссылок. Создание записи DNS, указывающей на локальный адрес ссылки, также не будет работать, поскольку запись DNS не может указывать идентификатор области.
Иногда мне нужно было получить доступ к веб-интерфейсу оборудования, которое не было даже по той же ссылке. Это означает, что у меня будет два препятствия, мешающих мне использовать локальный адрес для доступа к нему. Но я нашел простой метод, который решил обе эти проблемы для меня.
Запустите ssh-клиент на хосте, на котором работает браузер. Подключитесь к хосту с прямой ссылкой на оборудование, к которому я хочу получить доступ через локальный адрес канала, и настройте переадресацию портов. Например, команда для этого может выглядеть так:
ssh -L '8080:[fe80::2bb:c9ff:fe44:36b6%eth0]:80' host.example.com
На данный момент я могу получить к нему доступ через localhost, который не требует идентификатора области видимости: http://[::1]:8080/
, Это, конечно, также работает, если ssh-клиент и ssh-сервер работают на одной машине с веб-браузером.
Вы можете получить к нему доступ с помощью curl как:
curl -6 -g --interface eth0 "http://[e80::f85b:4256:ee76:24a4]:8080" -vvv
Большинство браузеров не поддерживают это, и даже если бы они сделали это, вам пришлось бы использовать URL-адрес, как http://[fe80::f85b:4256:ee76:24a4%eth0]/
где eth0
является идентификатором ссылки в клиентской системе и может быть разным для каждого клиента.
Лучше использовать маршрутизируемый адрес IPv6.