ICANN has said they will never delegate .internal and it should be used for these kinds of private uses.
I'm a coauthor on this Internet draft so I'm ofc rather biased.
To resolve names, you can ask /etc/hosts for the name / IP conversion; you can also ask DNS, or ldap or NIS; probably there are many I've forgotten about.
solaris: https://docs.oracle.com/cd/E19683-01/806-4077/6jd6blbbe/inde...
glibc: https://man7.org/linux/man-pages/man5/nsswitch.conf.5.html
musl appears to not have an nsswitch.conf or a way to configure name to number resolution behavior?