나는 ISC 서버에서 DHCP 주소를 얻으려고 노력해 왔습니다. 하나의 DHCP 서버와 하나의 qemu 서버가 있고 여러 이미지의 작은 코어가 있습니다.
이 ASCII 그림이 토폴로지를 보여주기를 바랍니다.
qemu 서버를 통해 OVS 스위치는 탭 인터페이스를 연결합니다.
qemu-system-i386 -m 64 -boot c -hda tinycore1.img -name vm1 -no-acpi -net nic,macaddr=52:66:99:66:42:11,model=pcnet -net tap,ifname=$TAP,script=ovstap -vnc :1 -daemonize
qemu-system-i386 -m 64 -boot c -hda tinycore2.img -name vm2 -no-acpi -net nic,macaddr=52:66:99:66:42:12,model=pcnet -net tap,ifname=$TAP,script=ovstap -vnc :2 -daemonize
tap1: 10.10.10.1 /24
--------------------\ \
\------------\-------qemu server-----------ISC DHCP server
/ 10.10.10.252/ 10.10.10.253 10.10.10.254
--------------------/ OVS / eth1 eth1
tap2: 10.10.10.2 /24
스크립트 ovstap
#!/bin/sh
#
# Set to the name of your bridge
BRIDGE=OVS
# Network information
NETMASK=255.255.255.0
ADD=172.16.10.199
do_ovs() {
ovs-vsctl "$@"
}
do_ifconfig() {
ifconfig "$@"
}
do_dd() {
dd "$@"
}
check_bridge() {
if do_ovs show | grep "^$1" > /dev/null 2> /dev/null; then
return 1
else
return 0
fi
}
create_bridge() {
do_ovs add-br "$1"
do_ovs set bridge "$1" stp_enable=false
do_ovs set bridge "$1" other_config:stp-forward-delay=0
do_ifconfig "$1" "$ADD" netmask "$NETMASK" up
}
enable_ip_forward() {
echo 1 | do_dd of=/proc/sys/net/ipv4/ip_forward > /dev/null
}
setup_bridge_nat() {
if [ -n "$(ovs-vsctl show | grep $BRIDGE)" ] ; then
enable_ip_forward
else
create_bridge "$1"
enable_ip_forward
fi
}
setup_bridge_nat "$BRIDGE"
if test "$1" ; then
do_ifconfig "$1" 0.0.0.0 up
do_ovs add-port "$BRIDGE" "$1"
fi
여기서 문제는 탭 인터페이스를 통해 연결된 모든 VM이 isc dhcp 서버로부터 IP 추가를 수신하지 못한다는 것입니다.
내 dhcpd.conf 서버 dhcp
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
allow booting;
allow bootp;
# QEMU LAN
subnet 10.10.10.0 netmask 255.255.255.0 {
option broadcast-address 10.10.10.255;
option routers 10.10.10.253;
option domain-name-servers 10.10.10.200;
range 10.10.10.1 10.10.10.10;
}
host VM1 {
hardware ethernet 52:66:99:66:42:11;
fixed-address 10.10.10.1;
}
host TVM2 {
hardware ethernet 52:66:99:66:42:12;
fixed-address 10.10.10.2;
}
어떻게 해결할 수 있나요? 어떤 도움이라도 주시면 감사하겠습니다. 감사해요.