Перейти к содержимому

Поддержка ipv6 в роутере что это

  • автор:

Что нужно для выбора роутера с IPv6. Что значит IPv6 Ready

Во-первых , есть много технологий совмещения IPv6 в IPv4 сетях, так как провайдер скорее всего сразу на чистый IPv6 не перейдёт, а это вносит некоторые особенные требования к технологиям поддерживаемыми роутером. Соответственно, перед приобретением роутера следует обратиться за рекомендациями провайдера предоставляющего интернет с использованием стека IPv6.

Во-вторых , ввиду молодости технологии, трудно найти виновного, роутер или провайдер, в случае, отсутствия доступа в интернет.

Вывод: есть разница между чистым IPv6, и технологией двойного стека IPv6+IPv4. Ввиду молодости технологий совмещения IPv6 и IPv4, невозможность и нежелание провайдеров переходить на чистый IPv6, ведёт к возникновению нежелательных разночтений в реализации технологии на IPv4 оборудовании. Знак IPv6 Ready говорит нам лишь о поддержке IPv6, но это совсем не значит, что роутер обязан поддерживать, то множество технологий, которые призваны совместить IPv6 и IPv4 сети. Только провайдер может указать вам на используемую технологию и оборудование корректно поддерживающее его .

Если рекомендации насчёт IPv6 от провайдера получены?

В случае, если на руках мы имеем рекомендации можно приступить к поиску соответствующего роутера. Скажем прямо, много современных роутеров известных фирм поддерживают большинство современных технологий предоставления IPv6. Тем не менее, результат достигается только методом проб и ошибок. Выбрав роутер соответственно рекомендациям провайдера, в него следует залить последнюю прошивку для данной модели с сайта производителя. Этого не стоит бояться, если вы скачаете не корректную прошивку роутер предупредит вас об этом, и установка будет прервана, без последствий. После установки последней прошивки на роутер, его следует настроить, тоже, по рекомендациям провайдера. Не стоит удивляться если, что-то всё же не заработает. Если провайдер самоустраниться от этой проблемы, поменять у продавца роутер на роутер другого производителя с аналогичными характеристиками. Метод подбора всегда актуален, но требует временных затрат, так что всегда лучше нагрузить этим кого-то другого, например, опять же того же провайдера.

Из личного опыта оптимальными роутерами являются, с точки зрения количества поддерживаемых технологий совместимости IPv6 и корректность работы, пожалуй выберу TP-LINK. Однако, не все модели мне удалось подержать в руках. Собственно, и производители не стоят на месте улучшая качество работы своих устройств.

Нужно ли включать в роутере IPv6 в домашней сети?

IPv6 — это последующее развитие протокола IPv4. В настоящее время ряд экспертов советуют включать IPv6 в роутерах домашних сетей по следующим причинам. Исчерпание IPv4 адресов. IPv4 пространство уже практически исчерпано, поэтому миграция на IPv6 становится все более актуальной. Включение IPv6 позволит быть готовыми к этой миграции. Поддержка современных сервисов и устройств. Многие новые устройства и онлайн-сервисы уже поддерживают IPv6. Включив IPv6 в роутере, вы сможете полноценно ими пользоваться. Улучшенная безопасность. IPv6 предлагает некоторые улучшения в плане безопасности по сравнению с IPv4. Повышение производительности. Сети на базе IPv6 могут работать эффективнее за счет уменьшенной загрузки маршрутизаторов. Готовность к будущему. В будущем IPv6, вероятнее всего, полностью вытеснит IPv4. Так что включение IPv6 в роутере позволит быть готовыми к этому переходу. Эксперты рекомендуют включать IPv6 в роутерах домашних сетей, чтобы поддерживать современные технологии, быть готовыми к полному переходу на IPv6 в будущем и получить некоторые преимущества по сравнению с IPv4.

Протокол IPv6: что это такое и как он работает

IPV6

Протокол сетевого взаимодействия TCP/IPv4 используется для передачи зашифрованных данных в сети интернет и локальных подсетях уже более тридцати лет. На его основании создается и поддерживается уникальная адресация сетевого оборудования (узлов). Еще в начале 90-х годов прошлого века был определен основной недостаток данного протокола – ограничение по количеству возможных ip-адресов, которое не может превысить 4,23 миллиарда. В результате была разработана новая система протоколирования сетевого взаимодействия – интернет-протокол IPv6 (Internet Protocol version 6). Однако массовый переход на более прогрессивную технологию обусловлен некоторыми сложностями. Хотя, например, в Соединенных Штатах уже более половины пользователей применяют именно протокол IPv6.

Основные отличия протоколов IPv4 и IPv6

Как уже было сказано, ключевым недостатком протокола четвертой версии TCP/IPv4 является ограниченная масштабируемость уникальных адресов, присваиваемых для идентификации в сетях взаимодействия. Для создания ip-адресов на уровне программных записей используется 32-х битная система в формате 0.0.0.0 – 255.255.255.255. При построении локальных подсетей вводится дополнительный атрибут «маска подсети», записываемая после символа «/». В результате даже крупные ЛВС, объединенные в Ethernet, чаще всего имеют один публичный ip-адрес, выдаваемый провайдером и закрепленный на уровне шлюза (маршрутизатора). Самостоятельный обмен данными на уровне отдельных устройств частной подсети с выходом в паблик-интернет требует сложного администрирования. Для решения задач маршрутизации, требующих получения статических IP-адресов, понадобятся дополнительные финансовые затраты.

В интернет-протоколе нового поколения IPv6 для создания адресной маршрутизации используется 128-битная система записи. В IPv6-адресе записи представляют собой восемь 16-битных блоков, разделенных двоеточиями: 2dfc:0:0:0:0217:cbff:fe8c:0. Общее количество ip-адресов, возможных для распределения, может составить в общей сложности 2 128 ( приблизительно 340 282 366 920 938 000 000 000 000 000 000 000 000). Повсеместное использование данного стандарта позволит полностью решить задачу нехватки сетевых адресов в обозримом будущем.

С целью упрощения записи адреса в протоколе IPv6 используется вариант сжатия кода, когда смежные последовательности нулевых блоков заменяются парами символов двоеточия. Например, адрес групповой рассылки FFEA:0:0:0:0:CA28:1012:4254 в сжатой форме будет представлен в укороченном виде FFEA::CA28:1012:4254. Данный механизм упрощает процесс записи, хранения и обработки кода.

По правилам протокола IPv6 назначение сетевых адресов происходит автоматически и уникализируется за счет идентификации на уровне MAC-адреса конкретной единицы оборудования, для которой необходим выход в публичную сеть. Другими словами, каждый домашний компьютер, смартфон, холодильник или стиральная машина с функцией подключения к внешним устройствам получает собственный «белый» ip-адрес для коннекта с другими хостами через интернет. Доступна также произвольная генерация кодов путем администрирования с использованием маршрутизаторов.

VDS Timeweb арендовать

Впечатляет минимальный диапазон адресов подсети, получаемых пользователем при подключении по протоколу IPv6. Например, при использовании маски подсети «/128» получаем более 2 56 адресов.

Спорным является вопрос отличия в скорости передачи трафика по каждому из протоколов. По умолчанию технология протокола IPv6 обеспечивает большую скорость обработки трафика на уровне отдельного оборудования сети в целом. Использование NAT в протоколе IPv4, который обеспечивает трансляцию адресов абонентов и хранение в памяти информации об установленных соединениях, приводит к большой загрузке оборудования. Поэтому в моменты пиковой нагрузки каждый пользователь отмечает резкое падение скорости соединения.

В протоколе IPv6 не применяется обязательная обработка пакетов и отслеживание уже открытых соединений при маршрутизации доступа к хостам. Отсутствие необходимости трансляции значительно снижает ресурсную нагрузку на сетевые устройства. Для пользователя это означает выравнивание скорости интернет-соединения. Провайдеры в такой ситуации могут использовать менее ресурсоемкое, а значит, более дешевое оборудование.

Дополнительные преимущества протокола IPv6

По сравнению с четвертой версией, в протоколе TCP/IPv6 реализован ряд дополнительных функциональных возможностей:

используется более простой заголовок, из него исключены несущественные параметры, что снижает нагрузку на маршрутизаторы при обработке сетевых запросов;

более высокий уровень обеспечения безопасности, аутентификации и конфиденциальности, которые положены в основу данной технологии;

в протоколе реализована функция Quality of Service (QoS), позволяющая определять чувствительные к задержке пакеты;

при передаче широковещательных пакетов используются многоадресные группы;

для реализации технологии мультивещания в IPv6 задействовано встроенное адресное пространство FF00::/8;

для повышения безопасности используется поддержка стандарта шифрования IPsec, который позволяет шифровать данные без необходимости какой-либо поддержки со стороны прикладного ПО.

В настоящее время эксперты ведут дискуссии на предмет обеспечения безопасности данных в случае гибридного применения двух протоколов. Провайдеры выстраивают IPv6-туннели для предоставления пользователям IPv4 доступа к высокоуровневому контенту. Применение данной технологии увеличивает риски хакерских атак. Функция автоконфигурации, когда устройства самостоятельно генерируют IP-адрес на основе MAC-адреса оборудования, может быть использована для незаконного отслеживания конфиденциальных данных пользователей.

Внедрение протокола TCP/IPv6

Несмотря на долгую историю разработки, которая берет начало в 1992 году, тестирование нового протокола состоялось одномоментно 8 июня 2011 года в Международный день IPv6. Эксперимент прошел удачно и предоставил возможность для выработки рекомендаций по дальнейшему совершенствованию данной технологии, ее массовому внедрению.

Первой компанией, внедрившей в 2008 году стандарт протокола IPv6 на постоянной основе, стал Google. Тестирование проводилось в течение четырех лет, было признано успешным. 6 июня 2012 года состоялся Всемирный запуск IPv6. Сегодня мировые лидеры в производстве сетевого оборудования Cisco и D-Link применяют данный сетевой стандарт в своих маршрутизаторах на базовом уровне. В мобильных сетях стандарта LTE поддержка протокола IPv6 является обязательной. IT-компании Google, Facebook, Microsoft и Yahoo используют IPv6 на своих основных web-ресурсах. Протокол получает все большее распространение в корпоративных сетях и при домашнем использовании.

Согласно исследованиям Google, на начало 2020 года доля IPv6 в общемировом сетевом трафике составляла около 30%. В России данный показатель значительно ниже, он составляет приблизительно 4,5% всего трафика. В то же время все большее количество отечественных регистраторов доменов и хостинг-провайдеров переводят свои DNS-серверы на протокол IPv6.

Сложности перехода

Возникает резонный вопрос: если протокол TCP/IPv6 обладает таким количеством преимуществ по сравнению с предшественником, почему бы просто не перейти на него всем миром? Основное препятствие лежит в сфере финансов и временных параметров. Для полномасштабного использования новой технологии требуются серьезные инвестиции в программно-техническую модернизацию компьютерного парка всех провайдеров.

Использование динамических ip-адресов по протоколу IPv4 позволяет временно сдерживать проблему нехватки уникальных сетевых идентификаторов. Другими словами, проблемы администрирования локальных сетей перекладываются на конечных пользователей, которые вынуждены настраивать сложные схемы маршрутизации подсетей и покупать дополнительные ip-адреса. В то же время рост количества конечных сетевых устройств происходит очень быстро. Внедрение технологий прямой коммуникации даже с обычными бытовыми приборами через интернет требует новых подходов в построении архитектуры их взаимодействия. В связи с этим повсеместный переход на использование стека протокола TCP/IPv6 неизбежен.

IPv6 (tutorial)

Internet Protocol version 6 (IPv6) is a network layer IP standard used by electronic devices to exchange data across a packet-switched network. It follows IPv4 as the second version of the Internet Protocol to be formally adopted for general use.

There are too many devices in the world for 32-bit (2 32 , or 4,294,967,296) IP addresses to be sufficient.
The next version of the TCP/IP protocol, IPv6 offers 128-bit address space, or 2 128 (≈ 3.4 x 10 38 ) IP addresses; this is approximately 5×10 28 addresses for each of the roughly 6.5 billion people alive today, or about 57 billion addresses for each gram of matter in the Earth, or 6.67*10 23 addresses for each m² of Earth, including oceans.

Keep in mind it can be dangerous to enable IPv6 without also having a firewall on each client that handles IPv6 packets, or having ip6tables on your router to filter incoming connections. ip6tables is NOT included by default with DD-WRT, which means your clients will be directly exposed to the Internet once you have enabled IPv6.

Contents

[edit] Prerequisites

  • DD-WRT compatible router
  • Knowledge about the Command Line
  • Knowledge about the ip command
  • A current recommended build of the firmware (see your hardware forum for recommendations) using a version that includes IPv6 support.
  • IPv6 enabled through the GUI section Administration/Management/Router Management/Ipv6
  • Enabling jffs would be helpful (optional)

[edit] IPv6 on your LAN

[edit] Overview

If you already have a working IPv6 router or are not interested in routing IPv6 traffic out of your LAN, your main concern is to allow your wireless clients traffic pass the to the wired side.

When your DD-WRT box is your IPv6-router, see other solutions below for 6to4 tunneling solutions.

[edit] Enabling IPv6 Support

On the Administration>Management page, enable IPv6 and radvd.

[edit] Configuring Radvd (if your DD-WRT box is NOT your IPv6-router)

Radvd is similar to a DHCP server. It advertises your IPv6 prefix to the local network, so that a new client can generate its own IP address. This config tells radvd to get an IPv6-address from the wired side, and properly announce it to the LAN (br0).

Copy the following into your radvd settings box:

[edit] ip6tables for K26 big images

The currently recommended K2.6 big images ship with basic IPv6 support. That means that you’re able to activate the IPv6 IP stack for routing and static tunnels. What’s missing are the ip6tables kernel modules and the userland tools needed. It’s possible to add the missing parts but that requires some basic Linux system knowledge. It’s assumed here that you have /jffs mounted and a few megs of space available and you know how to use ipkg. Please note: What you’ve to download still depends a lot on the hardware you’re running on!

[edit] Kernel modules

The currently recommended build r14929 ships with a patched Linux kernel with a version number set to 2.6.24.111. Since the kernel modules from OpenWRT have the magic version information set you can’t use the kmod packages from OpenWRT. Because of the version mismatch insmod won’t load those modules.

This leaves you with two options:

  1. Trust lazytom and download his set of modules from the forum http://www.dd-wrt.com/phpBB2/download.php?id=16285
  2. If you don’t trust random people on the internet (which is a good thing) you’ll find an introduction on how to build these modules yourself in this blog post http://blog.dest-unreach.be/2010/12/01/compiling-custom-dd-wrt-kernel-modules

Whatever you do I assume that you’ve now a bunch of .ko files at your hand. Those are your kernel modules. The three most relevant might be ip6_tables.ko, ip6table_filter.ko and nf_conntrack_ipv6.ko.

On your router create an apropriate directory, I use /jffs/lib/modules/2.6.24.111 and scp all or a subset of the modules to this directory. Aferwards you can change to that directory and try to load them by executing e.g. insmod ip_6tables.ko. With lsmod you can check if they’re loaded correctly.

Now that you’ve the required kernel modules loaded we can move on to the userland tools.

[edit] Userland

System wise OpenWRTs Kamikaze release is very close to the r14929 build, so you should pick at least the following packages from http://downloads.openwrt.org/kamikaze/8.09.2/:

  • ip6tables
  • iptables (important, contains basic shared objects used by ip6tables aswell)
  • iptables-mod-conntrack
  • iptables-mod-filter

Furthermore for debugging efforts it might be helpful to install the iputils-ping6 and iputils-traceroute6 packages aswell.

Download all those packages and install them on your router with e.g. ipkg -d root install *.ipkg. Now ip6tables -vxL should give you the basic output with the INPUT, FORWARD and OUTPUT default tables.

Now face the fact that the OpenWRT userland is organized slightly different which results in ip6tables beeing unable to find its shared object files. You can workaround that problem by setting the IP6TABLES_LIB_DIR enviroment variable.

To make it a permanent setting you can put the following in a ipv6.startup file.

You should now finally be able to create a bunch of regular rules with the ip6tables command. Your average /jffs/etc/config/ipv6.startup file (you’ve to create one to make this persistent) might start with something like this:

I hope this helps to get you started without digging hours through the various forum posts.—Fnord42 20:06, 14 January 2011 (CET)

[edit] 6to4 Setup

[edit] Overview

6to4 is a mechanism which assigns a large block of IPv6 addresses to every IPv4 address on the Internet. You can use 6to4 with DD-WRT to give every computer on your network a globally-accessible IPv6 address without the need to configure explicit tunneling. This should be the simplest method to add IPv6 to your entire network.

  • In order to use ipv6, you need the Standard or VoIP version of DD-WRT, as these are currently the only ones which support both IPv6 and radvd.
  • The detailled configuration steps are targeted toward users with a basic DHCP connection for the WAN part. So, if using PPPoE will require replacing vlan1 with ppp0 in each instance. Other connection types will vary.
  • When using DD-WRT standard on a router with 4MB Flash, there is no space available for jffs.
  • This guide only relies on nvram variables, so that jffs is not needed.
  • The configuration shown below has been verified to work properly on v24 sp1 stable (standard)

[edit] Enabling IPv6 Support

On the Administration>Management page, enable IPv6 and radvd.

[edit] Configuring Radvd

Radvd is similar to a DHCP server. It advertises your IPv6 prefix to the local network, so that a new client can generate its own IP address. This config tells radvd to get a 6to4 prefix from the WAN side (vlan1) and announce it to the LAN (br0)

Copy the following into your radvd settings box:

[edit] Startup Script

This startup script acquires your current IPv4 address and uses it to calculate a 6to4 IPv6 address. It then creates the tunnel interface, configures a route, and assigns the address. Afterwards, it sends radvd a SIGHUP so that it will become aware that the prefix has changed.

Go to Administration>Diagnostics or Administration>Commands in v24 sp1, copy the following into the big box, and hit «Save Startup».

[edit] 6to4 on current builds (after v24 sp1)

Pandora-Box got a script that works on current builds of v24. This has been successfully implemented on Eko 13309 big (which does not come with ipv6, so you must use «ipkg install kmod-ipv6» to get it to work.

The scripts are as follows:

in Administration, under IPv6/RaDVD config:

in Adminstration > Commands, Startup Script:

[edit] 6to4 on k2.6 builds

The above scripts can be modified to use with 2.6 kernel builds, as follows:

Radvd config:

Startup script:

Note that this script is specifically for the WRT610N v1, where vlan2 is the WAN. On other routers, you may have to substitute vlan1, eth1, etc. To find your WAN interface, telnet to your router and run

and find the line with your WAN address. The interface listed there is your WAN interface (mine was eth1 on a DLink DIR-825).

[edit] 6rd

Comcast (and other providers) are using IPV6 over 6rd. See: Comcast 6RD Configuration Instructions for IPv6

Here is an example dd-wrt config for use with the 2.4 pre-sp2 with a k2.6 build (14584M NEWD-2 K2.6 Eko)

You can disable radvd from the management tab since this script creates the conf file and starts radvd. Place the following in your startup commands section:

If you use a local lan gateway other than 192.168.1.1, you will need to update the script. Right now 6rd.comcast.net only resolves to one IP address, but the script does take multiple A records into account and uses the dns resolver on the router to load balance between addresses.

[edit] Performance Concerns

When you send a packet from a 6to4 address to a native IPv6 address, it has to pass through a 6to4 gateway. RFC3068 established the special anycast address 192.88.99.1 which is supposed to lead you to the nearest gateway. However, some ISPs don’t handle this properly, so you may find that all of your packets are crossing an ocean or two.

If this affects you, then you may need to do some detective work to locate a closer gateway. One possible approach is to use IPv4 Looking Glass tools to traceroute to 192.88.99.1 from various locations on the Internet and see where you end up.

Or you could bug your ISP about it, but they’ll probably be like «IPvWHAT?»

[edit] 6to4 IPv6 as default protocol

As per RFC3484 §2.1 default policy table, having a 6to4 enabled LAN (using a 6to4 anycast tunel on a DD-WRT enabled box, say) will mean that 6to4 IPv6 will only be used to communicate to a server if the server is having a 6to4 adress too (ie: 2002: prefix on its address) or if there is no IPv4 address assigned to the server name (ie: no A but an AAAA).

In short the following makes IPv4 default on IPv6 enabled Windows boxes using 6to4 prefixes.

1. Start -> Run -> «cmd» -> «netsh» -> «interface» -> «ipv6»

2. To enable IPv6 preference on Microsoft Windows.

Only the 2002::/16 line (6to4 prefix policy) is changed.

3. To make things goes back to original mode (IPv4 preference).

Notes: ::1/128 == localhost, ::/0 == default, 2002::/16 == 6to4, ::/96 + ::ffff::0/96 == IPv4 compatibility, 2001::/32 == Teredo, 2000::/3 would be All IPv6 Global Unicast address space

[edit] 6to4 on WAN connections with dynamically assigned IPv4 address

If you have a dial-up connection with a dynamically assiged IPv4 address, the corresponding IPv6 address block changes every time a new WAN connection is established. You can put the 6to4 startup script into /jffs/etc/config/6to4.wanup to get the correct 6to4 IPv6 block every time when you get a new IPv4. Please note that this means that all your network’s global IPv6 addresses change, too. For more info, see [1]

[edit] SixXS Tunnel Broker

[edit] Requesting a Tunnel/Subnet

1. Sign up with a RIPE/ARIN/etc handle or by using the direct signup
2. After your login at the SixXS Home you can request a tunnel and later a subnet.

Note that providing a link to a XING or LinkedIn profile or providing links to projects you work on can provide extra ISK credits. ISK credit is used to ‘purchase’ a tunnel, subnet or other services.

[edit] Static Tunnel

There are instructions at Remoteroot.net with example scripts.

This wiki also offers an example IPv6 startup script

Notice that radvd doesn’t work with mini version but requires the full version of DD-WRT. Also if you have problems with pinging and SixXS, notice their FAQ message related to this.

[edit] Dynamic Tunnel

[edit] Install AICCU

1. Install AICCU using ipkg.

2. Configure AICCU.

Note that if you can’t write to /jffs/etc/, you can always store the script in another directory (that of course is persistent otherwise you loose it 🙂 and use eg ‘aiccu start /tmp/aiccu.conf’ to pick a different configuration file location.

To actually start aiccu you’ve to add an ipup script, e.g. /jffs/etc/config/sixxs.ipup.

[edit] Announce your own subnet with radvd

radvd is already part of the IPv6 enabled images so you just have to bring up your own IPv6 address and start radvd with a configuration. You can enter the contents for your radvd.conf in the webfrontend so that it will end up in /tmp/radvd.conf but you’ve to start radvd yourself with a startup file after you assigned an IPv6 address from the subnet to one of your interfaces. In practise your radvd.conf can be as simple as this:

The startup file, e.g. /jffs/config/ip6.startup to go with this configuration will depends a bit on how many addresses/subnets you’ll actually use. In the usual cases it will be very similar to the following.

Please note: 2001:DB8::/32 is a subnet dedicated for use in documentation. You’ve to replace that with the subnet you’ll get assigned by SixXS.

Reboot the router! When the router comes back up, you should be able to use IPv6. Congratulations!

[edit] Hurricane Electric’s Tunnelbroker.net

[edit] Registration

1) Sign up for an account with our web based registration at Tunnelbroker.net

2) After creating your account, provide your IPv4 endpoint, and pick the closest tunnel-server to your location:

  • Hong Kong, HK
  • Singapore, SG
  • Tokyo, JP
  • Amsterdam, NL
  • Paris, FR
  • Stockholm, SE
  • Zurich, CH
  • Ashburn, VA, US
  • Chicago, IL, US
  • Dallas, TX, US
  • Fremont, CA, US
  • Los Angeles, CA, US
  • Miami, FL, US
  • New York, NY, US
  • Seattle, WA, US
  • Toronto, ON, CA

[edit] Features

By default you already get a /64 allocation routed to your side of the tunnel.

If you need more than a single /64, with the click of a button you can allocate a single /48 routed to your side of the tunnel.

A large variety of configuration examples are provided for various platforms covering: Linux, *BSD, Windows as well as router platforms.

Tunnelbroker.net is operated and maintained by a business and not individuals, and provided FREE to anyone interested in learning more about IPv6.

[edit] Startup Script

This works for me on v24 SP2:

  • The tunnel address and routed address are on your Tunnel Details page on HE’s website. For MY_TUNNEL_ADDR, use the value for «Client IPv6 Address», and for MY_ROUTER_ADDR, use the value for «Routed /64».
  • Many people have working configurations using only the tunnel address for everything, but you need to use the routed address for your network if you want certain things like reverse DNS to work.
  • You have to have your radvd config saved in /jffs/radvd.conf. Running radvd from the web interface has never worked for me; if it works for you, you can drop the radvd line from the script.
  • This script doesn’t handle when your IP address changes; you’ll need to manually update it on HE’s website, or use the endpoint updater script below.
  • I occasionally have issues with the tunnel dying randomly. Pinging the router’s IPv6 address fixes it for some reason, I have no idea why. 🙁 — update 2009.12.14 by calraith: Try adding metric 1 as an argument to the ip route add directives. ip route add ::/0 dev he-ipv6 metric 1
  • When you put your radvd config into the webgui (on administration tab) it is available at /tmp/radvd.conf. You can use this instead of creating a /jffs/radvd.conf file (I have issues with my jffs on my WRT350N). I have my startup.debug file in /tmp/startup.debug as well.

[edit] Endpoint updater

If your router gets a dynamic ip, you need to update your endpoint in your tunnelbroker account. This can be done on DDWRT with this busybox-only script: Tunnelbroker.net enpoint address updater

Download it into tmp or jffs, edit the file to set up your credentials or just run it from commandline:

updateipv4.sh username password tunnelid

A successful update means either your current endpoint IP is the same as your previous one, or it has been updated to your current one.

Edit: zracer For this script to work you need to deselect Security->Firewall->»Block Anonymous WAN Requests (ping) «

Because tunnelbroker.net uses a ping to verify the new ip address.

[edit] Another approach

The above approach did not work for me. The general problem with DD-WRT is there are no tools to really test what is wrong with the configuration. IPv6 to IPv4 did work for me. So I decide to try a method that would allow me to easily toggle back and forth. That way I could tell the difference between a problem on my router v.s. a problem in my end client.

First off since we need a way to recycle the tunnel when the router’s IPV4 address change, it makes sense to put the main logic in a separate script. The following is my /jffs/updateipv4.sh script:

Be sure to run ‘chmod ugo+rx /jffs/updateipv4.sh’.

Next the startup script. Set this in your startup under Administration->Commands->Startup:

Note: The sleep commands are just to give time for the IPV4 network to come-up, and for the updates from the script to finish.

Finally, Radv5 config. Set this under Administration->Management->IPV6 Support->Radvd config:

The prefix value should be your Route 64 address. e.g. 2001:270:1c:1d8::/64

If instead you wish to use an IPV6 to IPV4 bridge instead use an address of 0:0:0:1::/64 and uncomment the Base6to4Interface line like the following:

Walla. Once everything is saved you are ready to reboot your router. If things don’t work try running the updateipv6.sh script interactively. Note: I’ve designed the updateipv6.sh script so it can be rerun regularly to pickup a new wan ip address. So if the wanip is the same as the last time it ran, it does nothing. If you want to force it to run anyway (for debugging purposes), the simply remove the /tmp/wanip file first. e.g.

[edit] Additional Links

[edit] Notes

[edit] Anonymous IPv6 at Microsoft Windows

By default on WinXP, Win2003 or WinVista, IPv6 addresses built from IPv6 prefix (stateless configuration for instance) are using the EUI-64 (cf MAC address) of your network card as a suffix. This can lead to some privacy issues, hence another IPv6 address is dynamically computed and used by default. Such an anonymous address changes (according to a computation algorithm) each time the IPv6 stack starts. This can cause some trouble under certain conditions where the server needs a unique and static IPv6 (containing the EUI-64). The solution is to deactivate the creation of those «privacy addresses». But be carefull, this will then lead to leaking the EUI-64 and also enables people to track you (logs, google, etc). So, it’s a tradeoff.

If you want to disable temporary IPv6 addresses, try the command :

[edit] ping6 at dd-wrt v23

After installing these packages you have to change the priority of the /lib path in your shell environment:

For the last step you have to change the ping6 symlink:

Now ping6 should work for the current xterm session.

[edit] ping6 at dd-wrt v24-sp2

Install iputils-ping6 from OpenWRT

[edit] Troubleshooting

So you’ve tried to set up IPv6, but it didn’t work! Don’t panic, it’s probably still fixable.

[edit] Tunnel issues

The first question to ask is, can you ping the router from the internet? Head over to [2] and use the ping test with your external IPv6 IP. (For HE and SixXS tunnels, this will be your client tunnel IP; for 6to4, it’ll be generated from your public IPv4 address.) If the ping goes through, congratulations! Your tunnel isn’t the problem.

[edit] 6to4-specific issues

6to4 uses a special IP address (192.88.99.1) to configure the tunnel. Try pinging this IP; if it doesn’t work, then 6to4 probably won’t work for you. You could bother your ISP about it, but as likely as not they’ll just ignore you completely.

6to4 also requires that protocol 41 (different from port 41!) be accessible. It’s rare for ISPs to block this, but if they really feel like jerks it’s not impossible. proto41 blocking is difficult to detect, unfortunately.

[edit] Hurricane Electric specific issues

Make sure your IPv4 address is set properly on the HE website. If not, your tunnel won’t work. Similarly, make sure the IPv6 tunnel addresses you use are correct.

[edit] Radvd issues

If you’re using radvd and it’s not working somehow, then your router will have a working IPv6 connection, but it won’t be passed on to your other computers. If your computers aren’t receiving IPv6 addresses, then this is the problem.

The best tool for checking this is the radvdump program. Run it as root, and it’ll show you any router advertisements your computer sends or receives. If you don’t see any after a while, radvd probably isn’t running. Try running «ps | grep radvd» on your router to see if it is. If it’s not running, you can save your config file to jffs, and then run radvd manually:

Beyond making sure IPv6 support is enabled on your client computers, you shouldn’t have to configure anything else when using radvd.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *