Как отключить автоматическое объявление соседнего маршрута IPv6 на маршрутизаторе?

8

Я работаю на интернет-провайдера, который готовит свою инфраструктуру к IPv6. Наши основные маршрутизаторы уже имеют рабочую настройку, но большая часть наших оптоволоконных клиентов находится за маршрутизатором, работающим под управлением Debian Squeeze.

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

Наш текущий план предусматривает ручную настройку адресов IPv6 во всех системах, но я не могу найти переключатель или параметр, позволяющий ядру не выполнять объявления маршрутизатора.

Какие-либо предложения?

Shadur
источник
1
Ты уверен, что не бежишь radvd? Сам по себе Linux не должен быть источником рекламы роутеров.
Селада
Да, довольно точно - ни на одном маршрутизаторе не установлено программное обеспечение.
Шадур
1
Ну, тогда это загадочно. Что-то отправляет эти объявления маршрутизатора, и я почти уверен, что это не ядро ​​(ядро действительно принимает объявления маршрутизатора автономно без какой-либо помощи со стороны пользовательского программного обеспечения, но не отправляет их, насколько мне известно).
Селада

Ответы:

2

отключить прием RA:

sysctl -w net.ipv6.conf.<interface>.forwarding=0
sysctl -w net.ipv6.conf.all.forwarding=0
sysctl -w net.ipv6.conf.<interface>.accept_ra=0
sysctl -w net.ipv6.conf.all.accept_ra=0

или добавьте что-то подобное в / etc / network / interfaces

pre-up echo 0 > /proc/sys/net/ipv6/conf/<interface>/forwarding
pre-up echo 0 > /proc/sys/net/ipv6/conf/<interface>/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/default/accept_ra
h3rrmiller
источник
Мне все еще нужно сделать пересылку. Мне просто нужно, чтобы он прекратил рассылать или пересылать рекламу маршрутизатора.
Шадур
forwarding = 0 не будет отключать пересылку пакетов. Настройки ipv6, к сожалению, очень запутанные
h3rrmiller
это для принятия РА, кстати. Похоже, вам нужно отключить Radvd. взглянут в /etc/radvd.conf и изменения , AdvSendAdvert onчтобы AdvSendAdvert offв нужном интерфейсе.
h3rrmiller
2

Похоже, вы соединяете 2-й уровень между интерфейсами LAN и WAN. В этом случае большая часть внутреннего трафика вашего пользователя может оказаться в глобальной сети, а все объявления маршрутизатора в глобальной сети (предназначенные для CPE) фактически являются мостами к локальной сети.

Если это так, то:

  1. прекратите это, это может легко поставить под угрозу безопасность вашего пользователя
  2. использовать ebtables для фильтрации между LAN и WAN

Я действительно надеюсь, что я не прав здесь ...

Сандер Штеффанн
источник
Я уверен, что ничего не соединяю.
Шадур
Если вы не соединяете мосты, то что-то на вашем CPE отправляет эти объявления маршрутизатора. Ядро этого не делает. Обычно radvdэто инструмент, используемый для их отправки, но, возможно, есть какое-то другое программное обеспечение, которое делает это на вашей коробке.
Сандер Штеффанн
0

То, что вы, вероятно, действительно хотите, это DHCP-PD (делегирование префиксов). С DHCP-PD ваши настройки IPv6 будут намного больше похожи на ваши настройки IPv4.

В IPv4 вы используете DHCP, чтобы назначить клиенту один адрес IPv4, затем клиент использует NAT для распределения локальных IP-адресов в своей сети (обычно также через DHCP).

В IPv6 вы используете DHCP-PD для назначения / 64 клиенту, затем клиент использует маршрутизатор adv. назначить адреса из этого / 64 его внутренней сети. Существуют сценарии для обновления конфигурации radvd всякий раз, когда назначаемый вами параметр / 64 изменяется.

др. к.
источник