How to make /private/etc/hosts available on macOS Sierra?
If you can ping your /etc/hosts entries as root but not as regular user then try changing permissions on the hosts file to allow everyone to read. This worked for me.

sudo chmod a+r /etc/hosts