Итак, у меня есть провайдер vps для Linux-сервера, он сообщает об этом в моей сетевой панели на своем сайте:
2607: f840: 0044: 0022: 0000: 0000: 0000: 0000/64 маршрутизируется на этот сервер (2607: f840: 0: 3f: 0: 0: 0: eaa)
2607: f840: 0: 3f: 0: 0: 0: eaa / 64 - это адрес, назначенный интерфейсу eth0, рядом с которым написано GLOBAL.
Я лишь немного разбираюсь в IPv6. Каждый адрес имеет длину 128 бит, записывается в шестнадцатеричной форме, сокращается за счет исключения ведущих нулей или использования :: один раз. Я не понимаю, что значит «перенаправить» 2607: f840: 44: 22 :: / 64 на мой IPv6-адрес 2607: f840: 0: 3f: 0: 0: 0: eaa / 64.
Поэтому я не могу изменить один бит в 2607: f840: 0: 3f: 0: 0: 0: eaa, но я могу выбрать что угодно от 2607: f840: 44: 22: 0000: 0000: 0000: 0000 до 2607: f840: 44: 22: FFFF : FFFF: FFFF: FFFF? Это дало бы мне 2 ^ 64 возможных адреса для работы, но с какой целью?
Надеюсь, этот вопрос не слишком расплывчатый или не по теме, спасибо за понимание.
Добро пожаловать в чудесный мир, когда у вас гораздо больше IP-адресов, чем вы когда-либо знаете, что делать. (И хорошо для вашего VPS-провайдера за то, что он сделал все правильно и назначил вам / 64 вместо чего-то меньшего, что, похоже, делают многие заблуждающиеся провайдеры ...)
Одна из целей, как вы, возможно, догадались, состоит в том, чтобы ни у кого никогда не заканчиваются IP-адреса, никогда. Или, по крайней мере, не для очень долго...
Вот как это сработает для вас:
Ваш IP-адрес, присвоенный eth0
интерфейс 2607:f840:0:3f::eaa
. Это на сайте вышестоящего провайдера. /64
. Когда приходят пакеты ваш подсеть, 2607:f840:44:22::/64
, ваш вышестоящий провайдер направляет их на ваш eth0
интерфейс.
Что вы будете делать с пакетами, когда они прибудут, полностью зависит от вас. Поскольку вы используете VPS, вам, вероятно, не нужно много адресов, поэтому вы можете просто начать назначать их с ...::1
к вашему существующему eth0
интерфейс.
Например:
ip addr add 2607:f840:44:22::1/64 dev eth0
ip addr add 2607:f840:44:22::2/64 dev eth0
ip addr add 2607:f840:44:22::3/64 dev eth0
ip addr add 2607:f840:44:22::deca:fbad/64 dev eth0
ip addr add 2607:f840:44:22:feed:face:dead:beef/64 dev eth0
Если вы дополнительно разделяете свой VPS на контейнеры (например, OpenVZ или LXC), вы можете направить /64
к сетевому мосту, который будет обслуживать контейнеры и назначать адреса контейнерам.
См. Также тесно связанный вопрос, Как работает разделение на подсети IPv6 и чем оно отличается от разделения на подсети IPv4?
Позвольте мне ответить, цитируя RFC 5375: рекомендации по назначению одноадресных адресов IPv6
Использование длины префикса подсети, отличной от / 64, нарушит многие функции IPv6, среди прочего Neighbor Discovery (ND), Secure Neighbourhood Discovery (SEND) [RFC3971], расширения конфиденциальности [RFC4941], части Mobile IPv6 [RFC4866], PIM-SM со встроенным RP [RFC3956] и SHIM6 [SHIM6]. Ряд других функций, которые в настоящее время разрабатываются или предлагаются, также зависят от префиксов подсети / 64.
Ваш провайдер просто придерживается безопасных стандартов. Вы получаете огромное адресное пространство для работы, но это хорошо. Это обеспечивает будущее.
Я не понимаю, что значит «перенаправить» 2607: f840: 44: 22 :: / 64 на мой IPv6-адрес 2607: f840: 0: 3f: 0: 0: 0: eaa / 64.
Это означает, что они относятся к вашему серверу как к маршрутизатору.
Когда устройство хочет отправить пакет, оно ищет пункт назначения в своей таблице маршрутизации.
Маршрут может указывать только на интерфейс. Примером этого является неявный маршрут, созданный маской подсети, но, по крайней мере, в Linux такие маршруты также могут быть добавлены явно. В этом случае IP-адрес назначения используется в качестве IP-адреса следующего перехода.
В качестве альтернативы маршрут может указывать на комбинацию интерфейса и IP-адреса следующего перехода. В этом случае используется указанный IP-адрес следующего перехода.
Для IPv6 6 IP-адрес следующего перехода затем преобразуется в MAC-адрес с использованием обнаружения соседей (IPV4 использует ARP).
Это означает, что когда маршрутизатор провайдера ищет любой адрес в 2607: f840: 44: 22 :: / 64, он выполняет обнаружение соседей для 2607: f840: 0: 3f: 0: 0: 0: eaa и отправляет пакет. на найденный MAC-адрес.