Вероятно Вы только одну технологию в правилах разрешили, а одну - нет. 1) DHCP для "раздачи адресов", 2) DNS для разрешения имён.
Вот тут пишут про волшебной заклинание:
https://help.ubuntu.com/community/Dnsmasqsudo ufw allow bootps
Но я бы разобрался, что по DHCP протоколу трафик идёт через 67 и 68 порты, протокол UDP. И написал бы свои правила.
DNS это UDP + TCP, оба через 53-й порт. При недоступности UDP DNS запросы пойдут по TCP, отсюда - TCP тоже нужно бы разрешить.
Журнал UFW пишеттся в "/var/log/ufw.log*".
Вытянуть из последнего журнала строки о заблокированном:
cat /var/log/ufw.log | grep "UFW BLOCK"
Из убранных в архив журналов:
zcat /var/log/ufw.log.* | grep "UFW BLOCK"
Онлайн трафик можно смотреть в Wireshark. Там же есть правила для фильтрации журнала на экране. В консоли - tcpdump. Можно делать "sudo tcpdump -n -v -i eth0 | grep нужное" и она, не забивая память показывает что там летит. Видно будет: пакеты DHCP ушли на одном конце, не пришли на другом...