Hi Brian, if you are installing on a bare-metal, it's better to not follow a Vagrant setup. For example in bare-metal if you have only 1 NIC, you don't need to configure interface in flannel.yml
So to investigate your problem let's make a checklist
1- Does your setup have internet connectivity on all nodes ?
2- What image do you have in flannel.yml, by default it's quay.io/coreos/flannel:vX.X.X, so you might have some leftovers from a different setup. Try to use default flannel image.
3- Which OS are you using ? If you have firewall enabled, you need to configure your firewall according to kubernetes ports.
4- Does your IPtables rules match with the required, coreDNS IPtables rules ?
Feel free to reach to me via Linkedin or mail for more detailed investigations and responds.