KVM bridge. С гостя тормозит сеть. [Решено]

/etc/conf.d/net

config_eth0="null"
#
config_tap0="null"
tuntap_tap0="tap"
tunctl_tap0="-g kvm"
#
bridge_br0="tap0 eth0"
brctl_br0="setfd 0 sethello 0 stp off"
rc_net_br0_need="net.tap0 net.eth0"
#
config_br0="192.168.1.10 netmask 255.255.252.0"
routes_br0="default gw 192.168.0.253"

После старта гостя
brctl show

bridge name     bridge id               STP enabled     interfaces
br0             8000.842b2b5cf43f       no              eth0
                                                        tap0
                                                        vnet0

cat /etc/sysctl.conf

net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1

net.bridge.bridge-nf-call-arptables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-ip6tables = 0

Гость и хост друг друга по IP видят но пакеты с гостя в физическую сеть не уходят.

bridge_br0="tap0 eth0"Что

bridge_br0="tap0 eth0"
Что это и зачем ?
Вернее зачем вобще нужен тапок в бриджед сети ?
П.С аа, опять не осилен либвирт что ли ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

bridge_br0="tap0 eth0" -

bridge_br0="tap0 eth0" - Указывает что входит в бридж.
brctl_br0="setfd 0 sethello 0 stp off" - форвард, хеллотайм, отлов петель.
rc_net_br0_need="net.tap0 net.eth0" - требование предварительно поднятых интерфейсов.

Пробовал поднять бридж скриптом аля brctl addbr br0, add if br0 eth0 и т.п. Результат тот же.

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

я достаточно долго пользуюсь

я достаточно долго пользуюсь гентой, что бы понять, что написано в conf.d/net.
Зачем вообще нужен интерефейс tap ( оно же тормозное ) ?
Вобщем конфиг гостя в xml в студию

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

<domain type='kvm'>

<domain type='kvm'>
  <name>GentooMini</name>
  <uuid>21941ff1-e82d-6c42-aa91-c8271f1ca895</uuid>                                                                                                          
  <memory unit='KiB'>4194304</memory>                                                                                                                        
  <currentMemory unit='KiB'>4194304</currentMemory>                                                                                                          
  <vcpu placement='static'>4</vcpu>                                                                                                                          
  <os>                                                                                                                                                       
    <type arch='x86_64' machine='pc-i440fx-1.5'>hvm</type>                                                                                                   
    <boot dev='hd'/>                                                                                                                                         
  </os>                                                                                                                                                      
  <features>                                                                                                                                                 
    <acpi/>                                                                                                                                                  
    <apic/>                                                                                                                                                  
    <pae/>                                                                                                                                                   
  </features>                                                                                                                                                
  <cpu mode='custom' match='exact'>                                                                                                                          
    <model fallback='allow'>Nehalem</model>                                                                                                                  
    <vendor>Intel</vendor>                                                                                                                                   
  </cpu>                                                                                                                                                     
  <clock offset='utc'/>                                                                                                                                      
  <on_poweroff>destroy</on_poweroff>                                                                                                                         
  <on_reboot>restart</on_reboot>                                                                                                                             
  <on_crash>restart</on_crash>                                                                                                                               
  <devices>                                                                                                                                                  
    <emulator>/usr/bin/qemu-kvm</emulator>                                                                                                                   
    <disk type='file' device='disk'>                                                                                                                         
      <driver name='qemu' type='raw' cache='writeback' io='threads'/>
      <source file='/var/lib/libvirt/images/GentooMini.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <interface type='bridge'>
      <mac address='52:54:00:bf:9e:47'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
    <video>
      <model type='vga' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Зачем вообще нужен интерефейс

Зачем вообще нужен интерефейс tap ( оно же тормозное ) ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

А vnet0, создаваемый

А vnet0, создаваемый libvirt`ом, при старте госте по сути тот же tap0 входящий в состав br0.
Убрал из брижда tap0 - проблема все равно осталась т.к. гостем используется vnet0.

brctl show

bridge name     bridge id               STP enabled     interfaces
br0             8000.842b2b5cf43f       no              eth0
                                                        vnet0
virbr0          8000.000000000000       yes

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

virsh net-detroy

virsh net-detroy default
virsh net-undefine default

A то у тебя каша в голове

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Ну я как бы тоже не совсем

Ну я как бы тоже не совсем тупой, я надеюсь.
Дефолтная сеть 122.0/24 как раз на virbr0 а не на vnet0 и в бридж не входит. Она то как раз работает так, как надо.

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

То ли я на асфальте обутый,

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

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Выполнил от root`а: rm

Выполнил от root`а:

rm /var/lib/iptables/rules-save
rm /var/lib/ebtables/rules-save

iptable -F
iptable -X
iptable -t nat -F
iptable -t nat -X
iptable -t mangle -F
iptable -t mangle -X

ebtable -F
ebtable -X
ebtable -t nat -F
ebtable -t nat -X

/etc/init.d/iptables save

cat /etc/conf.d/net

bridge_br0="eth0"
brctl_br0="setfd 0 sethello 0 stp off"
rc_net_br0_need="net.eth0"

config_br0="null"
config_eth0="null"

sysctl -p

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1

Заработало. Только как теперь управлять то без ip на br0? Шнурок из br0 2м концом в свитч.
Если на 2ю сетевуху ip назначить и еще один шнур воткнуть норм же будет? Петель не должно быть.

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Если на 2ю сетевуху ip

 Если на 2ю сетевуху ip назначить и еще один шнур воткнуть норм же будет? Петель не должно быть.

со стороны машины - нет, нету петель. У некоторых оно так в продакте пашет. Управлять через 2-ю сетевку, 3-ю в бридж под локальный трафф, 4-я мпод миграцию плюс езернет от контроллера и rmm . Осталось воткнуть 2 шнурка по 10Г в инифинебд - и можно гордится :)

Не забудь прописать фильтра на траффик ;)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Исли трафик с виртуалок не

Исли трафик с виртуалок не гоняется, то они как будто в спячку уходят. Секунд 30-40 не отвечают если пинговать. Потом просыпаются и все вроде хорошо, до тех пор пока снова трафик не перестанет с них ходить.

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

А это сл. левел/задание :)

А это сл. левел/задание :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Не получается решить

Не получается решить проблему. Крутил настройки сетевух в BIOS. Поигрался с ACPI. Пробовал прописывать маршруты. Создавал bridge скриптом при загрузке. А воз и ныне там. Единственное, что заметил, если у виртуалки "автостарт", то %% 70-75 она стартует с инетом и не отваливается. Если ее выкл и вкл то в любом случае хана.

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Крутил настройки сетевух в

 Крутил настройки сетевух в BIOS. Поигрался с ACP

brctl show
ф студую
Куды воткнуть шнурок от бриджа ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Шнур от бриджа воткнут в свич

Шнур от бриджа воткнут в свич 3COM 2250 в гб.порт.
Поигрался с ядрами.
2.6.32 - работает
3.8.13 - работает
3.10.17 -не работате
В конфигах ядер для работы с сетью (iptables, ebtables, bridges tun/tap и пр.) выбранно ВСЕ!

brctl show

bridge name     bridge id               STP enabled     interfaces
br0             8000.842b2b5cf43f       no              eth0
                                                        vnet0

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

BPDU на свиче ? логи оттуда -

BPDU на свиче ? логи оттуда - вобщем начинай не с линуксы

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

1) STP на свиче в disable

1) STP на свиче в disable (default). На его родителе в прочем тоже disable (DLink 3526 прова.)
С учетом того, что во многих версиях настройки bridge пишется что stp off, думаю что тут все правильно.

2) BPDU - стоит flooding (default)
Есть вариант переключиться на filtering, но т.к. в нем же, в свиче, в 49 порту работает точно такой же сервер (можно сказать "из коробки") играться пока не стал.

По wiki BPDU основан на STP. А раз bridge stp off и на свиче stp disable с BPDU-flooding, то дефолтные настройки вполне приемлемы раз один из серверов с ними стабильно работает.

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

зафильтруй на портах квм, и

зафильтруй на портах квм, и пропиши фильтра для машинок

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Огромное спасибо. Все

Огромное спасибо. Все получилось. Все работает.
В очередной раз приношу тебе свою непомерную благодарность.

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Ниче, у тебя еще все впреди -

Ниче, у тебя еще все впреди - вланы, их дистрибьюшн, openvswitch, sflow ....
Еще успеешь поблагодарить

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".