IPv6 accept_ra и routing в Linux

Читайте доки, они рулят…
Потратил непозволительно много времени чтобы понять почему linux хост “вдруг” перестал принимать icmp6 router advertisement от рутера и удалил из таблицы маршрутизации default route. “Вдруг” – это после ковыряния туннелей. Как оказалось функции маршрутизации и router solicitation взаимоисключающие (ну почти).
Хост может быть или роутером и тогда сам рассылает RA или клиентом и тогда принимает объявы от роутеров. При активации sysctl переменной net.ipv6.conf.all.forwarding прием RA отвалился. Сие поведение описано в rfc2462. “Читайте доки, они рулят” – в который раз сказал я себе. А если линукс-хост это хомячковый рутер, который с одной стороны должен поймать адрес рутера от прова а с другой стороны самому быть рутером для домашней локалки? Как гласит ip-sysctl.txt это предусмотренно путем присвоения переменной accept_ra для интерфейса значения “2” (accept_ra=2). Т.е. если нельзя но очень хочется – то можно :)
BSD, кстати, тоже ведёт себя подобным образом, когда-то давно я уже об этом писал. Надо быть внимательнее…

Ссылки по теме:
http://www.mattb.net.nz/blog/2011/05/12/linux-ignores-ipv6-router-advertisements-when-forwarding-is-enabled/

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">