IPv6 не работает через мост

Я установил сервер Ubuntu 14.04 неделю назад. Я использую его в качестве хоста виртуальной машины (установлен tasksel). то есть я запускаю его с помощью kvm + libvirt.

Я установил тот же мост, который был у меня в 13.10.

auto p4p1
iface p4p1 inet manual
    up ifconfig $IFACE up
    down ifconfig $IFACE down

auto br0
iface br0 inet static
    address 46.182.xxx.xxx
    netmask 255.255.255.240
    gateway 46.182.xxx.xxx
    dns-nameservers 46.182.xxx.xxx 46.182.xxx.xxx
    bridge_ports p4p1
    bridge_stp off
    bridge_maxwait 0

iface br0 inet6 auto

Против br0 я подключаю свои виртуальные машины к <source bridge='br0'/>, определенному в libvirt.

Мои виртуальные машины получают сообщения Router Advertising без проблем. Все виртуальные машины получают адреса IPv6.

Моя проблема в том, что IPv6 не работает через мост. Но он работает, когда я включаю tcpdump против br0 для устранения неполадок. Я попытался установить интерфейс вручную в смешанном режиме, но это не позволяет ему работать, ifconfig br0 promisc.

Почему у меня есть IPv4-адреса на мосту? Я не знаю, старая привычка, никогда не подвергайте сомнению это. IPv6 не работает на хосте виртуальной машины, но хост получает IPv6-адрес по RA, как и виртуальные машины.

6
задан 4 May 2014 в 10:17

3 ответа

Вы включили IPv6 в интерфейсе вообще? если устройство моста является br0, то сделайте это:

sysctl net.ipv6.conf.br0.disable_ipv6=0
sysctl net.ipv6.conf.br0.autoconf=1
sysctl net.ipv6.conf.br0.accept_ra=1
sysctl net.ipv6.conf.br0.accept_ra_defrtr=1
0
ответ дан 4 May 2014 в 10:17

Единственная очевидная проблема, которую я вижу с Вашей конфигурацией:

    bridge_stp off

По различным причинам STP должен быть включен на мостах libvirt.

Изменение конфигурация к:

    bridge_stp on

можно также сразу активировать его, не перезапуская сеть:

$ sudo brctl stp br0 on
0
ответ дан 4 May 2014 в 10:17

Каждый адрес IPv6, даже местные связью, автоматически подписывается на группу передачи на основе своих последних 24 битов. Если слежка передачи позволена, мостовые фильтры (почти) весь трафик передачи по умолчанию. Когда адрес IPv6 назначен на интерфейс, система должна сообщить сети, что этот интерфейс интересуется той конкретной группой передачи и должен быть исключен фильтром. Следующее - хорошее вводное видео: https://www.youtube.com/watch? слежка передачи v=O1JMdjnn0ao

там, чтобы предотвратить затопление сети с пакетами передачи, что большинству систем не интересно. Вы можете отключить передачу, шпионящую в маленьком развертывании без того, чтобы замечать любую большую разницу. Но это может оказать значительное исполнительное влияние на большее развертывание.

Вы можете отключить слежку с:

echo -n 0 > /sys/class/net/<brif>/bridge/multicast_snooping

, Если Вы хотите защитить свой VMs от нежелательного трафика и ненужной обработки пакета, Вы можете уехать, слежка позволила, но также и позвольте передаче Querier в сети. Querier будет периодически передавать пакеты вопроса и обновление, шпионящее фильтры на выключателях и мостах. Возможно позволить Querier на Вашей системе с:

echo -n 1 > /sys/class/net/<brif>/bridge/multicast_querier

, Если у Вас есть слежка, позволил, у Вас должен также быть querier в сети.

нет никакой потребности позволить STP. Вероятно, более безопасно выключить его, если Вы не знаете, что соединяете сегменты, которые приводят к круглым путям. Это также не важно, если у Вас есть позволенный SLAAC (т.е. autoconf=1, accept_ra=1). Предоставление возможности способа PROMISC на мосту неявно отключает слежку.

Вот хорошее резюме современного проблемы IPv6 Neighbor Discovery (ND) и Multicast Listener Discovery (MLD) .

0
ответ дан 4 May 2014 в 21:17
  • 1
    @AnuraagBaishya у Вас есть какая-либо конфигурация в SDKs (как на снимке экрана) раздел в Studio Android? Раз так добавьте те же конфигурации в IntelliJ. – Anton Dozortsev 15 November 2015 в 06:21

Другие вопросы по тегам:

Похожие вопросы: