LINUX.ORG.RU
решено ФорумAdmin

libvirt и мосты

 , ,


0

1

Здравствуйте. Как всегда, новичок просит помощи. Пытаюсь поднять виртуальную машину под kvm с помощью libvirt, с сетевым адаптером, включённым в мост хоста (debian wheezy).
Конфигурация моста:

iface br0 inet static
    bridge_ports eth2 eth3
    bridge_stp off
    address 192.168.40.1
    netmask 255.255.255.0
    broadcast 192.168.40.255
    network 192.168.40.0
Конфигурация сетевого адаптера клиента:
<interface type='bridge'>
    <mac address='52:54:00:32:d9:44'/>
    <source bridge='br0'/>
    <model type='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
После запуска гостя создаётся (его?) интерфейс vnet0, который успешно включается в мост br0. Однако гость (оффтопик 7) даже не получает адрес от dhcp-сервера (работающего на br0) и, как я понимаю, от моста изолирован.
Что я делаю не так? Куда смотреть?

даже не получает адрес от dhcp-сервера (работающего на br0) и, как я понимаю, от моста изолирован.

1. Запустить сетевой сниффер (tcpdump/wireshark) — смотреть dhcp запросы

2. Выставить в госте статический адрес и убедиться что сеть работает

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 2)

ifconfig

brctl show

anonymous
()
<network>
  <name>somename</name>
  <uuid>blahblahblah</uuid>
  <forward mode='bridge'/>
  <bridge name='br0' />
</network>

Это примерный конфиг сети(!) в либвирте.

Добавлять в конфиг клиента бридж не нужно, если он определен в сети.

    <interface type='network'>
      <mac address='mac here'/>
      <source network='somename'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

invokercd ★★★★
()
Последнее исправление: invokercd (всего исправлений: 2)
Ответ на: комментарий от invokercd

И так тоже пробовал. Результат не меняется.

gasinvein ★★★
() автор топика
Ответ на: комментарий от sdio

Выставить в госте статический адрес и убедиться что сеть работает

Пробовал, не работает.

Прошу прощения, видимо, плохо пробовал. Выставил, сеть заработала. Попутно обнаружил, что через некоторое время после попытки получить адрес гостем, в /var/log/syslog появляется

dhcpd: 5 bad udp checksums in 5 packets
Куда копать теперь?

gasinvein ★★★
() автор топика
Ответ на: комментарий от gasinvein

a где бежит dhcp сервер? на старых kvm времен RHEL5.2 была проблема с виндовым dhcp сервером. может в дебиане чего то поломали

dyasny ★★★★★
()
Ответ на: комментарий от invokercd

Точка доступа - это роутер с вафлей?

Э... Наверное, роутером это называть нельзя, поскольку нету nat.

Не проще ли в свитч ее воткнуть?

Свитч дрянной и 100Мбит. Да и всё равно этот eth3 простаивает.

gasinvein ★★★
() автор топика
Ответ на: комментарий от dyasny

a где бежит dhcp сервер?

Там же, где и kvm.

может в дебиане чего то поломали

Физическим компьютерам адреса всегда прекрасно раздавались.
Да и виртуалке нормально раздаются, если запускать её вручную (kvm -drive -net ...) и вручную же добавлять её интерфейс в мост. Поэтому мне кажется, что проблема как-то связана именно с libvirt.

gasinvein ★★★
() автор топика
Ответ на: комментарий от gasinvein

роутером это называть нельзя, поскольку нету nat.

убил бы. Небось поэтому и не работает сеть

anonymous
()
Ответ на: комментарий от anonymous

Я плохо понимаю, чем отличается роутер от шлюза, например.
Но всё же, как наличие точки доступа (роутера?) в физической сети может мешать получать адреса виртуальным машинам?

gasinvein ★★★
() автор топика
Ответ на: комментарий от gasinvein

Роутер (он же маршрутизатор) рулит пакетами, исходя из заложенных в него правил. То есть управляет маршрутами по которым пойдет инфа, нат и прочие действия с адресацией пакетов - его задача. Шлюз соединяет различные по типу сети (например wan/lan и т.д.)

Я думаю было бы проще если вы просто описали бы что у вас есть и что нужно сделать. То есть, что за точка доступа например и что от нее нужно.

invokercd ★★★★
()
Последнее исправление: invokercd (всего исправлений: 1)
Ответ на: комментарий от invokercd

Да с точкой доступа-то ничего не нужно делать.
Гость kvm, включённый сетевым адаптером в мост хоста, не получает адрес от dhcp-сервера, работающего на этом мосту.

gasinvein ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.