Преимущества IPv6
Чем же IPv6 лучше своего предшественника? Кроме того, что мы избавляемся от проблем в IPv4-адресацией, у нас теперь есть:
- отсутствие головной боли с частными подсетями;
- использование NAT скорее исключение, чем правило;
- упрощённая маршрутизация;
- говорим «прощай» DHCP.
Основным недостатком IPv6 можно назвать
длинные адреса в шестнадцатеричном виде. Четыре фрагмента адреса IPv4,
разделённые точками, легки для запоминания, а вот восемь кусков
шестнадцатиричных чисел запомнить куда труднее.
Моя система поддерживает IPv6?
Как узнать, включена ли поддержка IPv6 в вашем Linux? Очень просто:
Если вы увидите в своей системе вывод,
подобный этому — значит всё отлично, поддержка IPv6 в вашей системе
включёна. Вообще, все современные Linux-дистрибутивы поддерживают IPv6
«из коробки».
Пинг IPv6
Если вам нужно выполнить пинг IPv6-системы, вам понадобится утилита ping6. Следующая команда отправляет два пакета к localhost:
Исследование сети
Хотите узнать, есть ли кто-то в вашей сети, кто имеет поддержку IPv6? Легко!
Представленный в примере вывод команды ping6 говорит что да, есть два: fe80::20b:6aff:feef:7e8d и fe80::221:97ff:feed:ef01.
Обратите внимание, что вы обязательно должнеы указать имя интерфейса
программе ping6, даже если этот интерфейс в вашей системе
один-единственный. ff02::1 — это сокращенный вариант адреса ff02:0:0:0:0:0:0:1, который является специальным мультикаст-адресом, предназначенным для отправки пакетов всем link-local хостам.
Адреса link-local — это все адреса в диапазоне fe80::/10, который по смыслу эквивалентен диапазону 169.254.0.0/16
в IPv4. Любой адрес из этого диапазона предназначен для
автоконфигурирования ОС и пакеты, отправленные с такого адреса не
пропустит ни один маршрутизатор, ограничивая их существование в пределах
сегмента локальной сети. Протокол IPv6 спроектирован так, что интерфейс
обязан иметь link-local адрес, даже если у него есть другой.
После того, как ваш хост обменялся
данными с другими хостами по IPv6, адреса последних попадут в таблицу
окружения (neighbor table) IPv6 (это что-то вроде ARP-таблицы).
Содержимое neighbor table вы можете просмотреть при помощи утилиты ip:
Здесь «nud reachable» означает «статус network unreachability detection установлен в состояние reachable»,
то есть сетевой хост доступен. Каждая запись в neighbor table временная
и хранится в течение нескольких минут после последней сетевой
активности в направлении хоста.
Использование сетевых имён
Оставим пока «правильные» сисадминовские
методы настройки соответствия имён хостов их IP-адресам, а сейчас
воспользуемся старым добрым /etc/hosts. Представим, у вас есть три хоста в одном физическом сегменте сети, имеющие имена fatfreddy, phineas, и franklin. Создадим на каждом из хостов записи в /etc/hosts:
fe80::20b:6aff:feef:7e8d fatfreddy
fe80::221:97ff:feed:ef01 phineas
fe80::3f1:4baf:a7dd:ba4f franklin
fe80::221:97ff:feed:ef01 phineas
fe80::3f1:4baf:a7dd:ba4f franklin
Теперь можно пинговать системы по имени:
$ ping6 -I eth0 phineas
PING phineas(phineas) from fe80::221:97ff:feed:ef01 eth0: 56 data bytes
64 bytes from phineas: icmp_seq=1 ttl=64 time=17.3 ms
SSH и SCP
SSH и SCP умеют работать c IPv6.
Внимание, при передаче параметров этим утилитам из командной строки,
имеются определённые синтаксические особенности, так что будьте
внимательны! Если у вас настроено корректное разрешение имён
IPv6-хостов, то разницы при вызове утилит вообще никакой. Вы таким же
образом можете подключаться к удалённой оболочке:
и копировать файлы:
А вот в случае использования IPv6-адресов всё чуток сложнее. Установка SSH-сессии:
И опять же, если вы используете
link-local адрес, то вы должны указать имя интерфейса с которого будете
осуществлять подключение. Как показано выше, делается это путём
добавления знака процента и имени интерфейса. Вызов scp имеет ещё более
дурацкий синтаксис:
IPv6-адрес вместе именем интерфейса
необходимо заключать в квадратные скобки, а квадратные скобки в свою
очередь экранировать, чтобы оболочка не узрела в них спецсимволов.
Какой у меня IPv6-адрес?
Команда 'ifconfig -a'
выводит информацию обо всех сетевых интерфейсах, находящихся в системе:
как о физических, так и о виртуальных. Получив информацию по конкретному
интерфейсу вы можете воспользоваться grep, чтобы отфильтровать информацию об IPv6-адресе интерфейса:
Интернет
Работа в сегменте локальной сети — это,
конечно, хорошо, но как обстоят дела в работой IPv6 в глобальной сети?
Для того, чтобы воспользоваться IPv6 в интернет, ваш провайдер должен
выдать вам «чистый» IPv6-адрес. Таких провайдеров сегодня очень мало.
Свою первую IPv6-сеть автор настроила в 2004 году и если бы вы сказали
ей, что спустя семь лет ситуация с IPv6 останется почти такой же, она бы
вам не поверила. Да, 2011-й в этом плане не очень-то отличается от
2004-го. Тем временем, вы можете воспользоваться IPv6-over-IPv4 tunnel
broker-ами (как, впрочем, вы могли это сделать и в 2004-м!), такими как SixXS или Hurricane Electric.
8 июня 2011 года — мировой день IPv6.
В этот день Google, Comcast, Facebook, Yahoo!, Akamai и Limelight
Networks, а также ещё некоторые провайдеры включат доступ к своим хостам
по IPv6 на 24 часа. Убедитесь в том, что вы готовы принять участие в
тестировании и узнайте больше на test-ipv6.com.
Так же, как и в случае с IPv4, ваш
провайдер должен выделить вам блок адресов IPv6. Адреса из этого блока
являются глобальными адресами, находящимися в диапазоне 2000::/3. Давайте в качестве эксперимента попробуем присвоить какому-нибудь сетевому интерфейсу адрес из этого диапазона:
Теперь взглянем, что у нас получилось:
Удалить назначенный адрес можно при помощи всё той же утилиты ip:
В реальной жизни вам будут выделять
большой блок адресов, например 256 или больше, так что вам нужно будет
настроить сервер для их автоматической раздачи вашим хостам. В следующей
части статьи мы с вами рассмотрим, как это делается. Также рассмотрим,
как необходимо настроить файрволл и службу имён для работы с IPv6.
Источник: Linux.Com
У этой статьи есть продолжение. ЧАСТЬ 2
Комментариев нет:
Отправить комментарий