- Серверы Linux. Часть IX. Протокол IPv6
- Глава 21. Знакомство с протоколом IPv6
- 21.1. Информация о протоколе IPv6
- 21.2. Идентификаторы сети и узла
- 21.3. Генерация части адреса, относящейся к узлу
- 21.4. Запись адреса IPv4 в рамках адреса IPv6
- 21.5. Адреса link local
- 21.6. Уникальные локальные адреса
- 21.7. Глобальная система уникальных адресов для одноадресной передачи
- 21.8. Механизм 6to4
- 21.9. Интернет-провайдеры
- 21.10. Частные адреса
- 21.11. Утилита ping6
- 21.12. Использование протокола IPv6 в Бельгии
- 21.13. Другие веб-сайты
- 21.14. Шлюзы, использующие механизм 6to4
- 21.15. Утилита ping6 и DNS
- 21.16. Протокол IPv6 и стек протоколов TCP/IP
- 21.17. Протокол IPv6 и ресурсная запись PTR
- 21.18. Настройка механизма 6to4 в Linux
- Как получить IPv6 IP-адрес в Linux
- Как пинговать IPv6-адрес из командной строки Windows и Linux
- Пингование адресов IPV6
- Использование команды Ping
- Использование команды Ping6
- Как найти IPV6-адрес вашего ПК?
- На Windows :
- На Linux :
- Поиск маршрутов пакетов IPV6
- Traceroute6 в Linux
- tracert -6 в Windows
Серверы Linux. Часть IX. Протокол IPv6
Глава 21. Знакомство с протоколом IPv6
21.1. Информация о протоколе IPv6
Протокол IPv6 был спроектирован для замены протокола IPv4 . В то время, как протокол IP версии 4 позволяет использовать максимум четыре миллиарда уникальных адресов, протокол IP версии 6 расширяет это количество до четырех миллиардов в четвертой степени уникальных адресов. Таким образом, протокол IPv6 позволяет использовать более чем 100.000.000.000.000.000.000 адресов на каждом квадратном сантиметре нашей планеты. Этого должно быть достаточно даже в том случае, если отдельный адрес будет выделен для для каждого мобильного телефона, каждой машины для приготовления кофе и каждой пары носков.
Если говорить техническим языком, можно отметить, что протокол IPv6 использует 128-битные адреса (вместо 32-битных адресов, используемых протоколом IPv4). 128-битные адреса представляются с помощью больших чисел . В случае использования десятичного представления для записи адреса данного типа потребуется до 39 чисел, а в случае использования шестнадцатеричного представления адрес будет выглядеть следующим образом:
К счастью, протокол IPv6 позволяет нам сократить ведущие нулевые значения. Исходя из этого, приведенный выше адрес будет выглядеть следующим образом:
В том случае, если в 16-битный блок представлен нулевым значением, он может быть записан в формате :: . Последующие 16-битные нулевые блоки также могут заменяться уже записанной последовательностью символов :: . Таким образом, наш приведенный выше адрес может быть сокращен до следующего вида:
Данная последовательность символов :: должна использоваться не более одного раза! Например, следующий адрес не является корректным адресом IPv6:
Адресом IPv6 локального узла является адрес 0000:0000:0000:0000:0000:0000:0000:0001 , который может быть сокращен до ::1 .
21.2. Идентификаторы сети и узла
Одно из немногих сходств между протоколами IPv4 и IPv6 заключается в том, что адреса имеют часть относящуюся к узлу и часть, относящуюся к сети и определяемую маской подсети. При использовании нотации CIDR последняя выглядит следующим образом:
В приведенном выше адресе 64 бита используются в качестве идентификатора узла, что в теории позволяет использовать четыре миллиарда во второй степени различных узлов.
При использовании нотации CIDR адрес локального узла выглядит следующим образом:
21.3. Генерация части адреса, относящейся к узлу
Часть автоматически генерируемого адреса IPv6 ( stateless address ), которая относится к узлу, включает часть, предназначенную для хранения MAC-адреса узла.
Некоторые люди предъявляют претензии по поводу безопасности данного подхода.
21.4. Запись адреса IPv4 в рамках адреса IPv6
Некоторые приложения используют адреса IPv4, записанные в рамках адресов IPv6. (Да, в течение некоторого времени будет длиться эра миграции, в ходе которой будут использоваться как адреса IPv4, так и адреса IPv6). Подобный адрес IPv6 выгладит аналогичным образом:
При формировании подобных адресов шестнадцатеричные и десятичные числа смешиваются.
21.5. Адреса link local
При работе с протоколом IPv6 адреса, начинающиеся с fe8. , могут использоваться лишь в рамках локального сегмента сети (точка заменяется на десятичное число). По этой причине вы можете видеть строку Scope:Link после адреса в данном примере. Приведенный адрес используется лишь узлами из локального сегмента сети .
Все адреса узлов, которые могут использоваться лишь в рамках локального сегмента сети ( link local ), начинаются с fe8. .
Каждый Интернет-провайдер, поддерживающий протокол IPv6, получает адрес из описанного диапазона.
21.6. Уникальные локальные адреса
На данный момент признанная устаревшей система адресов внутренних сетей ( site local addresses ) аналогична по своей сути частным диапазонам адресов IPv4 и заменена на глобальную систему уникальных локальных адресов IPv6. Это сделано для предотвращения появления дубликатов адресов при объединении двух сетей в рамках диапазонов адресов внутренних сетей .
Все уникальные локальные адреса начинаются с fd.. .
21.7. Глобальная система уникальных адресов для одноадресной передачи
Ввиду того, что протокол IPv6 проектировался с учетом поддержки множества IP-адресов для каждого сетевого интерфейса, глобальная система уникальных адресов IPv6 может использоваться вместе с системой адресов link local .
Эти глобально-уникальные IP-адреса начинаются с 16-битного значения 2. или 3. .
21.8. Механизм 6to4
Механизм 6to4 описан в стандартах RFC 2893 и RFC 3056 как единственный возможный способ передачи пакетов IPv6 через сеть IPv4 без создания специализированного туннеля IPv6.
Данный механизм позволяет закодировать адрес IPv4 с помощью адреса IPv6, который начинается с 2002 . К примеру, адрес 192.168.1.42/24 будет закодирован как:
Вы можете использовать приведенную ниже команду для преобразования любого адреса IPv4 в адрес описанного формата.
21.9. Интернет-провайдеры
Если вам посчастливится получить адрес IPv6 от вашего интернет-провайдера, он будет начинаться с 2001: .
21.10. Частные адреса
По аналогии с адресом example.com в случае сервера DNS, следующие диапазоны адресов IPv6 зарезервированы для примеров и не доступны из сети Интернет.
21.11. Утилита ping6
Используйте утилиту ping6 для тестирования работоспособности соединения, которое установлено между узлами, поддерживающими протокол IPv6. Вам придется указать интерфейс (таблица маршрутизации не используется для ‘произвольным образом’ сгенерированных адресов IPv6 сегмента локальной сети).
В примере ниже утилита ping6 работает в широковещательном режиме и принимает ответы от трех поддерживающих протокол IPv6 узлов из одной и той же сети.
21.12. Использование протокола IPv6 в Бельгии
Большой объем информации об использовании протокола IPv6 в Бельгии приведен на веб-сайте www.ipv6council.be .
Такие веб-сайты, как ipv6.belgium.be , www.bipt.be и www.bricozone.be уже поддерживают протокол IPv6. Также данный протокол поддерживается сайтами некоторых университетов: fundp.ac.be (Namur) и ulg.ac.be (Liege).
21.13. Другие веб-сайты
Другими полезными для тестирования протокола IPv6 веб-сайтами являются веб-сайты:
При переходе по адресу ipv6-test.com веб-сайт определит, используется ли вами корректный доступный адрес IPv6.
При переходе по адресу test-ipv6.com веб-сайт также займется определением того, используется ли вами корректный доступный адрес IPv6.
21.14. Шлюзы, использующие механизм 6to4
Для получения доступа к веб-сайтам, работающим исключительно по протоколу IPv4, в случае использования протокола IPv6 вы можете задействовать ресурс sixxs.net (а точнее, http://www.sixxs.net/tools ) в качестве шлюза.
21.15. Утилита ping6 и DNS
Ниже приведен снимок окна сниффера, который был использован для перехвата трафика утилиты ping6 , работающей с соединением, на уровне которого задействован механизм 6to4.
21.16. Протокол IPv6 и стек протоколов TCP/IP
Ниже приведен снимок окна сниффера, который был использован для перехвата трафика, сгенерированного в процессе осуществления рукопожатия протокола TCP и установления соединения по протоколу HTTP с использованием протокола IPv6.
21.17. Протокол IPv6 и ресурсная запись PTR
Как было сказано в разделе, посвященном серверу DNS, ресурсные записи PTR домена ip6.net содержат дочерние домены, разделенные на 32 уровня.
21.18. Настройка механизма 6to4 в Linux
Ниже приведена последовательность команд, позволяющая настроить механизм 6to4 в системе Linux.
Источник
Как получить IPv6 IP-адрес в Linux
У меня есть сервер Linux, и я хочу найти основной адрес IPv6 с помощью одной командной строки.
Моя команда до сих пор:
Но я хочу только одно вхождение , так что вывод гласит:
покажет ваши адреса IPv6.
/sbin/ip -6 addr | grep inet6 | awk -F ‘[ \t]+|/’ ‘
Вывод /sbin/ip -6 addr | grep inet6 выглядит примерно так:
awk -F ‘[ \t]+|/’ ‘
grep -v ^::1 | grep -v ^fe80 исключить любую строку, начинающуюся с ::1 или fe80 .
Если вы хотите случайный выбор одного адреса IPv6
Если вы хотите IPv6-адрес наиболее распространенного имени для первого адаптера Ethernet
Если вы просто хотите адрес
Используйте следующую команду для просмотра вашего IP-адреса в Linux:
Обычно адрес IPv6 выглядит так 2001:5c0:9168::/48 . Если вы столкнулись с каким-либо конфликтом в вашем IP-адресе, выполните следующие шаги, чтобы снова установить IP-адрес:
- Чтобы назначить IPv6 IP-адреса, убедитесь, что у вас установлены инструменты iproute2.
- Используя их, давайте начнем назначать ваши IP-адреса.
- Убедитесь, что модуль ipv6 установлен или нет.
Затем используйте следующую команду для добавления нового ip:
После этого добавьте IP-адрес по умолчанию через
После завершения установки просто переконфигурируйте / перезапустите службы с поддержкой IPv6, такие как Apache, SSH и т. Д.
С несколькими небольшими изменениями ваша первоначальная попытка сработала бы:
Большим изменением является добавление -o флага, который заставляет печатать записи, по одной на строку, что облегчает их запуск по sed.
Во-первых, вы должны помнить, что с IPv6 любая машина может иметь несколько адресов IPv6, и они могут находиться в разных сетях, и любой из них может использоваться, в зависимости от того, где вы хотите достичь.
Итак, прежде чем вы сможете ответить на вопрос, какой IP-адрес вашего источника, вы должны решить, куда вы отправляете трафик. Затем вы можете просто попросить Linux сообщить вам, какой IPv6-адрес будет источником при отправке трафика в этот пункт назначения.
Если вы отправляете его в «Интернет», просто выберите случайный глобальный IPv6-адрес, например, общедоступный DNS-адрес Google.
Это запрашивает у Linux маршрут к этому месту назначения. Perl анализирует результат поиска src и затем печатает следующее поле.
Предоставляя другое место назначения, вы можете получить другой адрес источника:
Источник
Как пинговать IPv6-адрес из командной строки Windows и Linux
IPV6 означает «Internet Protocol Version 6», и он был введен для замены IPV4 из-за исчерпания адресов IPv4.
Из-за того, что IPV4 имеет ограниченное количество IP-адресов и с расширением Iot (Internet of Things), количество IP-адресов, которые могут быть использованы в IPV4, начали заканчиваться, а IPV6 был представлен как решение этой проблемы.
Существуют различные преимущества IPV6 по сравнению с IPV4, а некоторые из них:
- IPV6 предоставляет большой пул адресов, точнее теоретический максимум 2 ^ 128 адресов
- Автоматическая настройка: устройства IPv6 могут настраиваться самостоятельно при подключении к другим устройствам IPv6
- Улучшение механизмов аутентификации и конфиденциальности в IPV6
- Более эффективная маршрутизация из-за наличия уникальных IP-адресов
Пингование адресов IPV6
Чтобы проверить подключение IPV6 на вашем компьютере, вам необходимо иметь одно из следующих предварительных условий.
- Установка туннеля IPV6 на вашем компьютере
- Иметь родной транспорт IPV6 от вашего интернет-провайдера, чтобы использовать IPv6 через Интернет
- Включить сетевые передачи IPv6, такие как маршрутизаторы, чтобы использовать IPV6 внутри вашей локальной сети / WAN
Если вы настроили любой из этих методов, вы можете проверить подключение к адресам IPV6 с помощью команды «ping», как показано ниже.
Использование команды Ping
Команда Ping используется для проверки возможности подключения к определенному месту назначения по сети, и он широко используется между различными сторонами по всему миру для устранения неполадок в сети.
Команда ping работает, отправляя сообщение эхо-запроса протокола ICMP (ICMP) адресату и ожидая ответа.
Используя эту команду, мы можем получить информацию, такую как количество ответов, полученных от получателей, и время, необходимое для их возврата.
Команда Ping доступна из командной строки в Windows 7/8/10, Windows Vista, Windows XP и всех операционных системах Linux.
Вы можете выполнить следующие шаги, чтобы выполнить ping к адресам IPV6 с вашей машины Windows
Шаг 1. Откройте командную строку на компьютере Windows, как описано на одном из предыдущих шагов.
Шаг 2. Введите команду в командной строке, чтобы выполнить ping на адрес IPV6.
Команда: ping -6 [IPV6 address]
В целях тестирования вы можете просто использовать IPV6-адрес Google, который является адресом «ipv6.google.com»,
Как вы можете видеть, 3 пакета были переданы и 3 получены с потерей пакетов 0%, что означает, что подключение к IPV6-адресу Google выполнено успешно.
Использование команды Ping6
выполните следующие шаги, чтобы проверить подключение к IPv6-адресам с вашей Linux-машины, отправив запрос на этот адрес
Шаг 1. Откройте терминал, как описано на одном из предыдущих шагов
Шаг 2: введите команду ниже в терминале для отправки на IP-адрес
Команда: ping6 -c [Count] -I [Interface] [Destination Address / Hostname]
Здесь, с ключом -C, вы можете указать количество пакетов, которые вам нужно передать, и с помощью -I вы можете указать интерфейс.
В этом примере после назначения адреса IPV6 «% eth0» добавляется, поскольку он является локальным адресом связи, и машина имеет несколько интерфейсов (Wi-Fi / eth0), поэтому вам необходимо сообщить устройству интерфейс / ссылку хотите использовать этот локальный адрес.
Но это не требуется для других типов адресов.
Как найти IPV6-адрес вашего ПК?
Существует несколько способов найти IPV6-адрес вашего ПК, и в этой статье показаны самые простые способы найти его как на ОС Windows, так и на Linux (операционных системах)
На Windows :
Не все дистрибутивы Windows поддерживают протокол IPV6, поскольку развертывание протокола интернет-протокола версии 6 (IPv6) происходит только с середины 2000-х годов, и из-за этого Microsoft Windows поддерживает IPv6 только с Windows 2000.
Дистрибутивы Windows, поддерживающее IPV6:
- Windows Vista
- Windows Server 2008
- Windows XP c SP1 или более поздние
- Windows version 7/8/10
- Windows Server 2003 или выше
Используйте нижеприведенные шаги, чтобы найти IPV6-адрес вашего компьютера Windows.
Шаг 1. Перейдите в панель поиска Windows и найдите командную строку, набрав «cmd».
Там вы увидите подсказку командной строки, как показано ниже, и выберите ее
Шаг 2. В командной строке введите «ipconfig» и затем посмотрите все текущие значения конфигурации сети TCP / IP на вашем компьютере
Шаг 3: Там, где вы видите данные о соединении через Ethernet, вы сможете увидеть свой IPV6-адрес
На Linux :
Все современные дистрибутивы Linux с ядром выше, чем Kernal 2.2, поддерживают IPV6 и ниже некоторых примеров
Ниже приведены шаги, которые вы можете использовать, чтобы узнать IPv6-адрес вашей Linux-машины. В этом примере мы показали вам способ найти IPV6-адрес машины Ubuntu
Шаг 1. Перейдите в панель поиска машины Ubuntu, которая находится в верхнем левом углу
Шаг 2. Найдите слово «terminal», а затем вы увидите «Терминал» в результатах поиска. Выберите его
Шаг 3: Введите «ifconfig» в терминале, чтобы увидеть все сетевые конфигурации на вашей машине Linux.
Там, в конфигурациях eth0, вы сможете увидеть свой IPV6-адрес
Поиск маршрутов пакетов IPV6
Из всех инструментов диагностики сети, доступных для просмотра информации о маршруте, traceroute является самым популярным инструментом.
Traceroute отслеживает пакеты маршрутов, взятые из IP-сети, на пути к данному хосту.
Он использует поле времени IP-протокола для жизни (TTL) и пытается получить ответ ICMP TIME_EXCEEDED от каждого шлюза по пути к хосту.
Traceroute6 в Linux
Ниже приведена команда просмотра сведений о маршруте пакетов IPV6 на машине Linux. Он отображает маршруты, по которым прошли пакеты IPV6, и время, которое они прошли, чтобы пройти через них.
Команда: traceroute6 [IP-адрес IPV6]
tracert -6 в Windows
Подобно инструменту traceroute6, в машинах Windows команда tracert -6 может использоваться для отслеживания маршрутов пакетов IPV6. Он отслеживает путь к месту назначения, обнаруживая MTU по этому пути и использует порт порта UDP или некоторый случайный порт.
Источник