Package: dnsmasq Version: 2.75-1 Severity: normal Please forgive my vague title. It is a bug that has been hitting me for some time, but since I had a work around, I never reported it. But doing now. I hope I can explain it.
rrs@learner:/media/SSHD/rrs-home/devel/config_validator (master)$ cat /etc/network/interfaces.d/lxcbr0.conf # This bridge will is used to NAT LXC containers' traffic auto lxcbr0 iface lxcbr0 inet static #bridge_stp off address 172.16.10.1 netmask 255.255.0.0 #up ip link set dev lxcbr0 up #down ip link set dev lxcbr0 down pre-up brctl addbr lxcbr0 post-down brctl delbr lxcbr0 post-down echo 0 > /proc/sys/net/ipv4/ip_forward post-down echo 0 > /proc/sys/net/ipv6/conf/all/forwarding post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding #post-up iptables -A POSTROUTING -t nat -s 172.16.10.1/16 -j MASQUERADE #pre-down iptables -D POSTROUTING -t nat -s 172.16.10.1/16 -j MASQUERADE #post-up iptables -A FORWARD -i lxcbr0 -s 172.16.10.1/16 -j ACCEPT #pre-down iptables -D FORWARD -i lxcbr0 -s 172.16.10.1/16 -j ACCEPT # add checksum so that dhclient does not complain. # udp packets staying on the same host never have a checksum filled else post-up iptables -A POSTROUTING -t mangle -p udp --dport bootpc -s 172.16.0.0/16 -j CHECKSUM --checksum-fill pre-down iptables -D POSTROUTING -t mangle -p udp --dport bootpc -s 172.16.0.0/16 -j CHECKSUM --checksum-fill 2015-09-14 / 22:35:20 ♒♒♒ ☺ This is what my bridge interface is. I like it this way, because I can instrcut both, Containers and Virtual Machines, to bind to this bridge, and then I can focus on all my management on this interface. And all the VMs and Containers get to talk to each other on the bridge. I use dnsmasq to serve the DHCP requests. My settings are as defined below: rrs@learner:/media/SSHD/rrs-home/devel/config_validator (master)$ cat /etc/dnsmasq.d/50myLXC # Bind it to the LXC interface interface=lxcbr0 bind-interfaces # Want DHCP client FQDN #dhcp-fqdn # Domain name and ip range with lease time domain=lxc.local,172.16.10.0/16 #dhcp-range=192.168.122.100,192.168.122.200,1h dhcp-range=lxcbr0,172.16.10.10,172.16.10.200,1h # DHCP options dhcp-option=40,lxc.local log-dhcp 2015-09-14 / 22:37:49 ♒♒♒ ☺ The name got stuck because I started with configuring it for containers, but I use the same setup for the VMs. In VirtualBox, for each Guest VM, I choose "Bridged Adapter" as the setting. The problem: I use my laptopt as usual. Multiple suspends/resumes. And then I just fire up a Guest VM. And it timesout in getting a DHCP address. In the logs, it shows that the DHCP address was offered. Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 next server: 172.16.10.1 Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 broadcast response Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 1 option: 53 message-type 2 Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 54 server-identifier 172.16.10.1 Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 51 lease-time 1h Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 58 T1 30m Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 59 T2 52m30s Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 1 netmask 255.255.0.0 Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 28 broadcast 172.16.255.255 Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 3 router 172.16.10.1 Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 6 dns-server 172.16.10.1 Sep 14 22:18:54 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 9 option: 15 domain-name lxc.local Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 available DHCP range: 172.16.10.10 -- 172.16.10.200 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 client provides name: debian Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 DHCPDISCOVER(lxcbr0) 172.16.10.77 08:00:27:ec:39:96 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 tags: lxcbr0 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 DHCPOFFER(lxcbr0) 172.16.10.77 08:00:27:ec:39:96 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router, Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 15:domain-name, 6:dns-server, 119:domain-search, Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope, Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 next server: 172.16.10.1 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 broadcast response Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 1 option: 53 message-type 2 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 54 server-identifier 172.16.10.1 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 51 lease-time 1h Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 58 T1 30m Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 59 T2 52m30s Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 1 netmask 255.255.0.0 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 28 broadcast 172.16.255.255 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 3 router 172.16.10.1 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 4 option: 6 dns-server 172.16.10.1 Sep 14 22:18:57 learner dnsmasq-dhcp[1407]: 1240112453 sent size: 9 option: 15 domain-name lxc.local Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 available DHCP range: 172.16.10.10 -- 172.16.10.200 Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 client provides name: debian Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 DHCPDISCOVER(lxcbr0) 172.16.10.77 08:00:27:ec:39:96 Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 tags: lxcbr0 Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 DHCPOFFER(lxcbr0) 172.16.10.77 08:00:27:ec:39:96 Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router, Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 15:domain-name, 6:dns-server, 119:domain-search, Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope, Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 next server: 172.16.10.1 Sep 14 22:19:01 learner dnsmasq-dhcp[1407]: 1240112453 broadcast response But the client times out waiting for the IP address. Then I just restarted the dnsmasq service: Sep 14 22:29:03 learner systemd[1]: Stopping dnsmasq - A lightweight DHCP and caching DNS server... Sep 14 22:29:03 learner dnsmasq[1407]: no servers found in /var/run/dnsmasq/resolv.conf, will retry Sep 14 22:29:05 learner systemd[1]: Stopped dnsmasq - A lightweight DHCP and caching DNS server. Sep 14 22:29:05 learner systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server... Sep 14 22:29:05 learner dnsmasq[1547]: dnsmasq: syntax check OK. Sep 14 22:29:05 learner dnsmasq[1556]: started, version 2.75 cachesize 150 Sep 14 22:29:05 learner dnsmasq[1556]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify Sep 14 22:29:05 learner dnsmasq-dhcp[1556]: DHCP, IP range 172.16.10.10 -- 172.16.10.200, lease time 1h Sep 14 22:29:05 learner dnsmasq-dhcp[1556]: DHCP, sockets bound exclusively to interface lxcbr0 Sep 14 22:29:05 learner dnsmasq[1556]: no servers found in /var/run/dnsmasq/resolv.conf, will retry Sep 14 22:29:05 learner dnsmasq[1556]: read /etc/hosts - 10 addresses Sep 14 22:29:05 learner dnsmasq[1556]: reading /var/run/dnsmasq/resolv.conf Sep 14 22:29:05 learner dnsmasq[1556]: using nameserver 192.168.1.1#53 Sep 14 22:29:11 learner systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server. And now, when I boot the Guest VMs, they do get the IP. Logs below: Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 available DHCP range: 172.16.10.10 -- 172.16.10.200 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 client provides name: debian Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 DHCPDISCOVER(lxcbr0) 172.16.10.40 08:00:27:5a:d8:7a Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 tags: lxcbr0 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 DHCPOFFER(lxcbr0) 172.16.10.40 08:00:27:5a:d8:7a Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router, Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 15:domain-name, 6:dns-server, 119:domain-search, Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope, Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 next server: 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 1 option: 53 message-type 2 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 54 server-identifier 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 51 lease-time 1h Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 58 T1 30m Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 59 T2 52m30s Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 1 netmask 255.255.0.0 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 28 broadcast 172.16.255.255 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 3 router 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 6 dns-server 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 9 option: 15 domain-name lxc.local Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 available DHCP range: 172.16.10.10 -- 172.16.10.200 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 client provides name: debian Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 DHCPREQUEST(lxcbr0) 172.16.10.40 08:00:27:5a:d8:7a Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 tags: lxcbr0 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 DHCPACK(lxcbr0) 172.16.10.40 08:00:27:5a:d8:7a debian Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router, Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 15:domain-name, 6:dns-server, 119:domain-search, Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope, Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 next server: 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 1 option: 53 message-type 5 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 54 server-identifier 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 51 lease-time 1h Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 58 T1 30m Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 59 T2 52m30s Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 1 netmask 255.255.0.0 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 28 broadcast 172.16.255.255 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 3 router 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 4 option: 6 dns-server 172.16.10.1 Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 9 option: 15 domain-name lxc.local Sep 14 22:30:07 learner dnsmasq-dhcp[1556]: 3774021946 sent size: 6 option: 12 hostname debian And this one for the BSD VM. Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 client provides name: debian-bsd Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 DHCPDISCOVER(lxcbr0) 172.16.10.108 08:00:27:46:31:d7 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 tags: lxcbr0 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 DHCPOFFER(lxcbr0) 172.16.10.108 08:00:27:46:31:d7 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router, Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 15:domain-name, 6:dns-server, 119:domain-search, Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope, Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 next server: 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 1 option: 53 message-type 2 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 54 server-identifier 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 51 lease-time 1h Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 58 T1 30m Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 59 T2 52m30s Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 1 netmask 255.255.0.0 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 28 broadcast 172.16.255.255 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 3 router 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 6 dns-server 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 9 option: 15 domain-name lxc.local Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 available DHCP range: 172.16.10.10 -- 172.16.10.200 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 client provides name: debian-bsd Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 DHCPREQUEST(lxcbr0) 172.16.10.108 08:00:27:46:31:d7 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 tags: lxcbr0 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 DHCPACK(lxcbr0) 172.16.10.108 08:00:27:46:31:d7 debian-bsd Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router, Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 15:domain-name, 6:dns-server, 119:domain-search, Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope, Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 next server: 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 1 option: 53 message-type 5 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 54 server-identifier 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 51 lease-time 1h Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 58 T1 30m Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 59 T2 52m30s Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 1 netmask 255.255.0.0 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 28 broadcast 172.16.255.255 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 3 router 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 4 option: 6 dns-server 172.16.10.1 Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 9 option: 15 domain-name lxc.local Sep 14 22:30:58 learner dnsmasq-dhcp[1556]: 2713556075 sent size: 10 option: 12 hostname debian-bsd So, this is how I concluded to file it against dnsmasq. And, thank you for dnsmasq. It is one of the most useful and important tool in my daily life. -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.2.0+ (SMP w/4 CPU cores) Locale: LANG=en_IN.utf8, LC_CTYPE=en_IN.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages dnsmasq depends on: ii dnsmasq-base 2.75-1 ii init-system-helpers 1.23 ii netbase 5.3 dnsmasq recommends no packages. Versions of packages dnsmasq suggests: ii resolvconf 1.78 -- no debconf information