วิธีที่ง่ายและมีประสิทธิภาพมากขึ้นผมพบว่าสำหรับฉันคือการนี้
โดยสรุปบนโฮสต์:
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
ไม่ทำงาน
และคุณสามารถ ping โฮสต์ของคุณได้แล้ว