Различия

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

he.net:howto [2009-10-09 15:19 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); 
-  - Ознакомиться с предлагаемым туннельным сервером HE.net (выбранным автоматически, как самый близкий). При желании, можно выбрать любой другой, нажав кнопку "Override". В списке указаны их IP-адреса, так что при желании можно проверить время отклика и маршрут до каждого из них с помощью  ''ping'' или ''traceroute''. Для находящихся в России, оптимальным сервером будет один из шести находящихся в Европе (в зависимости от используемого провайдера); +  - В строке "We recommend you use:" будет указан рекомендованный (самый близкий к вам, по мнению HE.net) туннельный сервер. Можно выбрать его, либо какой-нибудь другой из списка ниже. В списке также указаны IP-адреса этих серверов, так что перед выбором можно проверить время отклика и маршрут до каждого с помощью  ''ping'' или ''traceroute''. Некоторые сервера также могут быть недоступны для выбора (например по причине заполненности, "Not available (full)"). Для находящихся в России, оптимальным сервером будет один из находящихся в Европе (какой именно -- зависит от вашего провайдера и точек его подключения к европейским сетям); 
-  - Нажать кнопку "Submit".+  - Нажать кнопку "Create Tunnel".
===== 3. Настройка вашего компьютера ===== ===== 3. Настройка вашего компьютера =====
Строка 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 ipv6.google.com''. Либо, зайти на какие-нибудь IPv6-сайты через браузер: к примеру, на тот же [[http://ipv6.google.com/|ipv6.google.com]] или [[http://ipv6.sixy.ch/|Sixy.ch]], каталог доступных по 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. Настройка автозапуска туннеля =====
Строка 46: Строка 44:
Во втором файле (и в самом начале первого) - команда удаления туннеля, ''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://ipv4.tunnelbroker.net/main.php|вашей странице]] у брокера, представляет из себя длинную последовательность цифр и букв;+  * ID пользователя (это не имя пользователя!) указан на [[https://ipv4.tunnelbroker.net/main.php|вашей странице]] у брокера, представляет из себя длинную последовательность цифр и букв;
  * ID туннеля указан на странице настройки туннеля, в поле "Global Tunnel ID".   * ID туннеля указан на странице настройки туннеля, в поле "Global Tunnel ID".
===== 7. Раздача IPv6 в локальную сеть ===== ===== 7. Раздача IPv6 в локальную сеть =====
-По умолчанию, туннельный брокер Hurricane Electric предоставляет нам две подсети с маской /64: одна используется для связи между вашим роутером и туннельным сервером брокера, а вторая (с адресом, отличающимся на единичку в середине) предназначена для использования компьютерами в вашей локальной сети, и называется в веб-интерфейсе "**Routed /64**". +...[[:he.net:to-lan|рассмотрена на следующей странице]].
- +
-Ради простоты примеров, предположим, что вашей Routed-подсетью оказалась **2001:470:aaab:ccc::/64**, а интерфейсом, к которому подключена локальная сеть, является **eth0**. Рассмотрим процесс настройки роутера на примере Debian GNU/Linux. +
- +
-==== 7.1 Настройка файрволла ==== +
-Поскольку при использовании IPv6 каждый из компьютеров вашей локальной сети будет иметь настоящий, Интернетовский IP-адрес, важно настроить на вашем роутере сетевой экран, который будет блокировать все запросы на входящие соединения из Интернета, но разрешать их, если они исходят из локальной сети. Это может выглядеть примерно так: +
-<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> +
-Можно сохранить эти команды в шелл-скрипт, а чтобы он выполнялся при каждом включении компьютера, добавить его вызов в ''/etc/rc.local''. +
- +
-Либо, если вы как и я, пользуетесь скриптом [[http://packages.debian.org/arno-iptables-firewall|arno-iptables-firewall]], указанные команды достаточно внести в ''/etc/arno-iptables-firewall/custom-rules'' и перезапустить файрволл. +
- +
-==== 7.2 Назначение адреса внутреннему интерфейсу ==== +
-IPv6-адрес из раздаваемой в локалку подсети необходимо также назначить и сетевому интерфейсу самого роутера. Адрес можно выбрать любой, к примеру для роутеров часто используется адрес с ::1 в конце. Добавляется он так: +
-<code>ip addr add 2001:470:aaab:ccc::1/64 dev eth0</code> +
-Для более перманентного сохранения этой настройки, добавим её в ''/etc/network/interfaces'': +
-<code>... +
-iface eth0 inet6 static +
- address 2001:470:aaab:ccc::1 +
-        netmask 64 +
-...</code> +
- +
-==== 7.3 Установка и настройка radvd ==== +
-Устанавливаем radvd: +
-<code>apt-get install radvd</code> +
-Изменяем файл ''/etc/radvd.conf'' следующим образом: +
-<code>interface eth0 +
-+
-   AdvSendAdvert on; +
-   prefix 2001:470:aaab:ccc::/64 +
-   { +
-       AdvOnLink on; +
-       AdvAutonomous on; +
-   }; +
-};</code> +
- +
-Включаем маршрутизацию IPv6. Для этого, нужно добавить в ''/etc/sysctl.conf'' следующие строки (либо изменить их, если они там есть): +
-<code>net.ipv6.conf.all.forwarding=1 +
-net.ipv6.conf.default.forwarding=1</code> +
-После чего, выполнить с правами ''root'': +
-<code>sysctl -p</code> +
- +
-Осталось только перезапустить radvd: +
-<code>/etc/init.d/radvd restart</code> +
-Всё, теперь компьютеры локальной сети должны автоматически получить адреса из вашей Routed-подсети ''/64''. Можно проверить это, попинговав ipv6.google.com с любого из них.+
===== Если ничего не работает, ===== ===== Если ничего не работает, =====
-...или у вас возникли какие-то другие вопросы, обращайтесь [[http://linuxforum.ru/index.php?showtopic=91687|в ветку о настройке IPv6 на форуме linuxforum.ru]], либо [[:contact|ко мне]].+...или у вас возникли какие-то другие вопросы, заходите на наш [[:irc|IRC-канал об IPv6]].

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