Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

he.net:howto [2009-08-27 08:28 UTC]
rm
he.net:howto [2018-10-05 05:01 UTC] (текущий)
rm
Строка 1: Строка 1:
-====== Протокол IPv6: как? ======+====== IPv6 через tunnelbroker.net ======
//Впервые опубликовано 2009-05-02// //Впервые опубликовано 2009-05-02//
-{{page>:ipv6:toc}}+Существует несколько вариантов настройки на имеющем адрес IPv4 компьютере поддержки IPv6: [[:isp|прямое]], [[:6to4:howto|6to4]], [[:miredo|Teredo]], а также через туннельного брокера.
-Существует несколько вариантов настройки на имеющем адрес IPv4 компьютере поддержки IPv6: прямое, 6to4, Teredo, а также через туннельного брокера. +Первый вариант для многих отпадает сразу -- не так много на сегодня (октябрь-2018) в России провайдеров, готовых выдавать IPv6-адреса обычным пользователям домашнего интернета. Два следующих -- 6to4 и Teredo, хотя и имеют некоторые преимущества (6to4 не требует нигде регистрироваться, а Teredo во многих системах либо задействован по умолчанию, либо [[:miredo|крайне просто подключается]]), не предоставляют всех потенциальных возможностей IPv6.
-Первый вариант отпадает практически сразу -- нет на сегодня (май-2009) в России провайдеров, готовых выдавать IPv6-адреса обычным пользователям домашнего интернета. Два следующих -- 6to4 и Teredo, хотя и имеют некоторые преимущества (6to4 не требует нигде регистрироваться, а Teredo во многих системах либо задействован по умолчанию, либо [[:ipv6:miredo|крайне просто подключается]]), не предоставляют всех потенциальных возможностей IPv6. +Поэтому, рекомендую рассмотреть вариант использования туннельного брокера. Я пользуюсь [[https://tunnelbroker.net/|tunnelbroker.net]], на примере него и опишу регистрацию и настройку туннеля.
- +
-Поэтому, рекомендую рассмотреть вариант использования туннельного брокера. Я пользуюсь [[http://tunnelbroker.net/|tunnelbroker.net]], на примере него и опишу регистрацию и настройку туннеля.+
===== 1. Регистрация на tunnelbroker.net ===== ===== 1. Регистрация на tunnelbroker.net =====
Строка 15: Строка 13:
===== 2. Создание туннеля ===== ===== 2. Создание туннеля =====
После регистрации эккаунта, необходимо создать туннель. Для этого следует: После регистрации эккаунта, необходимо создать туннель. Для этого следует:
-  - Войти на [[http://tunnelbroker.net/|сайт брокера]] под своим именем и паролем;+  - Войти на [[https://tunnelbroker.net/|сайт брокера]] под своим именем и паролем;
  - Выбрать в левом меню "User Functions > Create Regular Tunnel";   - Выбрать в левом меню "User Functions > Create Regular Tunnel";
-  - На открывшейся странице "Setup Regular IPv6 Tunnel" ввести свой текущий IP-адрес((Если вы подключены к интернету через NAT, вводить здесь нужно реальный, интернетовский адрес вашего провайдерского NAT-шлюза.)). Важно, чтобы у вас (или у провайдера) не были заблокированы входящие пакеты ICMP (пинги); +  - На открывшейся странице "Setup Regular IPv6 Tunnel" ввести свой текущий IP-адрес. Важно, чтобы у вас не были заблокированы входящие пакеты ICMP (ping); 
-  - Ответить на вопрос "Which Server Is Closest to you?", выбрав один из туннельных серверов HE.net. Рядом указано их местонахождение и IP-адреса, рекомендую выбирать из наиболее близких географически (для России - европейских), проверив время отклика каждого из них с помощью ping или traceroute; +  - В строке "We recommend you use:" будет указан рекомендованный (самый близкий к вам, по мнению HE.net) туннельный сервер. Можно выбрать его, либо какой-нибудь другой из списка ниже. В списке также указаны IP-адреса этих серверов, так что перед выбором можно проверить время отклика и маршрут до каждого с помощью ''ping'' или ''traceroute''. Некоторые сервера также могут быть недоступны для выбора (например по причине заполненности, "Not available (full)"). Для находящихся в России, оптимальным сервером будет один из находящихся в Европе (какой именно -- зависит от вашего провайдера и точек его подключения к европейским сетям)
-  - Нажать кнопку "Submit".+  - Нажать кнопку "Create Tunnel".
===== 3. Настройка вашего компьютера ===== ===== 3. Настройка вашего компьютера =====
Создав туннель, переходим на экран его настройки (выбирая в меню навигации "Account Menu -> Click For Main Page", и далее - ссылку с именем туннеля в их списке). В нижней части экрана, под надписью "Example OS Configurations (Windows, Linux, etc.)", видим выпадающий список, где предлагается выбрать используемую вами операционную систему. После указания там ОС и нажатия кнопки "Show Config", сервер выдаст список конкретных команд, которые нужно выполнить, чтобы настроить у себя только что созданный туннель. К примеру, в GNU/Linux (пользуясь route2) достаточно сделать: Создав туннель, переходим на экран его настройки (выбирая в меню навигации "Account Menu -> Click For Main Page", и далее - ссылку с именем туннеля в их списке). В нижней части экрана, под надписью "Example OS Configurations (Windows, Linux, etc.)", видим выпадающий список, где предлагается выбрать используемую вами операционную систему. После указания там ОС и нажатия кнопки "Show Config", сервер выдаст список конкретных команд, которые нужно выполнить, чтобы настроить у себя только что созданный туннель. К примеру, в GNU/Linux (пользуясь route2) достаточно сделать:
<code>modprobe ipv6 <code>modprobe ipv6
-ip tunnel add he-ipv6 mode sit remote <IP-адрес туннельного сервера> local <IP-адрес локальный> ttl 255+ip tunnel add he-ipv6 mode sit remote <IP-адрес туннельного сервера> local any ttl 255
ip link set he-ipv6 up ip link set he-ipv6 up
ip addr add <IPv6-адрес вашего конца туннеля>/64 dev he-ipv6 ip addr add <IPv6-адрес вашего конца туннеля>/64 dev he-ipv6
Строка 33: Строка 31:
ipv6 rtu ::/0 2/::<IP-адрес туннельного сервера> pub ipv6 rtu ::/0 2/::<IP-адрес туннельного сервера> pub
ipv6 adu 2/<IPv6-адрес вашего конца туннеля></code> ipv6 adu 2/<IPv6-адрес вашего конца туннеля></code>
-Очень удобно, что в отличие от приведённых здесь примеров, сервер брокера выдаёт эти команды сразу "готовыми к употреблению", то есть размышлять, какие значения куда нужно подставить, чтобы это заработало, вам не придётся. Достаточно будет просто скопировать и вставить предложенный текст в командную строку, после чего IPv6 должен заработать.+Очень удобно, что в отличие от приведённых здесь примеров, сервер брокера выдаёт эти команды сразу "готовыми к употреблению", то есть размышлять, какие значения куда нужно подставить, чтобы это заработало, вам не придётся. Достаточно будет просто скопировать и вставить предложенный текст в командную строку, после чего IPv6 должен заработать. Однако есть одна важная деталь: если вы находитесь за NAT вашего домашнего роутера, замените предлагаемое сайтом "local [IP адрес]" на "local any".
===== 4. Проверка работоспособности ===== ===== 4. Проверка работоспособности =====
-Чтобы проверить, работает ли настроенный вами туннель, можно попробовать попинговать IPv6-версию Google. В GNU/Linux это делается командой ''ping6 ipv6.google.com'', а в Windows -- ''ping -6 ipv6.google.com''. Либо, зайти на какие-нибудь IPv6-сайты через браузер: к примеру, на тот же [[http://ipv6.google.com/|ipv6.google.com]] или [[http://ipv6.thepiratebay.org/|The Pirate Bay по IPv6]].+Чтобы проверить, работает ли настроенный вами туннель, можно попробовать попинговать IPv6-версию Google. В GNU/Linux это делается командой ''ping6 ipv6.google.com'', а в Windows -- ''ping ipv6.google.com''. Либо, зайти на какие-нибудь IPv6-сайты через браузер: к примеру, на тот же [[http://ipv6.google.com/|ipv6.google.com]] или [[http://sixy.ch/|Sixy.ch]], каталог доступных по IPv6 сайтов.
===== 5. Настройка автозапуска туннеля ===== ===== 5. Настройка автозапуска туннеля =====
Если всё работает нормально, осталось добиться того, чтобы туннель автоматически настраивался при каждом включении компьютера, или точнее, при появлении соединения с Интернетом. Сделать это можно по-разному, в зависимости от используемой вами ОС и типа подключения к Интернету. Если всё работает нормально, осталось добиться того, чтобы туннель автоматически настраивался при каждом включении компьютера, или точнее, при появлении соединения с Интернетом. Сделать это можно по-разному, в зависимости от используемой вами ОС и типа подключения к Интернету.
-Лично я использую Debian GNU/Linux и подключение по протоколу PPPoE. Добавил в систему два файла (оба сделал исполняемыми):+Лично я использую Debian GNU/Linux и подключение по протоколу PPTP. Добавил в систему два файла (оба сделал исполняемыми):
  * ''/etc/ppp/ip-up.d/rm-ipv6-up''   * ''/etc/ppp/ip-up.d/rm-ipv6-up''
  * ''/etc/ppp/ip-down.d/rm-ipv6-down''   * ''/etc/ppp/ip-down.d/rm-ipv6-down''
-Во втором файле (и в самом начале первого) - команда удаления туннеля, ''ip tunnel del he-ipv6''. В первом файле, помимо неё - скопированные с сайта брокера строчки для настройки.+Во втором файле (и в самом начале первого) - команда удаления туннеля, ''ip tunnel del he-ipv6''. В первом файле, помимо неё -- скопированные с сайта брокера команды для настройки туннеля.
-Если бы я использовал на своём интернет-шлюзе Microsoft Windows, я мог бы воспользоваться программой [[http://www.nncron.ru/|nnCron]], позволяющей выполнять заданные команды при установлении и потере PPP-соединения.+Ещё один подход к автоматизации поднятия туннеля (с примерами скриптов) описан [[http://habrahabr.ru/blogs/sysadm/85777/|в этой статье]]. 
 + 
 +Если же вы используете на своём интернет-шлюзе Microsoft Windows, могу посоветовать программу [[http://www.nncron.ru/|nnCron]], позволяющую выполнять указанные команды каждый раз при установлении и потере PPP-соединения.
===== 6. Настройка автообновления IP-адреса вашего конца туннеля ===== ===== 6. Настройка автообновления IP-адреса вашего конца туннеля =====
-Поскольку на сайте брокера, в настройках туннеля, должен быть прописан ваш IPv4, существует необходимость эту информацию, при её изменении (получении нового IP-адреса) обновлять. Для этого, нужно тем или иным образом "дёрнуть" вот такой URL: +Поскольку на сайте брокера, в настройках туннеля, должен быть прописан ваш IPv4, существует необходимость эту информацию, при её изменении (получении нового IP-адреса), [[https://ipv4.tunnelbroker.net/ipv4_end.php|обновлять]]. Для этого, нужно тем или иным образом "дёрнуть" вот такой URL: 
-<code>http://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=<MD5 пароля>&user_id=<ID пользователя>&tunnel_id=<ID туннеля></code>+<code>https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=<MD5-сумма пароля>&user_id=<ID пользователя>&tunnel_id=<ID туннеля></code>
К примеру, в GNU/Linux, это можно сделать с помощью ''curl'': К примеру, в GNU/Linux, это можно сделать с помощью ''curl'':
-<code>curl -4 -k --retry 10 --retry-delay 5 "http://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=<MD5 пароля>&user_id=<ID пользователя>&tunnel_id=<ID туннеля>"</code>+<code>curl -4 -k --retry 10 --retry-delay 5 "https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=<MD5-сумма пароля>&user_id=<ID пользователя>&tunnel_id=<ID туннеля>"</code>
Параметры, которые нужно указать в этом URL: Параметры, которые нужно указать в этом URL:
-  * MD5 пароля можно получить, выполнив в командной строке ''echo -n <пароль> | md5sum''; +  * MD5-сумму пароля можно получить, выполнив в командной строке ''echo -n <пароль> | md5sum''; 
-  * ID пользователя (это не имя пользователя!) указан на [[http://tunnelbroker.net/main.php|вашей странице]] у брокера, представляет из себя длинную последовательность цифр и букв;+  * ID пользователя (это не имя пользователя!) указан на [[https://ipv4.tunnelbroker.net/main.php|вашей странице]] у брокера, представляет из себя длинную последовательность цифр и букв;
  * ID туннеля указан на странице настройки туннеля, в поле "Global Tunnel ID".   * ID туннеля указан на странице настройки туннеля, в поле "Global Tunnel ID".
===== 7. Раздача IPv6 в локальную сеть ===== ===== 7. Раздача IPv6 в локальную сеть =====
-На примере Debian GNU/Linux. Устанавливаем radvd: +...[[:he.net:to-lan|рассмотрена на следующей странице]].
-<code>apt-get install radvd</code> +
-Изменяем файл ''/etc/radvd.conf'' следующим образом: +
-<code>interface eth0 +
-+
-   AdvSendAdvert on; +
-   prefix <Ваша подсеть>/64 +
-   { +
-       AdvOnLink on; +
-       AdvAutonomous on; +
-   }; +
-};</code> +
-Вместо "Ваша подсеть" прописываем адрес подсети, указанный на странице свойств вашего туннеля, в поле "Routed /64", вместо ''eth0'' - интерфейс, смотрящий в локальную сеть. +
- +
-Настраиваем файрвол. Это может выглядеть примерно так: +
-<code>iptables -I INPUT  -p ipv6 -j ACCEPT +
-iptables -I OUTPUT -p ipv6 -j ACCEPT +
- +
-ip6tables -F +
- +
-ip6tables -A INPUT -p icmpv6 --icmpv6-type 128 -m limit --limit 900/min -j ACCEPT +
-ip6tables -A INPUT -p icmpv6 --icmpv6-type 129 -m limit --limit 900/min -j ACCEPT +
-ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 128 -m limit --limit 900/min -j ACCEPT +
-ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 129 -m limit --limit 900/min -j ACCEPT +
-ip6tables -A FORWARD -p icmpv6 --icmpv6-type 128 -m limit --limit 900/min -j ACCEPT +
-ip6tables -A FORWARD -p icmpv6 --icmpv6-type 129 -m limit --limit 900/min -j ACCEPT +
- +
-ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT +
-ip6tables -A INPUT -i eth0 -j ACCEPT +
-ip6tables -A INPUT -i lo -j ACCEPT +
-ip6tables -A INPUT -j REJECT +
- +
-ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT +
-ip6tables -A FORWARD -i eth0 -j ACCEPT +
-ip6tables -A FORWARD -j REJECT +
- +
-ip6tables -A OUTPUT -j ACCEPT</code> +
-Вместо ''eth0'', опять же, подставляем интерфейс локальной сети. +
- +
-Включаем маршрутизацию IPv6: +
-<code>echo 1 > /proc/sys/net/ipv6/conf/all/forwarding +
-echo 1 > /proc/sys/net/ipv6/conf/default/forwarding</code> +
- +
-Перезапускаем radvd: +
-<code>/etc/init.d/radvd restart</code> +
- +
-Всё, на этом этапе все компьютеры локальной сети должны автоматически получить адрес внутри выделенной вам подсети ''/64''. Можно проверить это, попинговав ipv6.google.com с любого из них.+
-Для того, чтобы вышеуказанные команды (кроме перезапуска radvd) выполнялись при каждом запуске системы, можно добавить их, к примеру, в /etc/rc.local.+===== Если ничего не работает, ===== 
 +...или у вас возникли какие-то другие вопросы, заходите на наш [[:irc|IRC-канал об IPv6]].

he.net/howto.1251361702.txt · Последние изменения: 2011-05-31 10:45 UTC (внешнее изменение)