Я установил сервер 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, как и виртуальные машины.
Вы включили 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
Единственная очевидная проблема, которую я вижу с Вашей конфигурацией:
bridge_stp off
По различным причинам STP должен быть включен на мостах libvirt.
Изменение конфигурация к:
bridge_stp on
можно также сразу активировать его, не перезапуская сеть:
$ sudo brctl stp br0 on
Каждый адрес 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) .
SDKs
(как на снимке экрана) раздел в Studio Android? Раз так добавьте те же конфигурации в IntelliJ.
– Anton Dozortsev
15 November 2015 в 06:21