Reverse dns returning .__internal domain instead of .lxd on fan network

  • Distribution: Ubuntu
  • Distribution version: 18.04 and 19.04
  • lxc info:
    driver: lxc
    driver_version: 3.1.0
    kernel: Linux
    kernel_architecture: x86_64
    kernel_features:
    netnsid_getifaddrs: “false”
    seccomp_listener: “true”
    shiftfs: “false”
    uevent_injection: “true”
    unpriv_fscaps: “true”
    kernel_version: 5.0.0-15-generic
    lxc_features:
    mount_injection_file: “true”
    network_gateway_device_route: “false”
    network_ipvlan: “false”
    network_l2proxy: “false”
    seccomp_notify: “false”
    project: default
    server: lxd
    server_clustered: true
    server_name: lxd-cloud-01
    server_pid: 5302
    server_version: “3.13”
    storage: zfs
    storage_version: 0.7.12-1ubuntu5

Issue description

reverse dns on fan bridge network return host with .__internal domain instead of .lxd domain (nslookup 240.1.33.116 returns compute._internal instead of compute.lxd).
Forward dns works fine though for both compute.__internal and compute.lxd as well as just compute.

looks very slightly related to https://github.com/lxc/lxd/issues/4788 but different in that dns lookups across nodes/forward lookups are fine, just reverse lookups are returning the wrong domain.

Steps to reproduce

  1. two node lxd cluster
  2. create fan network with the attached configuration
  3. create an alpine container attached to this network
  4. run nslookup on this containers ip address will return the container_name.__internal instead of container_name.lxd.

Information to attach

  • network config :
    config:
    bridge.mode: fan
    dns.domain: lxd
    fan.underlay_subnet: 172.18.0.0/16
    description: “”
    name: fanbr0
    type: bridge
    managed: true
    status: Created
  • output of ps aux | grep fanbr0 :
    dnsmasq --strict-order --bind-interfaces --pid-file=/var/snap/lxd/common/lxd/networks/fanbr0/dnsmasq.pid --except-interface=lo --interface=fanbr0 --quiet-dhcp --quiet-dhcp6 --quiet-ra --listen-address=240.1.33.1 --dhcp-no-override --dhcp-authoritative --dhcp-leasefile=/var/snap/lxd/common/lxd/networks/fanbr0/dnsmasq.leases --dhcp-hostsfile=/var/snap/lxd/common/lxd/networks/fanbr0/dnsmasq.hosts --dhcp-range 240.1.33.2,240.1.33.254 -s __internal -S /__internal/ -S /lxd/240.1.33.1#1053 --dhcp-option=15,lxd --conf-file=/var/snap/lxd/common/lxd/networks/fanbr0/dnsmasq.raw -u lxd
  • output of ps aux | grep forkdns
    /snap/lxd/current/bin/lxd forkdns 240.1.33.1:1053 lxd 240.1.33.1 240.0.116.1

Anybody run into this before?