Как выбрать, с какого IPv6 отправлять запрос при наличии диапазона IPv6?
Я новичок в IPv6 и пытаюсь выяснить, как отправить запрос с другого адреса IPv6. Как я могу это сделать?
Я купил тестовый VPS, который говорит, что они дают /112 IPv6 range
, Прежде всего, что именно /112
средства? Я понимаю это, поскольку они предоставляют некоторый диапазон IPv6, и владелец VPS (я) может выбрать, какой IPv6 он хочет использовать. Поэтому должно быть много возможностей IPv6, и я хочу проверить это. Если я сделаю это curl
запрос curl http://v4v6.ipv6-test.com/api/myip.php
результат 2a00:1630:66:d7::ae4c
, То же самое с curl --interface 2a00:1630:66:d7::ae4c http://v4v6.ipv6-test.com/api/myip.php
,
Теперь, если у моего VPS есть диапазон IP-адресов со многими возможностями IPv6, как я могу выбрать другой IPv6 для отправки запроса, чтобы сервер назначения также видел другой IPv6? Какие символы 2a00:1630:66:d7::ae4c
я могу отредактировать, что мой VPS сможет связываться с? Не уверен, что мое объяснение имеет смысл, поэтому вот что я попробовал:
curl --interface 2a00:1630:66:d7:1111:ae4c http://v4v6.ipv6-test.com/api/myip.php
curl: (45) Couldn't bind to '2a00:1630:66:d7:1111:ae4c'
Выход из ifconfig
как следует:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
inet6 addr: 2a00:1630:66:d7::ae4c/64 Scope:Global
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:11896 errors:0 dropped:0 overruns:0 frame:0
TX packets:1446 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:17548894 (16.7 MiB) TX bytes:113342 (110.6 KiB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.1.237 P-t-P:192.168.1.237 Bcast:192.168.1.237 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
2 ответа
/112
обозначает префикс для адреса. Это также общее обозначение для IPv4. По сути, он говорит вам, что количество битов установлено для идентификации сети. Остальные могут свободно ссылаться на хосты в этой сети. Вы можете прочитать о том, как работает подсеть (есть вопросы по SU и много онлайн-ресурсов).
С IPv6 это зависит от вашей конфигурации. Проверьте свои ifconfig
или же ip
или же ipconfig
в зависимости от системы, и вы сможете увидеть текущую конфигурацию сети. Он должен содержать информацию о вашем текущем IPv6-адресе (ах).
Получив целую сеть с IPv6, вы можете либо настроить их статически (обычно для серверов), либо посмотреть на что-то вроде расширения конфиденциальности IPv6. Что делает некоторую магию, чтобы помочь вашему постоянному клиенту остаться немного более приватным.
Не уверен, что это проблема:
IP-адрес источника берется из сетевого интерфейса. Если у вас разные хосты (или разные сетевые пространства имен на одном хосте), вы можете назначить разные IP-адреса для каждого из этих интерфейсов (или позволить ОС автоматически настраивать разные IP-адреса с использованием MAC-адреса, если вы его настроили, и если он получит префикс). Затем приложения (например, ping
) выполненный на разных хостах / пространствах имен будет использовать этот адрес.
Другой вариант - создать несколько сетевых интерфейсов с разными IP-адресами в одном хосте / пространстве имен или назначить несколько адресов IPv6 одному и тому же сетевому интерфейсу. В этом случае вам нужно будет указать приложению привязку к IP-адресу, который вы хотите использовать (например, ping -S ...
). Не все приложения могут сделать это.
Если у вас есть один хост для этого диапазона IP-адресов, я рекомендую использовать сетевые пространства имен, или вы можете использовать инфраструктуру, которая использует сетевые пространства имен (Docker и т. Д.).