ไม่มี DHCP Reply บนสะพานที่มีอินเตอร์เฟส QEMU และ TAP


2

ฉันมีเครื่องโฮสต์ที่ใช้งานเครื่องเสมือนกับ QEMU และฉันต้องการเซิร์ฟเวอร์ DHCP บนโฮสต์ที่ให้ที่อยู่ IP แก่เครื่อง

ฉันใช้ที่อยู่อีเทอร์เน็ตแบบคงที่สำหรับแขกดังนั้นฉันจึงเริ่มต้นใช้งานเช่นนี้:

qemu-system-x86_64 -hda debian.img -netdev tap,id=n1,ifname=tap0001,script=/root/qemu/net-up.sh,downscript=/root/qemu/net-down.sh -device virtio-net-pci,netdev=n1,mac=02:00:00:01:01:01 -enable-kvm -cdrom /root/qemu/install-amd64-minimal-20180802T214502Z.iso -boot d -enable-kvm -qmp tcp:localhost:4444,server,nowait -smp 2,cores=16,threads=1,sockets=2,maxcpus=32 -m size=1G -vnc :1

เนื่องจากฉันต้องการจัดการการจองโฮสต์ผ่านฐานข้อมูลฉันใช้เซิร์ฟเวอร์ Kea DHCP กับ MySQL Backend

หลังจากเริ่มต้น VM ฉันมีการตั้งค่าเครือข่ายต่อไปนี้:

Host:
eno1: 10.0.0.1 (listening for dhcp requests)
tap0001: no IP (TAP interface for the VM)
br00001: no IP (bridges tap0001 and eno1)

Guest:
eth0: hw ether 02:00:00:01:01:01

ตอนนี้เมื่อฉันขอ IP จากโฮสต์ฉันสามารถเห็น Kea เสนอ IP ที่กำหนดค่า:

2018-08-15 23:13:46.536 INFO  [kea-dhcp4.leases/6548] DHCP4_LEASE_ADVERT [hwtype=1 02:00:00:01:01:01], cid=[ff:00:01:01:01:00:01:00:01:23:07:53:2b:02:00:00:01:01:01], tid=0xf069f396: lease 10.0.0.10 will be advertised
2018-08-15 23:14:51.444 INFO  [kea-dhcp4.leases/6548] DHCP4_LEASE_ADVERT [hwtype=1 02:00:00:01:01:01], cid=[ff:00:01:01:01:00:01:00:01:23:07:53:2b:02:00:00:01:01:01], tid=0xf069f396: lease 10.0.0.10 will be advertised

ฉันยังสามารถเห็น DHCP ค้นพบและตอบกลับใน eno1:

tcpdump port 67 or port 68 -i eno1 -nN
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno1, link-type EN10MB (Ethernet), capture size 262144 bytes
23:11:41.326945 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 02:00:00:01:01:01, length 356
23:11:41.329444 IP 10.0.0.1.67 > 10.0.0.10.68: BOOTP/DHCP, Reply, length 307

แต่ไม่สามารถดูการตอบกลับ DHCP ใน br0001 ไม่ได้บน tap0001:

tcpdump port 67 or port 68 -i br0001 -nN
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br0001, link-type EN10MB (Ethernet), capture size 262144 bytes

23:26:33.308296 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 02:00:00:01:01:01, length 356
23:26:37.336875 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 02:00:00:01:01:01, length 356

มีใครบางคนชี้ให้ฉันไปในทิศทางที่ถูกต้องเพื่อให้การตอบกลับ DHCP จะถูกส่งไปยัง VM ขอบคุณ

คำตอบ:


0

ดูเหมือนว่าคุณได้กำหนด IP ของคุณให้เป็น eno1

โดยทั่วไปถ้าคุณใช้บริดจ์ IP ของคุณควรกำหนดให้กับบริดจ์และไม่ใช่อินเตอร์เฟสแรกที่คุณเพิ่มลงในบริดจ์

https://unix.stackexchange.com/questions/86056/why-does-linux-require-moving-ip-from-eth-interface-to-bridge-interface

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.