libvirt и virt-network
Libvirt был собран с virt-network и отлично работал через NAT.
Но после нескольких обновлений ядра и пакетов (давно не пользовался виртуалками) все перестало работать - а именно, не поднимается сеть default с таким конфигом:
<network> <name>default</name> <uuid>cbfa7118-c21b-4a85-a4fe-5b4709e5534b</uuid> <bridge name="virbr0" stp='on' delay='0'/> <forward/> <ip address="192.168.1.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.1.2" end="192.168.1.254" /> </dhcp> </ip> </network>
stp='on' delay='0' - это я прописал позже, по аналогии с создаваемой сетью. Предположил, что это может влиять на автозагрузку - но это не помогло.
2. Получается создать только внутреннюю сеть, если же я хочу пересылать пакеты наружу, получаю ошибки
virt-manager --debug <network> <name>dd</name> <forward mode='nat'/> <ip address='192.168.100.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.100.128' end='192.168.100.254'/> </dhcp> </ip> </network> 2013-05-06 09:17:39,128 (error:80): dialog message: Error creating virtual network: не удалось добавить правило iptables для разрешения перенаправления на «virbr1» : Error creating virtual network: не удалось добавить правило iptables для разрешения перенаправления на «virbr1» Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/createnet.py", line 352, in finish self.conn.create_network(xml) File "/usr/share/virt-manager/virtManager/connection.py", line 778, in create_network net.create() File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2155, in create if ret == -1: raise libvirtError ('virNetworkCreate() failed', net=self) libvirtError: не удалось добавить правило iptables для разрешения перенаправления на «virbr1»
3. iptables собран и запущен (с пустыми правилами). Более того, специально пересобирал qemu и libvirt, почитал их варнинги и добавил все что они просили в ядро, а также изменил владельца для всей папки /etc/libvirt на qemu:qemu (это попросил либвирт).
iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
По ошибке явно видно, что конфкликт либвирта с файрволом, но как его решить - не понимаю. Буду признателен за подсказки.
- Для комментирования войдите или зарегистрируйтесь
zgrep -i nat_ipv4
ну, и тогда уж
Спасибо за совет
Я не включаю поддержку конфига в ядре, поэтому могу только так:
Это как раз включает НАТ.
Да, таблицы нет, но ведь в ядре НАТ включен
kostik_g написал(а): Это как
Нет. Нат включает тот флаг, что я у тебя спросил выше
А как его можно найти в конфиге?
Как его грепнуть не внутри ядра, а в .config'e?
Очевидно
А вообще, осваиваем поиск:
Пардон
Да, признаю, не подумал
поискал, нашел, сегодня вечером включу и отпишусь
ps. "/" - для поиска удобнее
Новый виток
На этот раз все включил, но ошибки сыпятся те же. Дефолтная сеть не поднимается, новая не создается. Что еще можно попробовать с фаерволом?
бридж решает 99% проблем ната
бридж решает 99% проблем ната , OVS решает 99,9.
конечно , если у вас домашнее подключение с привязкой по маку - то труба
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 ;)
OBS?
А что такое OVS? Дело в том, что с год назад я мучался уже с бриджем, пока не поднял virt-network и меня все утраивало. Все гораздо проще и через гуи (дело в том что в сетях я не очень). Но вот после апдейтов вирт-манагера и либвирта, а также несколько ядер спустя (с попыткой уменьшить их размер выключая все ненужное) наступил на те же грабли.
Так что постараюсь завести вирт-нетворк
http://ru.wikipedia.org/wiki/
http://ru.wikipedia.org/wiki/Open_vSwitch
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 ;)