Apple - Unable to resolve hostnames inside macOS chroot jail

I was able to get it to work by making sure the /etc/resolver.conf existed in the chroot and then symlinking /var/run/mDNSResponder into the chroot.

$ sudo chroot -u user "/Users/user/Source/macos-mkjail/test_jail" /bin/bash
bash-4.4$ ping
PING ( 56 data bytes
64 bytes from icmp_seq=0 ttl=53 time=10326.366 ms
64 bytes from icmp_seq=1 ttl=53 time=44.899 ms
64 bytes from icmp_seq=2 ttl=53 time=39.388 ms
^C--- ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 39.388/3470.218/10326.366/4848.030 ms

Basically the problem is that newer macOS versions use mDNSResponder to resolve host names, and the standard library inside the chroot isn't able to contact the mDNSResponder. Without that communication, resolving names isn't possible. You'll want to install an responder inside the chroot jail in order to get it working.

You can find more information in this post: