Самый простой и более эффективный способ, который я узнал для меня, заключался в следующем .
В итоге на хосте:
tunctl -u <username>
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
ip link set tap0 up
route add -host 192.168.0.20 dev tap0 <-- to be changed by you.
и для гостя, просто запустите его с:
kvm -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
или
qemu -hda ~/fedora.qcow2 -net nic -net tap,ifname=tap0,script=no -usb
Вам просто нужно настроить tap
устройство, принадлежащее вашему пользователю, включить arp proxying
и настроить route
между вашим хостом и гостем.
Автор (и я) использовали это для решения проблемы подключения к wlan0
устройству, которое не поддерживается ядром Linux. Но это работает также и с проводным соединением. В arp
конфигурации просто измените wlan0
на eth0
.
Гостевой IP-адрес должен быть установлен вами, так как DHCP
не работает.
И вы уже можете пинговать свой хост.