This appears to be some sort of homework question?
It's also not very clear what you're after.
Yeah, I actually know what tunneling is. I've needed it when I needed IPv6 and only had IPv4 available to me.
Is this a homework question?
Why are you seemingly offering money?
Also...
Do you actually know where you are? (Hint: It's linux.org, a site about Linux. You definitely don't need Linux to tunnel, and you certainly don't need Linux for Java. We're a Linux *support* site.)
my providerThe train I took to and from work today went through a tunnel.
I'm looking for a programmer
You can just rent a vps that is accessible from the internet, then setup an openvpn server on that vps. Assuming the server which is not accessible from the internet but does have internet access you could then configure as vpn client that connect to your vps running an openvpn server. In that way it has vpn network access to the vps which does have internet access then you can create firewall rules on the vps with internet access to route the traffic coming in to your system is connected to your vpn network. You don't need a programmer to write a new solution, you can use tools that already exist to create a solution.
I need a Java programmer who understands the "netty" frameworkAre you actually incapable of searching ?
I'm going to lock this.