yes, you could setup your private chain and indicate which nodes are allowed to connect to your blockchain.
1-define the same genesis file and the same network id.
2-use the following options to restrict the allowed node :
--nodiscover
: Use this option to make sure that your node is not discoverable by people who do not manually add you.
--maxpeers
value Maximum number of network peers (network disabled if set to 0) (default: 25)
you could also define the desired nodes on geth boot using :
--bootnodes
value Comma separated enode URLs for P2P discovery bootstrap
or do it after geth launch by using admin.addNode()
you could check the connected node using admin.peers