Private Network with Public Peer

I know how I can create a private network, but I want to have in this network one node which is able to make the data in the private network accessible to the public network and make data from the public network accessible to the private network. Those nodes should of course never expose any peers in the private network, but proxy all the traffic and also cache it. Those nodes would then kind of act like a gateway or proxy to the public network.