На сегодняшний день не очень большое количество интернет провайдеров (имеется ввиду провайдеры домашнего интернета, а не транзитники) поддерживают полноценную работу с IPv6, но я думаю попробовать работу с новым протоколом уже хочется.
Для этого у нас есть интернет центр Zyxel Keenetic Ultra с последней версией операционной системы NDMS:v2.02, которая уже поддерживает Dual Stack и IPv6 туннельный брокер. В интернете существует множество туннельных брокеров как платные, так и бесплатные, список приводить не буду что бы не сочли за рекламу.
Кому интересно как это настраивается добро пожаловать под кат
В KB Zyxel есть Инструкция для веб интерфейса роутера по настройке 6to4 туннеля, но по ней IPv6 через Wi-Fi у меня не заработал (а именно раздача IPv6 на клиента), через LAN порты я этого не проверял. По причине «бедности» этого самого web интерфейса настройку роутера мы будем проводить через cli.
Итак логинимся по telnet на наш роутер и авторизуемся с теме же учетными данными что и в web конфигураторе роутера. Если ничего не меняли в учетке (tag cli, tag http) то должно пустить.
Попадаем в меню конфигурации и начинаем нашу настройку
В начале идем в конфигурацию параметров системы и разрешаем передачу трафика по протоколу ipv6
(config)> <b>system set net.ipv6.conf.all.forwarding 1</b>
Далее создаем и настраиваем наш туннельный интерфейс
(config)> interface TunnelSixInFour0 (config-if)> description 6to4_tunnel - описание туннеля (config-if)> ip remote xxx.xxx.xxx.xxx - ipv4 адрес сервера с которым устанавливаем туннель (config-if)> ipv6 address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx - ipv6 адрес который выдал туннельный брокер, обычно идет с 64 префиксом, но здесь его указывать не нужно (config-if)> ipv6 prefix xxxx:xxxx:xxxx::/xx - ipv6 префикс который выдал туннельный брокер и который можно выделить вашим клиентам, обычно /48 (config-if)> ipv6 name-servers auto - автоматическое получение IPv6 адреса DNS-сервера который тоже обычно есть у брокера (config-if)> ipv6 force-default - маршрут по умолчанию через этот интерфейс выглядит как (::/0 | :: | TunnelSixInFour0) (config-if)> up - включаем интерфейс (config-if)> exit - выходим из контекста конфигурации интерфейса.
Вот собственно этот конфиг и делает то, что указано в инструкции в KB, но этого не достаточно для работы IPv6 на клиентах.
Теперь нам нужно повесить IPv6 адрес на интерфейсе который звучит как Home (Это бриджовый интерфейс который совмещает в себе правила на Wi-Fi сети и Lan).
делается это следующим образом
(config)> interface Bridge0 (config-if)> ipv6 address auto (config-if)> exit
кому интересно вот полный конфиг интерфейса
! interface Bridge0 name Home description "Home network (Wired and wireless hosts)" inherit Switch0/VLAN1 include AccessPoint include AccessPoint_5G security-level private ip address xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx ip dhcp client dns-routes ip dhcp client name-servers igmp downstream ipv6 address auto up !
Остались последние штрихи — создание подсети, которую мы получили префиксом от провайдера и прикрепление ее к интерфейсу Bridge0
(config)> ipv6 subnet 6to4_prefix - создаем подсеть (config-subnet)> bind Home - вешаем ее на наш бриджовый интерфейс (config-subnet)> number 0 - нумерация по порядку (если не напишете, создастся автоматически) (config-subnet)> mode slaac - включение slaac, анонс сети который работает через ICMPv6-RA (config-subnet)> exit
можем добавить сюда еще IPv6 DNS-сервера
(config)> ipv6 name-server xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
Посмотрим поднялся ли наш интерфейс
(config)> show interface TunnelSixInFour0 index: 0 type: TunnelSixInFour description: 6to4_tunnel state: up link: up connected: yes mtu: 1480 tx-queue: 0 Core::Configurator: done.
Посмотрим ходит ли через него трафик
(config)> show interface TunnelSixInFour0 stat rxpackets: 6322 rxbytes: 751914 rxerrors: 0 rxdropped: 0 txpackets: 29599 txbytes: 1364490 txerrors: 2 txdropped: 0 Core::Configurator: done.
Примерно такую картину вы можете увидеть если все хорошо.
Также в веб интерфейсе вкладке Системный монитор -> IPv6 должны появится:
IPv6 адрес оконечника вашего туннеля, висящий на интерфейсе TunnelSixInFour0, с действительностью infinite
IPv6 адреса ваших клиентских устройств
Префикс полученный от брокера
Маршрут в интернет
::/0 с шлюзом :: и интерфейсом TunnelSixInFour0
Маршруты вида
xxxx:xxxx:xxxx::/64 с шлюзом :: и интерфейсом Home к вашим клиентским компьютерам
Сохраним конфигурацию через веб интерфейс или cli
(config)> system config-save
Вот собственно настройка завершена и если на клиентском компьютере есть поддержка ipv6 протокола то
ping -6 ipv6.google.com будет удачным.
Еще конечно можно было бы закрутить гайки ACL, но на данном роутере IPv6 ACL не поддерживаются.
UPD. Уже неделю туннель работает нормально, обрывов не замечено, процессор роутера в загрузке 6%, память 7%, входящего трафика прошло порядка 7 гб (думаю что это Youtube, кстати при просмотре видео тормозов не возникало), единственный нюанс что у меня используется украинский брокер туннеля и яндекс с гуглом определяют мое местонахождение в Киеве, но думаю поменять это у Вас проблем не возникнет.
На этом все, строго не судите первая статья на хабре.
ссылка на оригинал статьи http://habrahabr.ru/post/208568/
Добавить комментарий