ISC DHCPサーバー - Qemuシステム

ISC DHCPサーバー - Qemuシステム

ISCサーバー経由でdhcpアドレスを取得しようとしてきました。複数のイメージマイクロコアを持つDHCPサーバーとqemuサーバーがあります。

このASCII図がトポロジを示すことを願っています。

OVS スイッチは、qemu サーバーを介して Tap インターフェースに接続されます。

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

ここでの問題は、Tapインターフェイスを介して接続された各仮想マシンが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;
}

どうすれば解決できますか?どんな助けでも大変感謝します。ありがとうございます。

ベストアンサー1

おすすめ記事