← All posts tagged KVM

Dimez

Ещё вопрос по kvm. Надо поставить несколько одинаковых виртуалок с виндой (win7)
Как винды отнесутся друг к другу, что я поставлю одну, а потом растиражирую, скопировав нужное количество раз образ и они будут в одной подсети?

Dimez

Если кому-то надо прописывать детачи устройств для проброса других устройств внутрь виртуалки — наиболее кошерно это делать, набросав скрипт /etc/libvirt/hooks/daemon вида
#!/bin/bash

if [ "${2}" = "start" ]; then
echo -n 1 > /sys/bus/pci/devices/0000\:03\:02.0/remove
echo -n 1 > /sys/bus/pci/devices/0000\:00\:1a.7/remove
fi

Dimez

Жуйк, а подскажи pcie-платку в компы пожилих родственников с заданными тэгами. Если ещё будет с поддержкой загрузки iso — вообще шоколадно будет.
Роутер и интернет они убить не могут, а вот операционки на компах — легко.

Dimez
KVM

wiki.libvirt.org
Выложили неправильную рыбу. При пробрасывании, например, 80-го порта через хук изнутри в виртуалку он перестаёт быть доступным из самой виртуалки для исходящих коннектов.
Быстрофикс, найденный совместно с @tazhate
— iptables -t nat -D PREROUTING -p tcp --dport ${Host_port[$i]} -j DNAT --to ${Guest_ipaddr}:${Guest_port[$i]}
+ iptables -t nat -D PREROUTING -p tcp --dport ${Host_port[$i]} -j DNAT --to ${Guest_ipaddr}:${Guest_port[$i]} ! -s 192.168.122.0/24

— iptables -t nat -A PREROUTING -p tcp --dport ${Host_port[$i]} -j DNAT --to ${Guest_ipaddr}:${Guest_port[$i]}
+ iptables -t nat -A PREROUTING -p tcp --dport ${Host_port[$i]} -j DNAT --to ${Guest_ipaddr}:${Guest_port[$i]} ! -s 192.168.122.0/24

Dimez
KVM

Мда, что-то конфиги не совсем явные в kvm.
Для выпускания портов наружу надо зафиксировать у виртуалкок IP в dhcp (это, в принципе, понятно)
Но потом начинается чистая магия с ручным написанием хука, во всех прочих вариантах вручную написанные правила добавляются после всех правил (включая и глобальный запрет), поднимаемых libvirtd и проброс портов не работает.