• L
    network driver: don't send default route to clients on isolated networks · 013427e6
    Laine Stump 提交于
    Normally dnsmasq will send a default route (the address of the host in
    the network definition) to any client requesting an address via
    DHCP. On an isolated network this makes no sense, as we have iptables
    to prevent any traffic going out via that interface, so anything sent
    that way would be dropped anyway.
    
    This extra/unusable default route becomes problematic if you have
    setup a guest with multiple network interfaces, with one connected to
    an isolated network and another that provides connectivity to the
    outside (example - one interface directly connecting to a physical
    interface via macvtap, with a second connected to an isolated network
    so that the host and guest can communicate (macvtap doesn't support
    guest<->host communication without an external switch that supports
    vepa, or reflecting all traffic back)). In this case, if the guest
    chooses the default route of the isolated network, the guest will not
    be able to get network traffic beyond the host.
    
    To prevent dnsmasq from sending a default route, you can tell it to
    send 0 bytes of data for the default route option (option number 3)
    with --dhcp-option=3 (normally the data to send for the option would
    follow the option number; no extra data means "don't send this option").
    
    I have checked on RHEL5 (a good representative of the oldest supported
    libvirt platforms) and its version of dnsmasq (2.45) does support
    --dhcp-option, so this shouldn't create any compatibility problems.
    013427e6
bridge_driver.c 78.6 KB