Long story short, pihole-FTL refuses to start because I have another process using port 53.
$ sudo lsof -i :53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 2650 nobody 5u IPv4 35901 0t0 UDP trinity:domain
dnsmasq 2650 nobody 6u IPv4 35902 0t0 TCP trinity:domain (LISTEN)
I don't have dnsmasq installed so I figured I just kill it by process ID. Turns out it was a child process of QEMU-KVM because killing that process breaks the internet in my virtual machine, and the only way to fix it is to restart the whole computer.
Anybody run into this before?
EDIT: As a work-around, I can change the type of virtual networking device of the VM, but this causes the VM to have the same IP address as the host, which breaks communication between VM and host and thus is not a solution.