Yes, it is absolutely possible to set up CM and CDH on a closed, internal network, but it requires some configuration.
The two most important services you will need to set up on the internal network is NTP, and DNS.
Time sync is essential, so you should set up an NTP server somewhere on the internal network, and point all the host to that in ntp.conf.
Also true for DNS - although putting the hostnames and IP adresses in /etc/hosts are possible, it is cumbersome and error prone if you have more than a few hosts.
A small Web server on the network can be used as a distribution point for CM, CM agent and CDH files - if your hosts cannot download these from the internet, you will need to provide the files internally.
You might also consider setting up LDAP/Kerberos or Active Directory, if you would like to have centralized user/group management, and added security.
These are the basic services you should consider implementing. NTP is needed, as you cannot achieve time synchronization otherwise. The others are optional (could be worked around), but would make your life much easier.