Через 3 дня у меня наконец-то есть гости kvm, работающие в сети по беспроводной сети (ссылка ниже - спасибо!):
Моя сеть 192.168.1.0/24
на хосте:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo tunctl -t tap0
sudo ip link set tap0 up
sudo ip addr add 192.168.1.25/24 dev tap0
sudo route add -host 192.168.1.30 dev tap0
sudo parprouted wlan0 tap0
на гостя:
auto eth0
iface eth0 inet static
address 192.168.1.30
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.25
и запускаем гостя:
sudo kvm /path/to/guest.img -net nic,macaddr=DE:AD:BE:EF:90:26 -net tap,ifname=tap0,script=no
Это отлично работает, и я могу пинговать локальную сеть и Интернет между гостями.
Но как мне добавить эти настройки в конфигурацию xml гостя, чтобы я мог запустить гостя через virt-manager с теми же настройками nic?
ссылка:
попробуйте следовать этому: libwirtwiki - гостевой кран
и исправим /etc/libvirt/qemu/example.xml
<interface type='ethernet'>
<mac address='26:c7:a9:96:a7:7a'/>
<target dev='tap0'/>
<model type='virtio'/>
<script path='no'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
в моем случае это работает
Я думаю, вы пытаетесь настроить мостовую сеть круговым способом, создавая устройства с ответвлениями и т. Д. В Linux вы можете создать виртуальное мостовое устройство для физического интерфейса, используя простые изменения конфигурации. После этого виртуальные машины KVM можно настроить для использования этого виртуального моста для подключения к обычной локальной сети, как если бы они были подключены к ней напрямую. Это создает иллюзию, что все виртуальные машины и базовый / хост-компьютер напрямую подключены к локальной сети.
Если это то, что вы хотите, измените свой / etc / sysconfig / network-scripts / ifcfg-eth0 (при условии, что eth0 - это сетевое устройство хоста, имеющее IP в сети 192.168.1.0/24 в вашем случае), чтобы иметь строки
DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0
среди других конфигурационных линий. Скопируйте ifcfg-eth0 в ifcfg-br0, где ifcfg-br0 должен отличаться от ifcfg-eth0 в приведенных ниже строках
DEVICE=br0
TYPE=Bridge
Теперь, когда вы используете «перезапуск сервисной сети», вам нужно будет подключить сетевые интерфейсы br0 и eth0, а ваш IP-адрес в локальной сети в диапазоне 192.168.1.0/24 будет назначен br0. Теперь все, что вам нужно сделать, это отредактировать настройки виртуальной машины и попросить ее подключиться через сеть br0.
Что не так с использованием macvtap? Это совершенно безболезненно и не требует дополнительной настройки на хосте.